配置第三方身份提供方
本指南面向希望通过第三方身份提供方 (IdP) 在 Google SecOps 上对员工(用户和群组)进行身份验证的 Google Security Operations 管理员。借助Google Cloud 员工身份联合,可以实现此流程。
员工身份联合支持使用安全断言标记语言 (SAML 2.0) 或 OpenID Connect (OIDC) 的任何 IdP,例如 Okta、Microsoft Entra ID 和 Microsoft Active Directory Federation Services (AD FS)。
本文档介绍了使用员工身份联合通过基于 SAML 的 IdP 设置身份验证的简要步骤。
- 规划所需的资源。确定员工身份池和提供方详细信息,并确定配置对 Google SecOps 中各项功能的访问权限所需的用户属性和群组。
- 配置第三方 IdP 应用。创建 IdP SAML 应用以与员工身份联合和 Google SecOps 集成。
- 配置员工身份联合。配置员工身份池和提供方,并向 IdP 群组和用户授予 Google Cloud Identity and Access Management (IAM) 角色。
- 使用新创建的提供方配置单点登录 (SSO)。
完成这些步骤后,您可以使用身份提供方登录 Google SecOps,并通过 IAM 使用基于功能的角色访问权限控制 (RBAC) 来管理用户访问权限。
常见使用场景
Google SecOps 要求使用员工身份联合作为各种应用场景的 SSO 代理。
遵守严格的安全标准
- 目标:满足严格的系统和云访问监管标准。
- 价值:通过安全地代理 SSO,帮助满足 FedRAMP 高风险级别(或更高级别)合规性要求。
管理企业访问权限控制
- 目标:在整个组织内集中控制功能和数据访问权限。
- 价值:通过使用 IAM 在 Google SecOps 中实现企业级 RBAC。
自动执行 API 程序化访问
- 目标:提供自助服务方法,以便安全地与 Chronicle API 进行交互。
- 价值:让客户以程序化方式管理其凭据,从而减少人工管理开销。
主要术语
- 员工池:在组织级别定义的全局唯一 Google Cloud 资源,用于授予员工对 Google SecOps 的访问权限。
- 员工提供方:员工身份池的子资源,用于存储单个外部 IdP 的配置详细信息。
- 属性映射:使用通用表达式语言 (CEL) 将 IdP 提供的断言属性转换为 Google Cloud 属性的过程。
- 断言消费者服务 (ACS) 网址:用于配置 SAML 应用以与 Google SecOps 通信的特定网址(有时称为单点登录网址,具体取决于提供方)。
- 实体 ID:一个全局唯一的标识符网址,用于标识特定应用或服务(例如 Google SecOps),并在您的 IdP 中配置 SAML 应用。
过程概览
Google SecOps 支持用户使用服务提供商发起的 (SP 发起的) SAML SSO。借助此功能,用户可以直接前往 Google SecOps。 Google SecOps 通过 IAM 员工身份联合向第三方 IdP 发出请求。
IdP 对用户身份进行身份验证后,系统会向 Google SecOps 返回一个身份验证断言。 Google Cloud 员工身份联合在身份验证流程中充当中间方。
Google SecOps、IAM 员工身份联合与 IdP 之间的通信
概括来讲,通信流程如下:
- 用户前往 Google SecOps。
- Google SecOps 会在 Google Cloud员工身份池中查找 IdP 信息。
- 系统会向 IdP 发送请求。
- SAML 断言会发送到 Google Cloud 员工身份池。
- 如果身份验证成功,Google SecOps 仅会收到您在员工身份池中配置员工提供方时定义的 SAML 属性。
Google SecOps 管理员在其身份提供方中创建群组,配置 SAML 应用以在断言中传递群组成员资格信息,并将用户和群组与 Google SecOps IAM 中的预定义角色或他们创建的自定义角色相关联。
准备工作
- 熟悉 Cloud Shell、
gcloud命令和 Google Cloud 控制台。 - 为 Google SecOps 配置 Google Cloud 项目,以设置绑定到 Google SecOps 的项目。
- 查看 Google Cloud 员工身份联合。
- 确保您拥有执行本文档中的步骤所需的权限。 如需了解在注册流程的每个阶段所需的权限,请参阅所需角色。
规划实施
本部分介绍了您在执行本文档中的步骤之前必须做出的决策和定义的信息。
定义员工身份池和员工提供方
如需通过 IdP 设置身份验证,您需要将员工身份联合配置为身份验证流程中的中介。在配置员工身份联合之前,请先定义以下Google Cloud 资源:
员工身份池、员工提供方和 Google SecOps 实例(由单个客户子网域标识)之间的关系如下所示:
- 员工身份池是在组织级别定义的。
- 每个 Google SecOps 实例都配置了一个员工身份池并与之关联。
- 一个员工身份池可以有多个员工提供方。
每个员工提供方都将第三方 IdP 与员工身份池集成在一起。
员工身份池必须专用于 Google SecOps。 您无法将为 Google SecOps 创建的池用于其他用途。
您必须在包含绑定到 Google SecOps 的项目的同一Google Cloud 组织中拥有员工身份池。
以下是有关如何为员工池和员工提供方定义密钥标识符值的指南:
- 员工池 ID (
WORKFORCE_POOL_ID):定义一个值,用于指明员工身份池的范围或用途。该值必须满足以下要求:- 必须是全局唯一的。
- 只能使用小写字符 [a-z]、数字 [0-9] 和短划线 [-]。
- 必须以小写字符 [a-z] 开头。
- 必须以小写字符 [a-z] 或数字 [0-9] 结尾。
- 长度在 4 到 61 个字符之间。
- 员工身份池显示名称 (
WORKFORCE_POOL_DISPLAY_NAME):定义员工身份池的易记名称。 - 员工池说明 (
WORKFORCE_POOL_DESCRIPTION):定义员工身份池的详细说明。 - 员工提供方 ID (
WORKFORCE_PROVIDER_ID):定义一个表示相应 IdP 的值。该值必须满足以下要求:- 只能使用小写字符 [a-z]、数字 [0-9] 和短划线 [-]。
- 长度在 4 到 32 个字符之间。
- 员工提供方显示名称 (
WORKFORCE_PROVIDER_DISPLAY_NAME):为员工提供方定义一个便于用户理解的名称。长度必须少于 32 个字符。 - 员工提供方说明 (
WORKFORCE_PROVIDER_DESCRIPTION):定义员工提供方的详细说明。
在 IdP 中定义用户属性和群组
在 IdP 中创建 SAML 应用之前,请先确定配置 Google SecOps 中的功能访问权限所需的用户属性和群组。典型的用户属性包括:
- 主题
- 电子邮件
- 名字
- 姓氏
- 显示名称
在此流程的以下阶段,您需要了解用户群组和属性的相关信息:
配置 SAML 应用时,您需要创建规划期间定义的群组。 您可以配置 IdP SAML 应用,以在断言中传递群组成员身份。
创建员工提供方时,您需要将断言属性和群组映射到 Google Cloud 属性。此信息会作为用户身份的一部分在断言声明中发送。
配置 IdP 应用
本部分仅介绍 IdP SAML 应用中与 Google Cloud 员工身份联合和 Google SecOps 集成所需的特定配置。如需了解详细步骤,请参阅 IdP 文档。
在 IdP 中创建群组(如果尚未创建)。
根据最佳实践,请使用群组而非单个用户账号来管理对 Google SecOps 实例的访问权限。Google 建议在 IdP 中创建与默认 Google SecOps 角色直接对应的群组。
请参阅以下示例:
Google SecOps 角色 IdP 群组(建议) Chronicle API Admin chronicle_secops_admins Chronicle API Editor chronicle_secops_editor Chronicle API Viewer chronicle_secops_viewer 在 IdP 中创建新的 SAML 应用。
使用以下内容配置应用:
指定断言使用方服务 (ACS) 网址,该网址也称为单点登录网址,具体取决于服务提供商。
https://auth.backstory.chronicle.security/signin-callback/locations/global/workforcePools/WORKFORCE_POOL_ID/providers/WORKFORCE_PROVIDER_ID替换以下内容:
WORKFORCE_POOL_ID:您为员工身份池定义的标识符。WORKFORCE_PROVIDER_ID:您为员工提供方定义的标识符。
如需查看值说明,请参阅定义员工身份池和员工身份提供方。
指定以下实体 ID(也称为 SP 实体 ID)。
https://iam.googleapis.com/locations/global/workforcePools/WORKFORCE_POOL_ID/providers/WORKFORCE_PROVIDER_ID在 IdP 中配置名称标识符,以确保在 SAML 响应中返回
NameID字段。您可以将此属性设置为支持组织政策的值,例如电子邮件地址或用户名。如需了解如何配置此值,请参阅您的 IdP 文档。如需详细了解此要求,请参阅排查员工身份联合问题。
添加属性语句,以便将用户信息从 IdP 传递到应用集成。您在规划 IdP 实现时定义了属性。
例如,下表列出了您可以在常用的(广告技术提供商)IdP(例如 Okta、Microsoft AD FS 或 Entra ID)中添加的用户属性声明:
属性名称 Okta 值(表达式) AD FS / Entra ID(源属性) subjectuser.emailuser.mail或user.userprincipalnameemailaddressuser.emailuser.mailfirst_nameuser.firstNameuser.givennamelast_nameuser.lastNameuser.surnamedisplay_nameuser.displayNameuser.displayname如果您要配置 Okta IdP 应用,请务必在添加属性时选择 Unspecified 作为格式。如果使用 Microsoft AD FS 或 Entra ID 作为 IdP,请将命名空间留空。
(可选)在 IdP 应用中添加群组属性,例如
groups。在 IdP 中为应用分配相应的群组和用户。
这些群组和用户将获授权访问 Google SecOps。
下载应用元数据 XML 文件。
在下一部分中,您将在配置员工身份提供方时使用此元数据文件。 如果您使用 Google Cloud CLI,则需要使用 Cloud Shell 将此文件从本地系统上传到您的 Google Cloud 主目录 。
配置员工身份联合
本部分仅介绍使用您在上一部分中创建的 IdP SAML 应用配置员工身份联合所需的具体步骤。如需详细了解如何管理员工身份池,请参阅管理员工身份池提供方
设置结算项目和配额项目
以对 Google SecOps 绑定项目具有所需权限的用户身份打开 Google Cloud 控制台。您之前已识别或创建此用户。 请参阅准备工作部分。
启动 Cloud Shell 会话。
设置 Google Cloud 项目,该项目将用于结算和配额计算,以用于使用 gcloud CLI 执行的操作。以下面的
gcloud命令为例:gcloud config set billing/quota_project PROJECT_ID将
PROJECT_ID替换为您在为 Google SecOps 配置项目中创建的与 Google SecOps 绑定的项目的 ID。 Google Cloud 如需了解用于标识项目的字段,请参阅创建和管理项目。如需了解配额,请参阅以下文档:
如果您遇到错误,请参阅排查配额错误。
创建并配置员工身份池
您可以配置员工身份池,以与外部身份提供方 (IdP) 或 Google Workspace 或 Cloud Identity 集成。
控制台
如需创建员工身份池,请执行以下操作:
在 Google Cloud 控制台中,前往员工身份池页面:
为员工身份池选择组织。员工身份池可在组织中的所有项目和文件夹中使用。
点击创建池,然后执行以下操作:
在名称字段中,输入池的显示名称。池 ID 是根据您输入的名称自动派生的,并显示在名称字段下方。您可以点击池 ID 旁边的修改来更新池 ID。
可选:在说明中,输入池的说明。
点击下一步。
员工身份池的会话时长默认为 1 小时。此时长用于确定 Google Cloud 访问令牌、Google Cloud 员工身份联合控制台和 gcloud CLI 登录会话的有效时长。您可以更新池以设置介于 15 分钟到 12 小时之间的自定义会话时长。
gcloud
创建员工身份池。
以下面的
gcloud命令为例:gcloud iam workforce-pools create WORKFORCE_POOL_ID\ --location="global" \ --organization=ORGANIZATION_ID \ --description="WORKFORCE_POOL_DESCRIPTION" \ --display-name="WORKFORCE_POOL_DISPLAY_NAME" \ --session-duration=SESSION_DURATION替换以下内容:
WORKFORCE_POOL_ID:您为员工身份池 ID 定义的值。ORGANIZATION_ID:组织的数字 ID。WORKFORCE_POOL_DESCRIPTION:员工身份池的可选说明。WORKFORCE_POOL_DISPLAY_NAME:员工身份池的可选用户友好名称。SESSION_DURATION:会话时长的可选值,以附加了s的数字表示,例如3600s。此时长用于确定 Google Cloud访问令牌、Google Cloud 员工身份联合控制台和 gcloud CLI 登录会话的有效时长。您可以更新池以设置介于 15 分钟到 12 小时之间的自定义会话时长。
如需使用 Google Workspace 或 Cloud Identity 登录 Google SecOps,请向命令添加
--allowed-services domain=backstory.chronicle.security和--disable-programmatic-signin标志。gcloud iam workforce-pools create WORKFORCE_POOL_ID\ --location="global" \ --organization="ORGANIZATION_ID" \ --description="WORKFORCE_POOL_DESCRIPTION" \ --display-name="WORKFORCE_POOL_DISPLAY_NAME" \ --session-duration=SESSION_DURATION \ --allowed-services domain=backstory.chronicle.security \ --disable-programmatic-signin此命令会创建一个不支持登录 Google Cloud的员工身份池。如需启用登录功能,您需要针对每种情形使用相应的标志。
如果系统提示您启用 Chronicle API,请输入
Yes。
创建员工身份池提供方
员工身份池提供方描述了Google Cloud 组织和 IdP 之间的关系。
控制台
如需配置员工身份池提供方,请执行以下操作:
在 Google Cloud 控制台中,前往员工身份池页面:
在员工身份池表中,选择要为其创建提供方的池。
在提供方部分中,点击 添加提供方。
在选择提供方供应商中,选择您的 IdP。
如果您的 IdP 未列出,请选择通用身份提供方。
在选择身份验证协议中,选择 SAML。
在创建提供方部分中,执行以下操作:
在名称中,输入提供方的名称。
可选:在说明中,输入提供方的说明。
在 IDP 元数据文件 (XML) 中,选择您在本指南前面部分生成的元数据 XML 文件。
确保启用提供方处于开启状态。
点击继续。
在分享提供方信息部分中,复制相应网址。在您的 IdP 中,将第一个网址配置为实体 ID,用于向 IdP 标识应用。 将另一个网址配置为重定向 URI,以便 IdP 知晓在登录后将断言令牌发送到何处。
点击继续。
在配置提供方部分中,执行以下操作:
在属性映射中,在相应的框中输入映射。例如:
Google X(其中 X 是一个数字) SAML X(其中 X 是一个数字) google.subjectassertion.subjectgoogle.groupsassertion.attributes.groupsgoogle.display_nameassertion.attributes.display_name[0]attribute.first_nameassertion.attributes.first_name[0]attribute.last_nameassertion.attributes.last_name[0]attribute.user_emailassertion.attributes.emailaddress[0]可选:如果您选择了 Microsoft Entra ID 作为 IdP,则可以通过执行以下操作来增加群组数量:
- 选择使用额外属性。
- 在额外属性签发方 URI 字段中,输入签发方网址。
- 在额外属性客户端 ID 字段中,输入客户端 ID。
- 在额外属性客户端密钥字段中,输入客户端密钥。
- 在额外属性类型列表中,选择额外属性的属性类型。
- 在额外属性过滤条件字段中,输入在查询 Microsoft Graph API 以获取群组时使用的过滤条件表达式。
可选:如需添加属性条件,请点击添加条件,然后输入表示属性条件的 CEL 表达式。例如,如需将
ipaddr属性限制为特定 IP 范围,您可以设置条件assertion.attributes.ipaddr.startsWith('98.11.12.')。 此示例条件可确保只有 IP 地址以98.11.12.开头的用户才能使用此员工提供方登录。如需启用详细审核日志记录,请在详细日志记录中点击启用属性值审核日志记录切换开关。
如需创建提供方,请点击提交。
gcloud
如需配置员工身份池提供方,请执行以下操作:
点击 更多 >,将 SAML 应用元数据文件上传到 Cloud Shell 主目录。文件只能上传到主目录。如需了解在 Cloud Shell 和本地工作站之间传输文件的更多方法,请参阅从 Cloud Shell 上传和下载文件及文件夹。
记下您在 Cloud Shell 中上传 SAML 应用元数据 XML 文件的目录路径。您将在下一步中用到此路径。
创建员工身份池提供方并指定 IdP 详细信息。
以下面的
gcloud命令为例:gcloud iam workforce-pools providers create-saml WORKFORCE_PROVIDER_ID \ --workforce-pool="WORKFORCE_POOL_ID" \ --location="global" \ --display-name="WORKFORCE_PROVIDER_DISPLAY_NAME" \ --description="WORKFORCE_PROVIDER_DESCRIPTION" \ --idp-metadata-path=PATH_TO_METADATA_XML \ --attribute-mapping="ATTRIBUTE_MAPPINGS"如需了解各个值的说明,请参阅规划实现。
替换以下内容:
WORKFORCE_PROVIDER_ID:您为员工提供方 ID 定义的值。WORKFORCE_POOL_ID:您为员工身份池 ID 定义的值。WORKFORCE_PROVIDER_DISPLAY_NAME:员工提供方的可选易记名称。其长度必须少于 32 个字符。WORKFORCE_PROVIDER_DESCRIPTION:员工提供方的可选说明。PATH_TO_METADATA_XML:您使用 Cloud Shell 上传的应用元数据 XML 文件的 Cloud Shell 目录位置,例如:/path/to/sso_metadata.xml。ATTRIBUTE_MAPPINGS:有关如何将断言属性映射到 Google Cloud 属性的定义。通用表达式语言用于解读这些映射。例如:google.subject=assertion.subject,google.display_name=assertion.attributes.name[0],google.groups=assertion.attributes.groups
上例映射了以下属性:
assertion.subject转换为google.subject。这是最低要求。- 将
assertion.attributes.name[0]映射到google.display_name。 assertion.attributes.groups到google.groups属性。
如果您要为 Google Security Operations(包括 Google Security Operations SIEM 和 Google SecOps SOAR)执行此配置,还必须映射 Google SecOps SOAR 所需的以下属性:
attribute.first_nameattribute.last_nameattribute.user_emailgoogle.groupsgoogle.display_name
因此,完整的映射如下所示:
google.subject=assertion.subject,google.groups=assertion.attributes.groups,attribute.first_name=assertion.attributes.first_name[0],attribute.last_name=assertion.attributes.last_name[0],attribute.user_email=assertion.attributes.emailaddress[0],google.display_name=assertion.attributes.display_name[0]如需了解详情,请参阅为 Google SecOps SOAR 配置和映射用户。
默认情况下,Google SecOps 会从以下不区分大小写的断言属性名称中读取群组信息:
_assertion.attributes.groups_、_assertion.attributes.idpGroup_和_assertion.attributes.memberOf_。在配置 SAML 应用以在断言中传递群组成员资格信息时,请将群组属性名称设置为
_group_、_idpGroup_或_memberOf_。在示例命令中,您可以将
assertion.attributes.groups替换为assertion.attributes.idpGroup或assertion.attributes.memberOf,它们表示您在 IdP SAML 应用中配置的组属性的名称,并且包含断言中的群组成员资格信息。以下示例将多个群组映射到
google.groups属性:google.groups="(has(assertion.attributes.idpGroup) ? assertion.attributes.idpGroup : []) + (has(assertion.attributes.groups) ? assertion.attributes.groups : []) + (has(assertion.attributes.memberof) ? assertion.attributes.memberof : [])"以下示例将包含特殊字符的群组
http://schemas.xmlsoap.org/ws/2005/05/identity/claims/group映射到google.groups:google.groups="assertion.attributes['http://schemas.xmlsoap.org/ws/2005/05/identity/claims/group']"如需详细了解如何映射属性,请参阅属性映射。
授予角色以启用 Google SecOps 登录
以下步骤介绍了如何使用 IAM 授予特定角色,以便员工身份池中的群组和用户可以登录 Google SecOps。使用您之前创建的与 Google SecOps 绑定的 Google Cloud 项目执行配置。
控制台
在 Google Cloud 控制台中,前往 IAM 页面。
选择与 Google SecOps 绑定的 Google Cloud 项目。
在按正文查看Tab 页中,点击 授予访问权限。
在添加主账号部分的新的主账号字段中,输入主账号标识符。
例如:
如需添加之前创建的员工身份池和员工提供方管理的所有身份,请输入以下内容:
principalSet://iam.googleapis.com/locations/global/workforcePools/WORKFORCE_POOL_ID如需添加特定群组作为主账号,请输入以下内容:
principalSet://iam.googleapis.com/locations/global/workforcePools/WORKFORCE_POOL_ID/group/GROUP_ID
替换以下内容:
WORKFORCE_POOL_ID:您为员工身份池 ID 定义的值。GROUP_ID:映射的google.groups声明中的群组。您必须在 IdP 中创建此群组。
在分配角色部分,选择或搜索适用的 Chronicle API 角色,例如 Chronicle API Viewer (
roles/chronicle.viewer)。点击保存。
针对要授予角色的每个正文重复第 3 步到第 5 步。
gcloud
向应有权访问 Google SecOps 应用的用户或群组授予 Chronicle API Viewer (
roles/chronicle.viewer) 角色。- 以下示例向使用您之前创建的员工身份池和员工提供方管理的身份授予 Chronicle API 查看者角色。
gcloud projects add-iam-policy-binding PROJECT_ID \ --role roles/chronicle.viewer \ --member "principalSet://iam.googleapis.com/locations/global/workforcePools/WORKFORCE_POOL_ID/*"替换以下内容:
- 将
PROJECT_ID替换为您在为 Google SecOps 配置项目中配置的与 Google SecOps 绑定的项目的项目 ID。 Google Cloud 如需了解用于标识项目的字段,请参阅创建和管理项目。 WORKFORCE_POOL_ID:您为员工身份池 ID 定义的值。如需向特定群组授予 Chronicle API 查看者角色,请运行以下命令:
gcloud projects add-iam-policy-binding PROJECT_ID \ --role roles/chronicle.viewer \ --member "principalSet://iam.googleapis.com/locations/global/workforcePools/WORKFORCE_POOL_ID/group/GROUP_ID"替换
GROUP_ID:映射的google.groups声明中的群组。您必须在 IdP 中创建此群组。配置其他 IAM 政策,以满足组织的要求。
必需:如需完成身份验证并允许用户访问 Google SecOps 平台,您需要在 Google SecOps 的 SOAR 端配置用户访问权限。如需了解详情,请参阅在 Google SecOps 平台中映射用户。
重复上述步骤,以授予其他角色。
为 Google SecOps 实例配置单点登录
将第三方 IdP 与 Google SecOps 集成的最后一步是配置 SSO。完成此步骤后,用户将能够使用其 IdP 凭据登录 Google SecOps。
以下是配置单点登录的步骤:
- 在 Google Cloud 控制台中,前往安全性 > Google SecOps 页面。
- 点击单点登录标签页,然后选择员工身份联合。
- 从可用提供方列表中,选择您在创建员工身份池提供方中创建的员工身份联合提供方。
- 点击保存。
管理员工身份联合配置
本部分介绍了如何更新提供商设置,以及如何验证用户访问权限级别是否配置正确。
验证或配置 Google SecOps 功能访问权限控制
如果您配置了员工身份联合,并将属性或群组映射到 google.groups 属性,则此信息会传递给 Google SecOps,以便您为 Google SecOps 功能配置 RBAC。
如果 Google SecOps 实例具有现有的 RBAC 配置,请验证原始配置是否按预期运行。
如果您之前未配置访问权限控制,请参阅使用 IAM 配置功能访问权限控制,了解如何控制对功能的访问权限。
修改员工身份联合配置
如果您需要更新员工身份池或员工提供方,请参阅管理员工身份池提供方,了解如何更新配置。
创建 SAML 员工身份池提供方中的密钥管理部分介绍了如何更新 IdP 签名密钥,然后使用最新的应用元数据 XML 文件更新员工提供方配置。
控制台
如需更新特定员工池,请执行以下操作:
进入员工身份池页面。
在表格中,选择相应池。
更新池参数。
点击保存池。
如需更新提供方,请执行以下操作:
进入员工身份池页面。
在表中,选择要更新其提供方的池。
在提供方表中,点击 修改。
更新提供方详细信息。
如需保存更新后的提供方详细信息,请点击保存。
gcloud
以下是更新劳动力提供商配置的 gcloud 命令示例:
gcloud iam workforce-pools providers update-saml WORKFORCE_PROVIDER_ID \
--workforce-pool=WORKFORCE_POOL_ID \
--location="global" \
--display-name="WORKFORCE_PROVIDER_DISPLAY_NAME" \
--description="WORKFORCE_PROVIDER_DESCRIPTION" \
--idp-metadata-path=PATH_TO_METADATA_XML \
--attribute-mapping="ATTRIBUTE_MAPPINGS"
替换以下内容:
WORKFORCE_PROVIDER_ID:您为员工提供方 ID 定义的值。WORKFORCE_POOL_ID:您为员工身份池 ID 定义的值。WORKFORCE_PROVIDER_DISPLAY_NAME:员工提供方的易记名称。该值必须少于 32 个字符。WORKFORCE_PROVIDER_DESCRIPTION:员工提供方的说明。PATH_TO_METADATA_XML:更新后的应用元数据 XML 文件的位置,例如:/path/to/sso_metadata_updated.xml。ATTRIBUTE_MAPPINGS:映射到 Google Cloud 属性的已映射断言属性。例如:
google.subject=assertion.subject,google.display_name=assertion.attributes.name[0],google.groups=assertion.attributes.memberOf
排查配置问题
如果您在此过程中遇到错误,请参阅排查员工身份联合问题,以解决常见问题。以下部分提供了有关执行本文档中的步骤时遇到的常见问题的信息。
如果您仍然遇到问题,请与您的 Google SecOps 代表联系,并提供您的 Chrome 网络日志文件。
找不到命令
创建员工身份池提供方并指定 IdP 详细信息时,您会收到以下错误:
Error: bash: --attribute-mapping=google.subject=assertion.subject,
google.display_name=assertion.attributes.name[0],
google.groups=assertion.attributes.groups: command not found
检查 PATH_TO_METADATA_XML 是否是您将 SAML 应用元数据 XML 文件上传到 Cloud Shell 主目录的位置。
调用方无权限
运行命令 gcloud projects add-iam-policy-binding 向用户或群组授予角色时,您会收到以下错误:
ERROR: (gcloud.organizations.add-iam-policy-binding) User [ ] does not have
permission to access organizations instance [538073083963:getIamPolicy]
(or it may not exist): The caller does not have permission
检查您是否拥有所需的权限。如需了解详情,请参阅必需的角色。
验证失败:请求中缺少会话 ID
尝试进行身份验证时,您会在浏览器中看到以下错误:
Verification failure: missing session ID in request
检查 ACS 和实体 ID 基本网址是否正确。如需了解详情,请参阅配置 IdP 应用。
后续步骤
完成本文档中的步骤后,请执行以下操作:
如果您尚未设置审核日志记录,请继续启用 Google SecOps 审核日志记录。
如果您要为 Google Security Operations 进行配置,请按照在 Google Security Operations 中配置、验证用户身份并映射用户中的步骤执行额外操作。
如需配置对功能的访问权限,请按照使用 IAM 配置功能访问权限控制和 IAM 中的 Google SecOps 权限中的步骤操作。
需要更多帮助?获得社区成员和 Google SecOps 专业人士的解答。