Google Cloud Platform SSO

更新时间:
复制 MD 格式

本文阐述了Google Cloud Platform(GCP)通过Workforce Identity Federation机制实现企业级单点登录(SSO)的技术方案,涵盖基于 OIDC 协议的身份池配置、外部IdP集成、临时凭据生成及IAM权限管理全流程,重点解决企业用户无需维护独立Google账号即可安全访问云资源的场景需求。

配置流程

一、在IDaaS配置Google应用

  1. 创建OIDC应用。

    1. 登录IDaaS控制台,选择对应的IDaaS实例,单击操作列的访问控制台。

    2. 单击应用 > 添加应用 > 标准协议,添加 OIDC 应用 。

  2. 获取配置参数。

    1. client_id 和 client_secret,在OIDC 应用详情页的通用配置页签处获取。

    2. Issuer 地址,在登录访问 > 单点登录页签的应用配置信息处获取。

  3. 填写GCP参数,完成GCP配置后填写以下参数。

    1. 登录 Redirect URI。设置用户对控制台的访问权限,请将以下重定向网址添加至此。在 登录 Redirect URI 字段中填入地址:

      https://auth.cloud.google/signin-callback/locations/global/workforcePools/WORKFORCE_POOL_ID/providers/WORKFORCE_PROVIDER_ID
      说明

      需要替换以下内容:

      • WORKFORCE_POOL_ID:员工身份池 ID

      • WORKFORCE_PROVIDER_ID:创建员工身份池提供方的 ID。

    2. 登录发起地址。GCP添加身份提供方后会生成登录访问地址,为方便用户访问,可将登录地址配置到IDaaS应用中,实现用户使用企业身份一键登录 GCP 控制台。

      1. IDaaS应用中展开显示高级配置,SSO 发起方选择支持门户和应用发起,将下面的登录网址复制到登录发起地址。

      2. GCP添加身份提供方后,可在创建的员工身份池,登录网址处获取登录地址。

二、创建员工身份池

  1. 登录 Google Cloud控制台,在左侧导航栏单击IAM 和管理 > 员工身份联合。

  2. 在员工身份池页面,单击创建池按钮。进入添加新的员工池和提供方配置页面。

  3. 配置身份池基本信息。页面提示池 ID 会用作 IAM 中的标识符,且以后无法更改。如需自定义池 ID,可单击池 ID 旁的修改链接进行编辑。

    1. 填写身份池名称,在名称字段中输入身份池名称。

    2. 填写描述信息(可选),在描述字段中输入身份池的用途说明(如用于XX业务的联合身份认证)。

    3. 填写完成后,单击下一步。系统将创建身份池,最长耗时约为2分钟。

  4. 在选择身份验证协议中,从下拉列表选择身份验证协议类型:

    • OpenID Connect (OIDC)

    • SAML

    说明

    本文以 OpenID Connect (OIDC) 协议为例进行配置说明,请根据实际业务需求选择对应协议。

三、配置身份提供方

  1. 创建池提供方。选择身份验证协议为 OpenID Connect (OIDC),在「创建池提供方」区域填写各字段后,确认启用提供方开关已开启,单击继续。

    字段

    说明

    名称

    身份提供方的全称,用于标识认证服务提供方。

    提供方ID

    身份池ID。

    说明

    授权场景下的描述信息,当向第三方身份授予访问权限时展示。

    颁发者

    IDaaS添加的OIDC应用,单点登录配置中的 Issuer 地址。

    客户端ID

    OIDC应用的唯一标识符client_id,用于与身份提供方建立信任关系。

  2. 流类型。

    字段

    说明

    流类型

    在流类型中,选择code。

    断言声明行为

    在断言声明行为中,选择以下任一选项:

    • 用户信息和 ID 令牌

    • 仅 ID 令牌

    客户端密钥

    OIDC应用的client_secret。

  3. 配置提供方。

    1. 在配置属性映射时,需在OIDC配置项中指定IdP的主题字段(如assertion.sub)或使用返回字符串的CEL表达式进行映射。

      在 详细日志记录 区域开启 启用属性值审核日志记录 开关,然后单击 提交 完成提供方配置。

    2. 配置完成后,单击确定。等待身份提供方创建完成。配置完成后,提供方添加成功。此提供方中的身份将能够访问云资源。如需调整,可单击修改提供方进行编辑,或随时停用该提供方。

四、为身份提供方授予IAM权限

  1. 进入创建的员工身份池详情页面,获取IAM 主账号地址。在 员工身份联合 的 Workforce pool details 页面中,找到 IAM 主账号 字段,复制以 principalSet://iam.googleapis.com/ 开头的主体标识符地址,该地址将在后续 IAM 授权步骤中作为主账号填写。

  2. 在左侧导航栏进入IAM页面,单击授予访问权限。

    1. 添加主账号。填写IAM 主账号地址。

    2. 分配角色。根据实际需求,分配相应角色。配置完成后,单击保存。

五、验证SSO

  1. IDaaS侧验证。

    完成 SSO 登录配置后,您可以从 IDaaS 用户门户侧发起 SSO 登录。

    1. 登录IDaaS用户门户。

    2. 单击访问创建的 OIDC 应用。在我的应用页面,单击 GoogleCloud 应用。

    3. 系统将自动跳转至Google Cloud控制台。

  2. GCP侧验证。

    1. 左侧导航栏单击IAM和管理 > 员工身份联合。

    2. 打开已创建的员工身份池详情页,在提供方处单击登录网址。

    3. 系统将自动跳转至 IDaaS 门户登录页,登录后即可访问 Google Cloud 控制台。