将 Microsoft SharePoint Online 与数据注入功能相关联

本页介绍了如何使用数据注入功能将 SharePoint Online 连接到 Gemini Enterprise。

本部分介绍了身份验证方法以及在 Gemini Enterprise 中创建 SharePoint Online 连接器并从 SharePoint Online 网站注入数据的步骤。

准备工作

如需在 Gemini Enterprise 中强制执行数据源访问权限控制并保护数据安全,请确保您已配置身份提供方

Entra 应用注册简介

您必须先设置 Entra 应用注册,以实现对 SharePoint 的安全访问,然后才能在 Gemini Enterprise 中创建连接器。注册应用的方式取决于您在 Gemini Enterprise 中创建连接器时选择的身份验证方法。您可以选择以下方法之一:

  • 联合凭证

    • 可让 Google 使用加密签名的令牌安全地访问 SharePoint,而无需实际的用户主账号。

    • 需要有正文 ID 才能在 Entra 中注册 Gemini Enterprise。在 Gemini Enterprise 中创建 SharePoint 连接器时,可以使用此方法。

    • 在 Entra 中注册应用时,您必须收集以下详细信息:

      • 实例 URI:
        • 对于所有第一级网站:https://DOMAIN_OR_SERVER.sharepoint.com,例如 mydomain.sharepoint.com
        • 对于单个网站:https://DOMAIN_OR_SERVER.sharepoint.com/[sites/]WEBSITE,例如 mydomain.sharepoint.com/sites/sample-site
      • 租户 ID
      • 客户端 ID

      这些详细信息对于完成身份验证并在 Gemini Enterprise 中创建 SharePoint 连接器是必需的。

    • Google 建议您使用此方法。

  • OAuth 2.0 刷新令牌

    • 可精细控制哪些用户可以连接到 SharePoint API。

    • 在 Entra 中注册应用时,您必须收集以下详细信息:

      • 实例 URI:采用以下格式:
        • 对于所有第一级网站:https://DOMAIN_OR_SERVER.sharepoint.com,例如 mydomain.sharepoint.com
        • 对于单个网站:https://DOMAIN_OR_SERVER.sharepoint.com/[sites/]WEBSITE,例如 mydomain.sharepoint.com/sites/sample-site
      • 租户 ID
      • 客户端 ID
      • 客户端密钥

      这些详细信息对于完成身份验证并在 Gemini Enterprise 中创建 SharePoint 连接器是必需的。

    • 身份验证流程包括登录您的 SharePoint 账号。

    • 如果您的 SharePoint 设置需要双重身份验证,则此方法非常适合。

    • 需要您创建新的 SharePoint 用户,这可能会增加许可费用。

  • OAuth 2.0 密码授权

    • 可精细控制哪些用户可以连接到 SharePoint API。

    • 在 Entra 中注册应用时,您必须收集以下详细信息:

      • 实例 URI:采用以下格式:
        • 对于所有第一级网站:https://DOMAIN_OR_SERVER.sharepoint.com,例如 mydomain.sharepoint.com
        • 对于单个网站:https://DOMAIN_OR_SERVER.sharepoint.com/[sites/]WEBSITE,例如 mydomain.sharepoint.com/sites/sample-site
      • 租户 ID
      • 客户端 ID
      • 客户端密钥

      这些详细信息对于完成身份验证并在 Gemini Enterprise 中创建 SharePoint 连接器是必需的。

    • 身份验证流程包括提供 Entra 管理员提供的用户名和密码。

    • 如果您的 SharePoint 设置不需要双重身份验证,则此方法非常适合。

    • 需要您创建新的 SharePoint 用户,这可能会增加许可费用。

授予 SharePoint 权限时的重要注意事项

Google 强烈建议并使用最小权限原则,仅分配完成给定任务所需的权限。如需详细了解 Google 推荐的最佳实践,请参阅安全使用 IAM

不过,若要在 Microsoft Entra 中成功注册应用并在 Gemini Enterprise 中创建 SharePoint 连接器,您必须授予对所有网站的完全控制权限或对所选网站的完全控制权限。这可能看起来像是一种过度的权限。 原因是 Sites.Read.All 权限不允许 Gemini Enterprise 获取 SharePoint 用户群组和角色分配,而 Sites.FullControl.AllSites.Selected(含 fullcontrol)允许。

考虑到这一点,在 Gemini Enterprise 中配置连接器时,您可以执行以下操作来限制连接器可以访问和无法访问的内容:

  • 提供限制对单个网站的访问权限的特定实例 URI
  • 选择要同步的网站中的特定实体。

如果您对所需权限有任何其他疑虑,Google 建议您与 Microsoft 支持团队联系。

设置联合凭证

请按照以下步骤配置应用注册、授予权限和建立身份验证。Google 建议您使用联合凭证方法。

错误消息中列出了您在此过程中可能会遇到的一些常见错误消息。

  1. 获取服务账号客户端 ID:

    1. 在 Google Cloud 控制台中,前往 Gemini Enterprise 页面。
    2. 在导航菜单中,点击数据存储区
    3. 点击 创建数据存储区
    4. 选择数据源页面上,滚动查找或搜索 SharePoint Online 以关联该第三方来源。
    5. 记下主体标识符。请先不要点击继续。执行此任务的后续步骤,并按照创建 SharePoint Online 连接器中的说明,在 Google Cloud 控制台完成后续操作。
      记下控制台中的正文标识符
      记下受试者 ID,但暂时不要点击“继续”
  2. 在 Microsoft Entra 中注册应用:

    1. 前往 Microsoft Entra 管理员中心
    2. 在菜单中,展开应用部分,然后选择应用注册
    3. 应用注册页面上,选择新注册
      在 Entra 中注册新应用
      在 Microsoft Entra 管理中心内注册新应用
    4. 注册应用页面上创建应用注册:

      • 支持的账号类型部分,选择仅此组织目录中的账号
      • 重定向 URI 部分,选择 Web,然后输入重定向 URI https://vertexaisearch.cloud.google.com/console/oauth/sharepoint_oauth.html
      • 保留其他默认设置,然后点击注册
        仅注册组织目录中的账号
        选择账号类型并输入重定向 URI
    5. 记下客户端 ID租户 ID

      应用详情页面摘要
      应用详情页面

  3. 添加联合凭证:

    1. 依次前往证书和密钥 > 联合凭据 > 添加凭据

      在 Entra 中添加联合凭证
      在 Microsoft Entra 中添加联合凭证

    2. 使用以下设置:

      • 联合凭证场景其他颁发者
      • 颁发者https://accounts.google.com
      • 正文标识符:使用您在第 1.a.v 步的 Google Cloud 控制台中记下的正文标识符的值。
      • 名称:提供一个唯一名称。
    3. 点击添加以授予访问权限。

      将您的 Google 账号关联到 Microsoft Entra ID
      将您的 Google 账号关联到 Microsoft Entra ID

  4. 设置 API 权限。

    选择用于设置 API 权限的应用
    选择用于设置 API 权限的应用

    1. 添加并授予以下 Microsoft Graph 权限。您可以选择网站控制选项(Sites.FullControl.AllSites.Selected)或个人资料读取选项(User.Read.AllUser.ReadBasic.All):

      用于联合凭据的 Microsoft Graph 权限

      权限 类型 说明 理由
      GroupMember.Read.All 应用 读取所有群组成员资格 此权限可让 Gemini Enterprise 了解 SharePoint 网站中用户群组的成员资格。
      User.Read 委派 登录并读取用户个人资料

      这是不得移除的默认权限。移除后,SharePoint 会显示一条错误消息,要求您恢复此权限。

      网站控制选项
      选项 1:Sites.FullControl.All 应用 完全控制所有网站

      此权限可让 Gemini Enterprise 获取 SharePoint 用户群组和角色分配,这些信息不包含在 Sites.Read.All 权限中。它还允许 Gemini Enterprise 将所有 SharePoint 网站中的文档、事件、注释、附件和文件编入索引。

      如果授予对所有网站的完全控制权过于宽泛,请使用选项 2:Sites.Selected 来授予精细的控制权。

      选项 2:Sites.Selected 应用 控制所选网站

      此权限可让 Gemini Enterprise 获取 SharePoint 用户群组和角色分配,这些信息不包含在 Sites.Read.All 权限中。它还允许 Gemini Enterprise 将所选 SharePoint 网站中的文档、事件、注释、附件和文件编入索引。 此权限可提供更精细的控制,而不是 Sites.FullControl.All

      个人资料读取选项
      选项 1:User.Read.All 应用 读取所有用户的完整个人资料 此权限可让 Gemini Enterprise 了解 SharePoint 内容的数据访问权限控制。
      选项 2:User.ReadBasic.All 应用 读取所有用户的基本个人资料 此权限可让 Gemini Enterprise 了解 SharePoint 内容的数据访问权限控制。
    2. 添加并授予以下 SharePoint 权限。您可以选择 Sites.FullControl.AllSites.Selected

      用于联合凭证的 SharePoint 权限

      权限 类型 说明 理由
      选项 1:Sites.FullControl.All 应用 完全控制所有网站

      此权限可让 Gemini Enterprise 获取 SharePoint 用户群组和角色分配,这些信息不包含在 Sites.Read.All 权限中。它还允许 Gemini Enterprise 将所有 SharePoint 网站中的文档、事件、注释、附件和文件编入索引。

      如果授予对所有网站的完全控制权过于宽泛,请使用选项 2:Sites.Selected 来授予精细的控制权。

      选项 2:Sites.Selected 应用 控制所选网站 此权限可让 Gemini Enterprise 获取 SharePoint 用户群组和角色分配,这些信息不包含在 Sites.Read.All 权限中。它还允许 Gemini Enterprise 将所选 SharePoint 网站中的文档、事件、注释、附件和文件编入索引。
    3. 对于添加的权限,请检查状态列是否将相应权限列为 Granted 并带有绿色对勾标记。

      选择 API 权限
      为 Microsoft Graph 请求 API 权限(应用)

    验证 API 权限
    验证 API 权限
  5. 授予管理员同意书。 如需了解如何授予同意权,请参阅 Microsoft Entra 文档中的为租户范围的管理员授予对应用的同意权

为刷新令牌和密码授权设置 OAuth 2.0

您可以使用 OAuth 2.0 方法设置 Entra 应用注册,并实现对 SharePoint 的安全访问。此方法包含配置应用注册、授予权限和建立身份验证的步骤。

Google 建议您设置联合凭证,而不是配置 OAuth 2.0 身份验证。

您可以按照以下流程,使用 OAuth 2.0 身份验证来获取刷新令牌和密码授权,以在 Entra 中注册应用。如果您需要精细控制 SharePoint REST API 权限,以便限制对用户账号的资源访问权限,则首选此方法。

错误消息中列出了您在此过程中可能会遇到的一些常见错误消息。

下表介绍了建议用于 OAuth 2.0 身份验证方法的 SharePoint 角色:

  1. 创建应用注册:

    1. 前往 Entra 管理员中心

    2. 创建应用注册:

      • 支持的账号类型:仅限组织目录中的账号
      • 重定向 URI:https://vertexaisearch.cloud.google.com/console/oauth/sharepoint_oauth.html
    3. 记下客户端 ID租户 ID

  2. 添加客户端密钥:

    1. 前往证书和密钥 > 新建客户端密钥
    2. 记下密钥字符串。
  3. 设置 API 权限。

    1. 添加并授予以下 Microsoft Graph 权限。您可以选择 Sites.FullControl.AllSites.Selected

      用于 OAuth 2.0 身份验证的 Microsoft Graph 权限

      权限 类型 说明 理由
      GroupMember.Read.All 应用 读取所有群组成员资格 此权限可让 Gemini Enterprise 了解 SharePoint 网站中用户群组的成员资格。
      User.Read 委派 登录并读取用户个人资料

      这是不得移除的默认权限。移除后,SharePoint 会显示一条错误消息,要求您恢复此权限。

      选项 1:Sites.FullControl.All 应用 完全控制所有网站

      此权限可让 Gemini Enterprise 获取 SharePoint 用户群组和角色分配,这些信息不包含在 Sites.Read.All 权限中。它还允许 Gemini Enterprise 将所有 SharePoint 网站中的文档、事件、注释、附件和文件编入索引。

      选项 2:Sites.Selected 应用 控制所选网站

      此权限可让 Gemini Enterprise 获取 SharePoint 用户群组和角色分配,这些信息不包含在 Sites.Read.All 权限中。它还允许 Gemini Enterprise 将所选 SharePoint 网站中的文档、事件、注释、附件和文件编入索引。 此权限可提供更精细的控制,而不是 Sites.FullControl.All

      User.Read.All 应用 读取所有用户的完整个人资料 此权限可让 Gemini Enterprise 了解 SharePoint 内容的数据访问权限控制。
    2. 添加并授予以下用于 OAuth 2.0 身份验证的 SharePoint 权限。您可以选择 AllSites.FullControlSites.Selected

      用于 OAuth 2.0 身份验证的 SharePoint 权限

      权限 类型 说明 理由
      选项 1:AllSites.FullControl 委派 完全控制所有网站

      此权限可让 Gemini Enterprise 获取 SharePoint 用户群组和角色分配,这些信息不包含在 Sites.Read.All 权限中。它还允许 Gemini Enterprise 将所有 SharePoint 网站中的文档、事件、注释、附件和文件编入索引。

      选项 2:Sites.Selected 委派 控制所选网站

      此权限可让 Gemini Enterprise 获取 SharePoint 用户群组和角色分配,这些信息不包含在 Sites.Read.All 权限中。它还允许 Gemini Enterprise 将所选 SharePoint 网站中的文档、事件、注释、附件和文件编入索引。 此权限可提供更精细的控制,而不是 AllSites.FullControl

    3. 对于添加的权限,请检查状态列是否将相应权限列为 Granted 并带有绿色对勾标记。

    4. 使用对特定网站具有有限访问权限的专用用户账号。 验证此账号是否拥有对所选网站的所有者访问权限。

  4. 授予管理员同意书。 如需了解如何授予同意权,请参阅 Microsoft Entra 文档中的为租户范围的管理员授予对应用的同意权

向所选网站授予 fullcontrol 权限

如果您选择 Sites.Selected 选项以授予对 Microsoft Graph 中所选网站的控制权,则必须向 Gemini Enterprise 应用授予 fullcontrol 权限。您可以使用以下方法之一来执行此操作:

PowerShell

如需查看使用 PnP PowerShell 授予权限的通用语法,请参阅通过 PnP PowerShell 授予权限

  1. 运行以下命令,以提供 FullControl 权限:

    Grant-PnPAzureADAppSitePermission -AppId CLIENT_ID -DisplayName DISPLAY_NAME -Permissions FullControl -Site SITE_URL
    

    替换以下内容:

    • CLIENT_ID:Microsoft Entra 应用的客户端 ID。
    • SITE_URL:SharePoint 网站的网站网址,例如 https://example.sharepoint.com/sites/ExampleSite1
    • DISPLAY_NAME:Microsoft Entra 应用的说明。

Microsoft Graph

如需了解使用 Microsoft Graph 授予权限的整个流程,请参阅通过 Microsoft Graph 授予权限

使用 Microsoft Graph 浏览器调用以下方法。这些方法只能由网站所有者调用。

  1. 获取网站 ID:

    GET `https://graph.microsoft.com/v1.0/sites/HOSTNAME:SITE_PATH`
    

    替换以下内容:

    • HOSTNAME:SharePoint 网站的主机名,例如 example.sharepoint.com
    • SITE_PATH:SharePoint 网站的路径,例如 /sites/ExampleSite1/teams/ExampleSite2
  2. fullcontrol 授予对您在上一步中检索到的 ID 所对应的网站的访问权限。

    • 发送以下 POST 请求:

         POST `https://graph.microsoft.com/v1.0/sites/SITE_ID/permissions`
      
    • 使用以下请求正文:

      {
        "roles": ["fullcontrol"],
        "grantedToIdentities": [{
          "application": {
            "id": "CLIENT_ID",
            "displayName": "DISPLAY_NAME"
          }
        }]
      }
      

      替换以下内容:

      • SITE_ID:您在上一步中收到的 SharePoint 网站的网站 ID。其格式为 example.sharepoint.com,48332b69-85ab-0000-00o0-dbb7132863e7,2d165439-0000-0000-b0fe-030b976868a0
      • CLIENT_ID:Microsoft Entra 应用的客户端 ID。
      • DISPLAY_NAME:Microsoft Entra 应用的说明。

错误消息

下表列出了将 SharePoint 与 Gemini Enterprise 相关联时可能会出现的常见错误消息及其相关说明。

错误代码 错误消息
SHAREPOINT_MISSING_PERMISSION_1 缺少必需的 REST API 角色(Sites.FullControl.All 或 Sites.Selected)。对于委托的权限,缺少 AllSites.FullControl 或 Sites.Selected。
SHAREPOINT_MISSING_PERMISSION_2 缺少必需的 Graph API 角色(Sites.FullControl.All 或 Sites.Selected)。
SHAREPOINT_MISSING_PERMISSION_3 缺少必需的 Graph API 角色 GroupMember.Read.All。
SHAREPOINT_MISSING_PERMISSION_4 缺少必需的 Graph API 角色(User.Read.All 或 User.ReadBasic.All)。
SHAREPOINT_INVALID_SITE_URI 未能检索到 Graph API 访问令牌。可能的原因:客户端 ID 或密钥值无效,或者缺少联合凭证。
SHAREPOINT_INVALID_AUTH 未能检索到 Graph API 访问令牌。可能的原因:客户端 ID 或密钥值无效,或者缺少联合凭证。
SHAREPOINT_INVALID_JSON 未能解析 JSON 内容。
SHAREPOINT_TOO_MANY_REQUESTS 向 SharePoint 发送的 HTTP 请求过多;收到了 429 HTTP 响应。

创建 SharePoint Online 连接器

在 Entra 中注册应用后,您可以在 Google Cloud 控制台中创建 SharePoint 连接器。

控制台

如需使用 Google Cloud 控制台将 SharePoint 中的数据同步到 Gemini Enterprise,请按以下步骤操作。以下步骤演示了联合凭证方法,这是推荐的方法:

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

    Gemini Enterprise

  2. 在导航菜单中,点击数据存储区

  3. 点击 创建数据存储区

  4. 选择数据源页面上,滚动查找或搜索 SharePoint 以关联该第三方来源。

    在可用的 DAA 来源中搜索 SharePoint
    搜索并选择 SharePoint 作为数据源

  5. 输入您的 SharePoint Online 身份验证信息。

    添加身份验证信息
    添加身份验证信息

    • 输入 SharePoint 网站 URI 作为实例 URI

      • 对于所有第一级网站:https://DOMAIN_OR_SERVER.sharepoint.com
      • 对于单个网站:https://DOMAIN_OR_SERVER.sharepoint.com/[sites/]WEBSITE

      如果您在 Entra 中设置联合凭据时获得了 Sites.Selected 权限,则必须指定要编入索引的确切网站,或者在第 7 步中指定过滤器以包含确切的网站。

  6. 选择要同步的实体:

    • 附件

    • 备注

    • 事件

    • 页面

    • 文件

    选择要同步的实体
    选择要同步的实体和同步频率
  7. 如需仅在索引中包含特定网站实体,请点击过滤

    指定用于包含网站实体的过滤条件
    指定要纳入网站实体的过滤条件
  8. 点击保存

  9. 点击继续

  10. 为您的数据存储区选择一个区域。

  11. 为数据存储区输入名称。

  12. 为数据存储区选择同步频率。首次设置数据源并导入数据后,数据存储区会按照您在设置期间选择的频率同步来自该来源的数据。

    • 数据同步频率从 3 小时到 7 天不等
    • 身份同步频率介于 30 分钟到 7 天之间
  13. 点击创建。Gemini Enterprise 会为您创建数据存储区,并在数据存储区页面上显示您的数据存储区。

  14. 如需查看数据注入状态,请前往数据存储区页面,然后点击数据存储区名称,在其数据页面查看相关详情。当连接器开始同步数据时,连接器状态会从正在创建变为正在运行。注入完成后,状态会变为活跃,表明已设置与数据源之间的关联,并在等待下一次的计划同步。

    显示连接器状态的数据存储区详细信息
    数据存储区详情页面上的连接器状态

    注入过程可能需要几分钟或几小时才能完成,具体取决于数据的大小。

启用实时同步

实时同步只会同步文档实体,不会同步与身份实体相关的数据。下表显示了哪些文档事件支持实时同步。

SharePoint 实体 创建 更新 删除 权限更改
附件
评论
事件
文件
页面

如需为数据存储区启用实时同步,请按以下步骤操作。

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

    Gemini Enterprise

  2. 在导航菜单中,点击数据存储区

  3. 点击要为其启用实时同步的 SharePoint 数据存储区的名称。

  4. 在数据存储区的数据页面上,等待连接器状态变为活跃

  5. 实时同步字段中,点击查看/修改

    查看和修改实时同步设置
    查看和修改实时同步设置。
  6. 点击启用实时同步切换开关,将其切换到开启位置。

  7. 客户端密钥字段提供一个值。此值用于验证 SharePoint 网络钩子事件。我们建议使用 20 个字符的字符串。

    启用实时同步并提供客户端密钥
    启用实时同步并提供客户端密钥。
  8. 点击保存

    等待实时同步字段变为正在运行

配置搜索引擎后,测试其功能。确保它能根据用户访问权限返回准确的结果。

  1. 启用 Web 应用:

    1. 前往应用集成配置,然后切换到启用 Web 应用
  2. 测试 Web 应用:

    1. 点击 Web 应用链接旁边的打开,然后使用员工池中的用户账号登录。

    2. 验证搜索结果是否仅限于登录用户可访问的内容。

配置员工池

借助员工池,您可以在 Google Cloud 控制台中对来自外部身份提供方(例如 Azure 或 Okta)的用户进行管理和身份验证。如需配置员工池并启用 Web 应用以实现顺畅的用户访问,请执行以下操作:

  1. 按照相应的设置手册在 Google Cloud 中创建组织级员工池:

    1. Azure OIDC 设置
    2. Azure SAML 设置
    3. Okta 和 OIDC 设置
    4. Okta 和 SAML 设置
  2. Gemini Enterprise > 设置部分,为您在其中创建应用的区域配置员工池。

后续步骤

  • 如需将数据存储区挂接到应用,请按照创建应用中的步骤创建应用并选择数据存储区。

  • 如需在设置应用和数据存储区后预览搜索结果以了解其显示方式,请参阅预览搜索结果