配置身份提供方

如需在 Gemini Enterprise 中强制实施数据源访问权限控制并保护数据安全,您必须配置身份提供方。这包括设置身份提供方和管理数据源的权限。Google 会使用您的身份提供方来识别执行搜索的最终用户,并确定他们是否有权访问作为搜索结果返回的文档。

选择身份提供方类型

您选择的身份提供方类型取决于与 Gemini Enterprise 应用关联的数据源。Gemini Enterprise 支持以下选项:

身份提供方类型 何时使用
Google 身份 将 Gemini Enterprise 与 Google Workspace 数据源相关联时,您必须使用 Google 身份

在配置 Google 身份之前,您必须确定组织使用的唯一身份用户属性,通常是用户的邮箱。如果用户有多个邮箱,则必须为其添加邮件别名
第三方身份提供商 如果您仅将 Gemini Enterprise 与第三方数据源相关联,并且已在使用支持 OIDC 或 SAML 2.0 的第三方身份提供方(例如 Microsoft Entra ID、Active Directory Federation Services [AD FS]、Okta 等),则必须使用员工身份联合。如需了解详情,请参阅员工身份联合

在配置员工身份联合之前,您必须确定组织使用的唯一身份用户属性,并且必须将这些属性与员工身份联合进行映射。

适用于第三方身份提供方的员工身份联合

本部分介绍如何为第三方身份提供方配置员工身份联合。(可选)您还可以验证员工身份联合设置是否按预期正常工作。

配置员工身份联合

如需详细了解如何使用第三方身份连接器配置员工身份联合,请参阅以下资源:

身份提供商 资源
Entra ID
Okta
OIDC 或 SAML 2.0

配置属性映射

借助属性映射,您可以使用员工身份联合将第三方身份信息与 Google 相关联。

在员工身份联合中配置属性映射时,请考虑以下事项:

  • google.subject 属性必须映射到第三方数据源中用于唯一标识最终用户的字段。例如,邮箱、主账号名称、用户 ID 或员工 ID。

  • 如果贵组织有多个唯一标识符,请使用 attribute.as_user_identifier_number between 1 and 50 属性映射组织的这些唯一身份属性。

    例如,如果贵组织在不同应用中同时使用邮箱和主账号名称作为用户标识符,并且主账号名称在第三方身份提供方处被设为 preferred_username,则您可以使用员工身份联合属性映射(例如 attribute.as_user_identifier_1=assertion.preferred_username)将其映射到 Gemini Enterprise。

  • 通过将 lowerAscii() 附加到属性映射配置,为属性使用小写值。与员工身份联合搭配使用时,Gemini Enterprise 搜索不区分大小写。这意味着,无论是提取的数据还是搜索查询,都会转换为小写。例如,如果用户的属性映射电子邮件地址为 CloudySanFrancisco@gmail.com,而文档访问权限基于电子邮件地址 cloudysanfrancisco@gmail.com,则 Gemini Enterprise 会将 CloudySanFrancisco@gmail.com 转换为 cloudysanfrancisco@gmail.com

以下是常用身份提供方的 google.subjectgoogle.groups 属性映射示例。

  • 使用 OIDC 协议的 Entra ID
    此示例使用邮箱来唯一标识用户。

    google.subject=assertion.email.lowerAscii()
    google.groups=assertion.groups
    google.display_name=assertion.given_name
    
  • 使用 SAML 协议的 Entra ID
    此示例使用 SAML 名称 ID 来唯一标识用户。

    google.subject=assertion.attributes['http://schemas.xmlsoap.org/ws/2005/05/identity/claims/emailaddress'][0].lowerAscii()
    google.groups=assertion.attributes['http://schemas.microsoft.com/ws/2008/06/identity/claims/groups']
    google.display_name=assertion.attributes['http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname'][0]
    
  • 使用 OIDC 协议的 Okta
    此示例使用邮箱来唯一标识用户。

    google.subject=assertion.email.lowerAscii()
    google.groups=assertion.groups
    
  • 使用 SAML 协议的 Okta
    此示例使用 JWT 的主题断言来唯一标识用户。

    google.subject=assertion.subject.lowerAscii()
    google.groups=assertion.attributes['groups']
    

可选:验证员工身份联合设置

如需使用员工身份联合审核日志记录功能验证登录是否成功以及属性映射是否正确,请执行以下操作:

  1. 为数据访问活动的 Security Token Service API 启用审核日志。

    1. 在 Google Cloud 控制台中,前往审核日志页面:

      前往审核日志

      如果您使用搜索栏查找此页面,请选择子标题为 IAM 和管理的结果。

    2. 选择现有的 Google Cloud 项目、文件夹或组织。
    3. 启用数据访问审核日志。
      1. 如需了解有关如何启用审核日志的详细步骤,请参阅 Logging 文档。
      2. 对于 Security Token Service API,请选择管理员读取审核日志类型。如需了解详情,请参阅员工身份联合日志示例
  2. 在员工池中启用详细日志记录。Microsoft Entra ID 的员工身份联合扩展群组功能不会生成详细的审核日志记录信息。

    1. 进入员工身份池页面。

      转到“员工身份池”

    2. 在表格中,选择相应池。

    3. 点击启用详细审核日志记录切换开关,将其切换到开启位置。

    4. 点击保存池

  3. 提供方部分,点击您的提供方的登录网址,然后以员工池用户身份登录 Google Cloud 控制台。

  4. 查看登录时生成的审核日志。

    1. 进入员工身份池页面。

      转到“员工身份池”

    2. 在该表中,选择您登录的池。

    3. 点击日志旁边的查看

    4. 在审核日志页面上,清除查询中的 protoPayload.resourceName 过滤条件。

    5. 点击运行查询

  5. 检查审核日志中是否有 google.identity.sts.SecurityTokenService.WebSignIn 方法与登录时间戳相符的条目。

  6. 确认日志中的 metadata.mapped_attributes 字段与您在为第三方身份提供方配置员工身份联合时使用的属性一致。

    例如:

    "metadata": {
      "mapped_attributes": {
        "attributes.as_user_identifier_1": "alex@admin.altostrat.com"
        "google.subject": "alex@altostrat.com"
        "google.groups": "[123abc-456d, efg-h789-ijk]"
      }
    },
    

限制

使用连接器关联数据源来创建数据存储区时,需要遵循以下限制:

  • 每个文档最多允许有 3,000 个读取者。每个主账号都算作一个读取者,其中主账号可以是群组或个人用户。

  • 在 Gemini Enterprise 中,您可以为每个受支持的位置选择一种身份提供方类型。

  • 如果通过更改身份提供方类型或员工池来更新身份提供方设置,现有数据存储区不会自动更新为新设置。您必须删除并重新创建这些数据存储区,才能应用新的身份设置。

  • 如需将数据源设置为受访问权限控制,您必须在创建数据存储区时选择此设置。您无法为现有数据存储区开启或关闭此设置。

  • 如需预览使用第三方访问权限控制的搜索应用的界面结果,您必须登录联合控制台或使用 Web 应用。请参阅预览应用

关联身份提供方

以下部分介绍如何使用Google Cloud 控制台关联身份提供方。

准备工作

在关联身份提供方之前,请先执行以下操作:

关联身份提供方

如需为 Gemini Enterprise 指定身份提供方并开启数据源访问权限控制,请按以下步骤操作:

  1. 在 Google Cloud 控制台中,前往 Gemini Enterprise 页面。

    Gemini Enterprise

  2. 依次点击设置 > 身份验证

  3. 找到要更新的位置,点击其对应的添加身份提供方按钮。

  4. 点击添加身份提供方,然后选择您的身份提供方类型。
    如果您选择第三方身份,则还需要选择适用于您的数据源的员工池。

  5. 点击保存更改

向用户授予权限

用户需要拥有 Discovery Engine User (roles/discoveryengine.user) 角色才能访问、管理和共享应用。

身份提供方类型 说明
Google 身份
  • 如果您使用 Google 身份,Google 建议您创建一个 Google 群组来包含使用该应用的所有员工。
  • 如果您是 Google Workspace 管理员,可以按照将组织中的所有用户添加到一个群组中中的步骤,将组织中的所有用户都添加到某个 Google 群组中。
  • 向用户授予 Discovery Engine User (roles/discoveryengine.user) 角色。如需详细了解如何添加该角色,请参阅向用户授予权限
第三方身份提供商

后续步骤