

本文属于机器翻译版本。若本译文内容与英语原文存在差异，则一律以英文原文为准。

# 谷歌云端硬盘知识库集成
<a name="google-drive-integration"></a>

借助 Google 云端硬盘知识库集成，您可以将自己的 Google 云端硬盘内容编入索引。然后，您的 Amazon Quick 代理可以搜索这些内容并回答相关问题。

Amazon Quick 支持两种用于连接 Google 云端硬盘的身份验证方法：
+ **用户管理的设置**-您直接登录 Google 云端硬盘以授权连接。这是最简单的入门方法。有关更多信息，请参阅 [用户管理的设置](google-drive-kb-user-managed.md)。
+ **管理员管理的设置（服务凭据）-** Google Workspace 管理员创建一个具有全网域授权的服务帐号来授权连接。管理员管理设置的一个主要优势是内置的文档级访问控制 (ACL)。Amazon Quick 会自动同步来自 Google 云端硬盘的访问控制列表。它会在查询时验证每个用户的权限，因此用户只能从他们有权访问的文档中看到答案。有关更多信息，请参阅 [管理员管理的 Google 云端硬盘知识库设置](google-drive-kb-admin-managed.md)。

连接后，Amazon Quick 会将您的 Google 云端硬盘文件和文件夹编入知识库中。然后，您的 Amazon Quick 代理可以搜索这些内容并根据您的 Google 云端硬盘数据生成答案。

## 先决条件
<a name="google-drive-kb-prerequisites"></a>

在设置 Google 云端硬盘集成之前，请确保您具备以下条件：
+ 具有谷歌云端硬盘访问权限的谷歌账号。
+ 有关订阅要求，请参阅[在控制台中设置集成](integration-console-setup-process.md)。

对于管理员管理的设置，还需要满足其他先决条件。有关更多信息，请参阅 [管理员管理的 Google 云端硬盘知识库设置](google-drive-kb-admin-managed.md)。

## 受支持的内容类型
<a name="google-drive-kb-content-types"></a>

Google 云端硬盘连接器支持 Amazon Quick 知识库支持的所有常见文件类型。这些文件包括 PDF、Word PowerPoint、Excel 和文本文件。该连接器还支持以下特定于 Google 工作空间的格式：
+ 谷歌文档
+ Google Sheets
+ 谷歌幻灯片

有关支持的文件类型、大小限制和内容处理选项的更多信息，请参阅[常用配置设置](knowledge-base-integrations.md#common-configuration-settings)。

# 用户管理的设置
<a name="google-drive-kb-user-managed"></a>

使用用户管理的设置，您可以直接登录 Google 云端硬盘以授权连接。Amazon Quick 通过托管 OAuth 流程处理身份验证。不需要 Google Cloud 项目、服务帐号或全网域授权。

## 先决条件
<a name="google-drive-kb-user-managed-prereqs"></a>

在设置用户管理的 Google 云端硬盘知识库之前，请验证以下内容：
+ 你有一个可以访问谷歌云端硬盘的谷歌账号。
+ 您的 Google Workspace 管理员允许第三方访问应用程序，也可以代表您允许 Amazon Quick 应用程序。
+ 您的浏览器允许来自 Amazon Quick 控制台域的弹出窗口。

**注意**  
如果您的组织限制第三方应用程序访问 Google Workspace，则您的 Google Workspace 管理员可能需要先允许 Amazon Quick 应用程序，然后用户才能登录。如果您在登录过程中遇到错误，请联系您的 Google Workspace 管理员。

**注意**  
用户管理的设置不支持文档级访问控制 (ACL)。ACL 是一种控制哪些用户可以访问特定文档的机制。如果您需要文档级访问控制，请改用[管理员管理的 Google 云端硬盘知识库设置](google-drive-kb-admin-managed.md)。

## 同意期间授予的权限
<a name="google-drive-kb-user-managed-permissions"></a>

当您授权连接时，Amazon Quick 会向您的 Google 账户请求以下权限：

查看并下载您的所有 Google 云端硬盘文件  
+ 允许 Amazon Quick 查看你的谷歌云端硬盘文件
+ 允许 Amazon Quick 下载您的文件
+ 允许 Amazon Quick 查看与您共享文件的人的姓名和电子邮件地址

查看有关您的 Google 云端硬盘文件的信息  
+ 允许 Amazon Quick 查看您的文件的标题和描述
+ 允许 Amazon Quick 查看与您共享文件的人的姓名和电子邮件地址
+ 允许 Amazon Quick 查看您的文件夹以及文件的组织方式

**注意**  
您可以随时在 Google 帐号权限设置中查看并移除此访问权限。

## 设置 Google 云端硬盘知识库
<a name="google-drive-kb-user-managed-setup"></a>

要创建用户管理的 Google 云端硬盘知识库，请在 Amazon Quick 控制台中完成以下步骤。

1. 在 Amazon Quick 控制台中，选择**集成。**

1. 找到 **Google 云端硬盘**，然后选择**添加** (\$1) 图标。

1. 在 “**创建 Google 云端硬盘” 知识库**对话框的 “**身份验证方法**” 下，选择 “**登录 Google 云端硬盘**” 并完成 Google 登录和同意流程。

1. 在**创建知识库**下，输入知识库的名称和可选描述。

1. 在 “**内容**” 部分中，选择**添加内容**，然后选择要编入索引的 Google 云端硬盘文件和文件夹。您可以浏览个人云端硬盘中的内容、与您共享的文件以及组织中的共享云端硬盘。

1. 选择**创建**。

选择 “**创建**” 后，数据同步将自动开始。

## 访问控制
<a name="google-drive-kb-user-managed-access"></a>

**重要**  
当 Amazon Quick 通过用户管理的设置将 Google 云端硬盘内容编入索引时，它不会同步来自 Google 云端硬盘的访问控制列表 (ACLs)。任何有权访问 Amazon Quick 知识库的用户都可以访问所有已编入索引的内容，无论他们在 Google 云端硬盘中的权限如何。请仔细查看您在创建知识库时包含的内容。

如果您需要文档级访问控制，请改用。[管理员管理的 Google 云端硬盘知识库设置](google-drive-kb-admin-managed.md)

## 管理您的集成并对其进行故障排除
<a name="google-drive-kb-user-managed-manage"></a>

有关编辑、共享或删除集成的说明，请参阅[管理现有集成](integration-workflows.md#managing-existing-integrations)。

有关知识库疑难解答（包括同步问题和缺少文档）的更多信息，请参阅[故障排除知识库](troubleshooting-knowledge-bases.md)。

### Google 云端硬盘特定问题
<a name="google-drive-kb-user-managed-issues"></a>
+ **应用程序被管理员屏蔽**-如果您的 Google Workspace 管理员限制了第三方应用程序的访问权限，那么您在尝试登录时可能会看到错误消息。请联系您的 Google 工作空间管理员以允许使用 Amazon Quick 应用程序。
+ **身份验证弹出窗口失败** — 确认您的浏览器允许来自 Amazon Quick 控制台域的弹出窗口。尝试使用其他浏览器或清除浏览器缓存。
+ **权限已撤销** — 如果您之前从 Google 帐号权限设置中撤消了 Amazon Quick 访问权限，则需要通过编辑集成并重新登录来重新进行身份验证。
+ **缺少内容**-验证您用于身份验证的 Google 帐户是否有权访问您选择的文件和文件夹。初始同步后与您共享的内容需要重新同步才能编制索引。
+ **Google API 速率限制** — Google 云端硬盘可能会限制高使用率期间的请求。如果同步失败或不完整，请在非高峰时段重试。

## 已知限制条件
<a name="google-drive-kb-user-managed-limitations"></a>
+ 用户管理的设置不支持文档级访问控制 (ACL)。如果您需要文档级访问控制，请使用。[管理员管理的 Google 云端硬盘知识库设置](google-drive-kb-admin-managed.md)
+ 不支持文件注释的同步。

# 管理员管理的 Google 云端硬盘知识库设置
<a name="google-drive-kb-admin-managed"></a>

使用管理员管理的设置，Google Workspace 管理员可以创建一个服务帐号并委托全网域访问权限。个人用户无需通过登录进行授权。

管理员管理的设置包括内置的文档级访问控制列表 (ACL) 支持。Amazon Quick 会自动 ACLs 从 Google 云端硬盘同步，并在查询时验证每位用户的权限。

有关 ACL 最佳实践的更多信息，请参阅[ACLs 在知识库中进行管理的最佳实践](acl-best-practices-kb.md)。

## 先决条件
<a name="google-drive-kb-admin-managed-prerequisites"></a>

在设置集成之前，请确保您具备以下条件。
+ 管理员访问您组织的 Google 工作空间。
+ Amazon Quick 企业用户账户。不需要管理员访问权限。
+ 一个 Google Workspace 账户，其电子邮件域名与用于 Amazon Quick 身份的电子邮件域名相匹配。
+ 有关订阅要求，请参阅[在控制台中设置集成](integration-console-setup-process.md)。

## 设置概述
<a name="google-drive-kb-admin-managed-overview"></a>

设置包括以下阶段：

1. **配置 Google Workspace** — 创建具有只读 API 访问权限和全网域授权的 Google Cloud 服务帐号。然后为服务帐号创建一个专门的管理员用户来模仿。有关更多信息，请参阅 [配置谷歌工作空间](google-drive-kb-google-config.md)。

1. **在 Amazon Quick 中创建知识库** — 使用第 1 阶段的服务账号凭证创建 Google 云端硬盘知识库。有关更多信息，请参阅 [在 Amazon Quick 中创建知识库](google-drive-kb-connection.md)。

系统会自动为所有管理员管理的知识库启用文档级访问控制。有关访问控制工作原理的更多信息，请参阅[文档级访问控制](google-drive-kb-acl.md)。

# 配置谷歌工作空间
<a name="google-drive-kb-google-config"></a>

要将 Amazon Quick 连接到 Google 云端硬盘，请在谷歌云控制台和 Google Workspace 管理控制台中完成以下任务。您可以创建 Google Cloud 项目，打开所需的项目 APIs，生成服务帐号凭据并配置全网域授权。您还可以为服务帐号创建一个专门的管理员用户来模仿。

**先决条件**  
开始之前，请确保您拥有：  
具有管理员权限的 Google 工作空间账号
在 Google Cloud 控制台中创建项目的权限

## 创建谷歌云项目
<a name="google-drive-kb-create-project"></a>

1. 打开谷歌云控制台。

1. 从页面顶部的项目选择器中选择 “**新建项目**”。

1. 输入项目名称，然后选择 “**创建**”。

1. 创建项目后，选择 **“选择项目”** 以切换到该项目。这可能需要一点时间。

## 打开所需的 APIs
<a name="google-drive-kb-enable-apis"></a>

Amazon Quick 需要三个谷歌 APIs。打开 API 库中的每一个。

1. 在导航菜单中，选择 “**APIs 与服务**”，然后选择 “**资源库**”。

1. 搜索以下各项， APIs 然后选择 “**启用**”：
   + 谷歌云硬盘 API
   + 谷歌云端硬盘活动 API
   + 管理员 SDK API

## 创建服务帐号
<a name="google-drive-kb-create-service-account"></a>

1. 在导航菜单中，选择**APIs 和服务**，然后选择**凭据**。

1. 选择 “**创建凭据**”，然后选择 “**服务帐户**”。

1. 输入服务帐号的名称和可选描述，然后选择**完成**。

## 生成私钥
<a name="google-drive-kb-generate-key"></a>

1. 在 “**凭据**” 页面上，选择您创建的服务帐号。

1. 选择 “**密钥**” 选项卡，然后选择 “**添加密钥**”、“**创建新密钥**”。

1. 确认已选择 **JSON**，然后选择**创建**。

浏览器下载包含私钥的 JSON 文件。安全地存储此文件。您将在稍后的步骤中将其上传到 Amazon Quick。

**注意**  
如果您收到一条错误消息，指出服务帐号密钥创建已被组织政策禁用，请参阅[解决组织政策限制](#google-drive-kb-admin-troubleshooting-org-policy)。

## 记录服务账号的唯一 ID
<a name="google-drive-kb-record-unique-id"></a>

1. 在服务账号详细信息页面上，选择**详细信息**选项卡。

1. 复制 “**唯一 ID**” 字段中的值。配置全域委托时需要此值。

## 配置全网域授权
<a name="google-drive-kb-domain-delegation"></a>

全网域授权允许服务帐号代表贵组织中的用户访问 Google Workspace 数据。

1. 在服务帐号详细信息页面上，展开**高级设置**。

1. 选择**查看 Google 工作空间管理员控制台**。管理员控制台将在新选项卡中打开。

1. 在管理员控制台导航窗格中，选择**安全**、**访问和数据控制**、**API 控件**。

1. 选择 “**管理全域授权**”，然后选择 “**新增**”。

1. 在 “**客户端 ID**” 中，输入您之前复制的唯一 ID。

1. 对于**OAuth 作用域**，请输入以下以逗号分隔的值：

   ```
   https://www.googleapis.com/auth/drive.readonly,https://www.googleapis.com/auth/drive.metadata.readonly,https://www.googleapis.com/auth/admin.directory.user.readonly,https://www.googleapis.com/auth/admin.directory.group.readonly,https://www.googleapis.com/auth/cloud-platform,https://www.googleapis.com/auth/forms.body.readonly
   ```

1. 选择**授权**。

## 创建委派管理员用户
<a name="google-drive-kb-create-admin-user"></a>

服务帐号代表 Google Workspace 管理员用户行事。为此目的创建专门用户并分配所需的最低角色。

1. 在 Google Workspace 管理员控制台**中，选择目录**，然后选择**用户**。

1. 选择 “**添加新用户”**。

1. 输入新用户的名字、姓氏和主电子邮件地址，然后选择**添加新用户**。

1. 选择**完成**。

1. 从用户列表中选择您创建的用户。如果用户未出现，请刷新页面。

1. 在用户详细信息页面上，展开**管理员角色和权限**部分。

1. 在 “**角色**” 下，分配以下角色：
   + 群组阅读器
   + 用户管理管理员
   + 存储管理员

1. 选择**保存**。

记录该用户的电子邮件地址。当你在 Amazon Quick 中创建知识库时，你需要它。

## Google 工作空间配置疑难解答
<a name="google-drive-kb-google-config-troubleshooting"></a>

### 解决组织政策限制
<a name="google-drive-kb-admin-troubleshooting-org-policy"></a>

如果您在创建服务帐号密钥时收到以下错误：

```
The organization policy constraint iam.disableServiceAccountKeyCreation
is enforced on your organization.
```

**注意**  
对于 2024 年 5 月 3 日当天或之后创建的 Google Cloud 组织，默认情况下会强制执行此限制。

您必须改写项目的政策。

1. 打开 Google Cloud 控制台并确认选择了正确的项目。

1. 在导航菜单中，选择 **IAM 和管理员**，然后选择**组织政策**。

1. 在 “**筛选器**” 字段中输入`iam.disableServiceAccountKeyCreation`。然后，在策略列表中，选择**禁用服务帐号密钥创建**。

1. 选择 “**管理政策**”。
**注意**  
如果 **“管理策略**” 不可用，则需要组织级别的组织策略管理员角色 (`roles/orgpolicy.policyAdmin`)。请参阅[授予组织策略管理员角色](#google-drive-kb-admin-troubleshooting-org-admin-role)。

1. 在 “**策略来源**” 部分中，确保选中 **“覆盖父母的策略**”。

1. 在 “**执行**” 下，关闭该组织政策限制的强制执行。

1. 选择 “**设置策略**”。

更改可能需要几分钟才能传播。

### 授予组织策略管理员角色
<a name="google-drive-kb-admin-troubleshooting-org-admin-role"></a>

组织政策管理员角色 (`roles/orgpolicy.policyAdmin`) 必须在组织级别授予，而不是在项目级别。为项目分配角色时，它不会出现在角色列表中。

要授予此角色，请从 Google Cloud 控制台的项目选择器中选择您的组织（不是项目）。然后，选择 **IAM 和管理员**、**IAM**，并将该角色分配给您的账户。有关详细说明，请参阅 Google Cloud 文档中的[管理项目、文件夹和组织的访问权限](https://cloud.google.com/iam/docs/granting-changing-revoking-access)。

角色分配可能需要几分钟才能传播。

# 在 Amazon Quick 中创建知识库
<a name="google-drive-kb-connection"></a>

在此阶段，您将在 Amazon Quick 中创建知识库并提供来自 Google Workspace 配置的服务账户凭证。任何企业用户都可以完成此阶段。不需要 Amazon Quick 管理员访问权限。

如果 Google Workspace 管理员代表您完成了 Google Workspace 配置，则在继续操作之前，您需要提供 JSON 密钥文件和委派的管理员电子邮件地址。

## 设置知识库
<a name="google-drive-kb-connection-setup"></a>

1. 在 Amazon Quick 控制台中，选择**集成。**

1. 在**知识库**下，找到 **Google 云端硬盘**，然后选择**添加** (\$1) 图标。

1. 在**创建 Google 云端硬盘知识库**对话框中，选择**是否有管理员凭据？ 配置文档级访问控制。**

1. 在 “**关联账户**” 下拉列表中，选择 “**添加账户**”。

1. 对于 **Name (名称)**，输入连接的名称。使用描述性名称，例如您的 Google Workspace 域名。
**重要**  
保存连接名称后，您无法对其进行更改。

1. 选择**上传.JSON 密钥**，然后选择你在 Google Workspace 配置期间下载的 JSON 文件。

1. 对于 **Google 工作空间管理员电子邮件**地址，请输入您在 Google 工作空间配置期间创建的委托管理员用户的电子邮件地址。

1. 选择**下一步**。

## 选择要同步的内容
<a name="google-drive-kb-connection-content"></a>

1. 为您的知识库输入**名称**和可选**描述**。

1. 选择要包含的 Google 云端硬盘内容：
   + **我的云端硬盘（所有用户）**— 包括组织中所有用户的 “我的云端硬盘” 中的文件。
   + **与我共享（所有用户）**-包括与您的用户共享的文件。
   + **共享云端硬盘**-默认情况下，所有共享云端硬盘都会同步。要包含或排除特定云端硬盘，请使用**筛选器类型**下拉列表和**添加共享云端硬盘 IDs**字段。您可以输入 1 到 100 个共享云端硬盘 IDs。

1. 选择 “**下一步**” 配置高级设置。

## 配置高级设置
<a name="google-drive-kb-connection-advanced"></a>

在 **“高级设置”** 步骤中，您可以为知识库配置可选设置。

按日期筛选内容  
根据上次修改日期限制搜索哪些文档。开始日期默认为今天之前一年。您可以更改或清除开始日期，也可以选择设置结束日期。

多媒体内容、文件大小和文件模式  
选择要包含在知识库中的内容类型。  
+ **文档中的视觉内容-从支持的文档**格式中提取和索引可视元素。默认情况下，此选项处于启用状态。
+ **音频文件**-对音频文件进行转录和索引。
+ **视频文件**-对视频文件进行转录和索引。

选择 “**创建**” 以创建知识库。选择 “**创建**” 后，数据同步将自动开始。

## 管理和故障排除
<a name="google-drive-kb-admin-managed-manage"></a>

要编辑、共享或删除您的集成，请参阅[管理现有集成](integration-workflows.md#managing-existing-integrations)。

有关知识库疑难解答（包括同步问题和缺少文档）的信息，请参阅[故障排除知识库](troubleshooting-knowledge-bases.md)。

### 管理员管理的安装问题
<a name="google-drive-kb-admin-troubleshooting"></a>
+ **Google API 速率限制** — 在高使用率期间，Google 云端硬盘可能会限制请求。如果同步失败或不完整，请在非高峰时段重试。
+ **SSL 证书错误**-如果您在创建知识库时收到有关 SSL 证书错误的错误，请验证您在全域委派期间配置的 OAuth 范围。

# 文档级访问控制
<a name="google-drive-kb-acl"></a>

管理员管理的 Google 云端硬盘知识库包括内置的文档级访问控制。Amazon Quick 在每次抓取时都会同步来自 Google 云端硬盘的访问控制列表 (ACLs)，并在查询时验证每个用户的权限，因此用户只能看到他们有权访问的文档中的答案。

## 工作原理
<a name="google-drive-kb-acl-how-it-works"></a>

当用户向使用管理员管理的 Google 云端硬盘知识库的 Amazon Quick 代理提交查询时，系统会分两个阶段实施访问控制：

1. **检索前筛选** — Amazon Quick 对向量索引执行语义搜索，以找到最相关的文档段落。系统会应用已存储在索引中的访问控制列表。这将生成一套初步的候选人文件。这个阶段是必要的，因为对索引中的每个文档进行实时 API 调用在规模上会过于昂贵。

1. **实时验证** — 系统通过调用 Google 云端硬盘 APIs实时验证候选人文档。它使用管理员提供的服务帐号凭据，通过模拟生成用户特定的访问令牌。Google 云端硬盘保留与每个文档关联的访问控制列表的真实来源。系统会从结果集中删除用户无权访问的所有文档。

系统仅将经过验证和授权的文档段落作为上下文传递给模型。该模型使用这些知识来生成响应。这种分为两个阶段的方法提供了文档级别的访问控制保障，并保持了大规模的性能。

## 启用 ACL 管理
<a name="google-drive-kb-acl-enable"></a>

系统会自动为所有管理员管理的知识库启用文档级访问控制。无需其他配置。

有关 ACL 最佳实践的更多信息，请参阅[ACLs 在知识库中进行管理的最佳实践](acl-best-practices-kb.md)。

## 已知限制条件
<a name="google-drive-kb-admin-managed-limitations"></a>
+ 不支持文件评论同步。

有关常规 ACL 限制和最佳实践的更多信息，请参阅[ACLs 在知识库中进行管理的最佳实践](acl-best-practices-kb.md)。