View a markdown version of this page

设置服务凭证 - Amazon Quick

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

设置服务凭证

在 Amazon Quick 中创建知识库之前,请在 Microsoft Entra ID 中AWS完成以下配置步骤。您可以创建 KMS 签名密钥、生成证书、在 Entra 中注册应用程序,然后授予 Amazon Quick 使用该密钥的权限。

此设置涉及多个系统,可能需要组织中不同管理员之间的协调。下表汇总了每个步骤以及完成该步骤所需的角色。

设置步骤和角色
步骤 你做什么 需要角色
1. KMS 密钥 在 KMS 中创建非对称签名密AWS钥。 AWS管理员(KMS 和 IAM 控制台访问权限)
2. 证书 使用 KMS 公钥生成自签名证书。 与步骤 1 相同(需要AWS CLI 和 OpenSSL)
3. 进入应用程序 在 Microsoft Entra 中注册应用程序,分配 API 权限,然后上传证书。 微软 365 全球管理员或特权角色管理员
4. KMS 密钥访问权限 向 Amazon Quick 授予使用 KMS 密钥进行签名的权限。 Amazon Quick 管理员(管理员专业版)
5. 创建 KB 使用前面步骤中的凭证在 Amazon Quick 中创建知识库。 任何 Amazon Quick 用户(作者专业版或管理员专业版)
提示

在许多组织中,一个同时拥有这两种权限AWS和 Microsoft 365 管理员权限的人就可以完成所有步骤。如果职责按团队分配,请共享此表格以协调设置。

先决条件

开始之前,请确保您拥有:

  • 一个拥有处于活动状态的 Amazon Quick 实例的AWS账户。

  • 访问AWS KMS 控制台(用于创建签名密钥)。

  • Amazon Quick 管理员访问权限(Admin Pro 角色),用于授予 KMS 密钥权限。

  • 微软 365 租户有 OneDrive。

  • 使用 Microsoft Entra ID 访问全局管理员或特权角色管理员。

  • OpenSSL 3.0 或更高版本并在本地安装了AWS CLI。

  • 该AWS账户和 Amazon Quick 实例必须位于同一区域。

Permissions

Admin-managed setup 会抓取组织中每个用户的 OneDrive 内容,并始终强制执行文档级访问控制。注册 Entra 应用程序需要以下 Microsoft Graph 应用程序权限。

Admin-managed 设置权限
权限 Type 用途
Files.Read.All 应用程序 读取所有用户 OneDrive 内容中的文件。
Sites.Read.All 应用程序 枚举并读取租户中的 OneDrive 驱动器。 OneDrive for Business 托管在 SharePoint,因此访问每个用户的云端硬盘都需要此权限。
User.Read.All 应用程序 阅读用户配置文件以解决文档级访问控制问题。
Group.Read.All 应用程序 读取群组对象以解决基于群组的访问控制问题。
GroupMember.Read.All 应用程序 阅读群组成员资格以解决文档级访问控制问题。
重要

在 Entra 中分配这些权限时,选择 “应用程序权限” 选项卡,而不是 “委托权限”。 Admin-managed 安装程序使用客户端凭证流程,这需要应用程序权限。

注意

OneNote 管理员管理的Notes.Read.All设置不支持抓取 ()。微软于 2025 年 3 月 31 日停用了 OneNote API 的仅限应用程序的代币。User-managed 设置用于 OneNote 内容。

设置期间收集的值

下表汇总了您在设置过程中创建或收集的值以及使用这些值的位置。

值参考
在步骤中创建 在步骤中使用
KMS 密钥 ARN 1 (千米) 2(证书)、4(IAM)、快速设置
证书文件 (certificate.cer) 2(证书) 3(上传入口)
证书指纹 (base64url) 2(证书) 快速设置
应用程序(客户端)ID 3 (Entra) 快速设置
目录(租户)ID 3 (Entra) 快速设置

步骤 1:创建一个AWS KMS 非对称签名密钥

在使用微软 Entra ID 进行身份验证时,Amazon Quick 使用AWS KMS 非对称密钥签署 OAuth 断言。私钥永远不会离开 KMS。只有公钥会被导出并嵌入到上传到您的 Entra 应用程序注册的证书中。

创建 KMS 密钥

  1. 打开 AWS KMS 控制台

  2. 在左侧导航中,选择客户管理的密钥

  3. 选择创建密钥

配置密钥

配置密钥页面上,设置以下值:

KMS 密钥配置
设置
密钥类型 非对称
密钥用法 签名和验证
密钥规范 RSA_2048
密钥材料源 KMS(推荐)
区域性 Single-Region 密钥(默认)。 Multi-Region 不支持密钥。

添加标签

添加标签页面上,输入密钥的别名。例如:quick-onedrive-service-auth

注意

以下页面上的密钥管理员和密钥使用权限是可选的。对于此设置,默认值就足够了。在步骤 4 中,您分别授予 Amazon Quick 访问密钥的权限。

选择 “跳过查看”,然后选择 “完成” 创建密钥。

记录密钥 ARN

创建密钥后,打开密钥详情页面并记录密钥 ARN。ARN 有以下格式:

arn:aws:kms:us-west-2:123456789012:key/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx

在步骤 2、4 以及在 Quick 中创建知识库时,你需要这个值。

步骤 2:生成自签名证书

Microsoft Entra ID 需要 X.509 证书才能验证签名的断言。由于 KMS 私钥永远不会离开AWS KMS,因此您不能将其直接与 OpenSSL 一起使用。相反,您可以生成临时的本地 key pair 并创建证书签名请求。然后,使用 OpenSSL -force_pubkey 选项将 KMS 公钥注入到最终证书中。结果是一个自签名证书,其公钥与 KMS key pair 匹配。

先决条件

  • AWS已安装并配置 CLI。

  • OpenSSL 3.0 或更高版本。

  • 步骤 1 中的 KMS 密钥 ARN。

生成证书

在终端中运行以下命令。用您自己的placeholder值替换这些值。

验证 OpenSSL 版本

openssl version

确认输出显示版本 3.0 或更高版本。

导出 KMS 公钥

aws kms get-public-key \ --key-id KMS_KEY_ARN \ --region REGION \ --output text \ --query PublicKey | base64 --decode > public_key.der
注意

在 macOS 上,base64 -D根据你的 shell 环境使用base64 --decode或。

将公钥转换为 PEM 格式

openssl rsa -pubin -inform DER -in public_key.der -outform PEM -out kms_public_key.pem

生成临时本地密钥 pair

openssl genrsa -out temp_private_key.pem 2048

创建证书签名请求

openssl req -new \ -key temp_private_key.pem \ -out cert.csr \ -subj "/CN=QuickOneDriveServiceAuth/O=YourOrganization/C=US"

使用 KMS 公钥生成证书

openssl x509 -req \ -in cert.csr \ -signkey temp_private_key.pem \ -out certificate.pem \ -days 730 \ -force_pubkey kms_public_key.pem
注意

OpenSSL 会显示警告。Signature key and public key of cert do not match这是意料之中的,因为证书使用临时本地密钥签名,但包含 KMS 公钥。该证书是有效的,并且可以在 Microsoft Entra 上正常运行。

转换为 DER 格式以便上传 Entra

openssl x509 -in certificate.pem -outform DER -out certificate.cer

清理临时文件

rm -f temp_private_key.pem cert.csr public_key.der kms_public_key.pem certificate.pem
重要

保留certificate.cer文件。你在步骤 3 中将其上传到微软 Entra ID。

计算证书指纹

运行以下命令计算证书的 base64url 编码 SHA-1指纹:

openssl dgst -sha1 -binary certificate.cer | base64 | tr '+/' '-_' | tr -d '='

记录这个值。当你在 Quick 中创建知识库时,你需要输入它。

注意

base64url 编码的指纹与 Microsoft Entra 门户中显示的十六进制指纹不同。快速需要使用 base64url 格式。

第 3 步:在 Microsoft Entra ID 中注册应用程序

注册应用程序

  1. 登录微软网站上的微软 Entra 管理中心

  2. 在左侧导航栏中,展开 Entra ID,然后选择应用程序注册

  3. 选择 “新注册”。

  4. 对于名称,请输入 QuickOneDriveServiceAuth

  5. 对于支持的帐户类型,请选择 “仅限此组织目录中的帐户(单租户)”。

  6. 将重定向 URI 留空。不需要重定向 URI,因为应用程序使用的是客户端凭证流,而不是交互式登录流程。

  7. 选择注册

记录申请详情

在应用程序概述页面上,记录以下值:

应用程序详细信息
位置
应用程序(客户端)ID 显示在 “概述” 页面的 “基本信息” 下。
目录(租户)ID 显示在 “概述” 页面的 “基本信息” 下。

配置 API 权限

添加该Permissions部分中列出的 Microsoft Graph 应用程序权限。

  1. 在应用程序注册的左侧导航栏中,选择 API 权限

  2. 选择添加权限

  3. 选择微软 Graph

  4. 选择应用程序权限

  5. 搜索并选择Files.Read.AllSites.Read.AllUser.Read.AllGroup.Read.All、和GroupMember.Read.All,然后选择添加权限

重要

选择 “应用程序权限” 选项卡,而不是 “委派权限”。 Admin-managed 安装程序使用客户端凭证流程,这需要应用程序权限。

  1. API 权限页面上,为 [您的组织] 选择授予管理员同意

  2. 出现提示时确认同意。

重要

应用程序权限需要获得管理员同意。没有它,应用程序就无法访问 OneDrive 数据。

上传证书

  1. 在应用程序注册的左侧导航栏中,选择 “证书和机密”。

  2. 选择 Certificates (证书) 选项卡。

  3. 选择上传证书

  4. 选择您在步骤 2 中生成的certificate.cer文件。

  5. 选择添加

注意

Entra 门户以十六进制格式显示证书指纹。这与您在步骤 2 中计算的 base64url 编码指纹不同。在 Quick 中配置知识库时,请使用 base64url 值。

第 4 步:向 Amazon Quick 授予 KMS 密钥的权限

Amazon Quick 需要获得使用 KMS 密钥签署 OAuth 断言的权限。您可以通过 Amazon Quick 管理控制台授予此权限。

注意

此步骤需要 Amazon Quick 管理员访问权限(管理员专业版角色)。如果您不是管理员,请您的 Amazon Quick 管理员使用步骤 1 中的 KMS 密钥 ARN 完成此步骤。

重要

如果您的组织管理自己的 Amazon Quick IAM 服务角色,则以下控制台步骤可能不适用。相反,请确保该角色拥有步骤 1 中的 KMS 密钥 ARN 的kms:Sign权限。

  1. 在 Amazon Quick 中,从左侧导航窗格中选择 “管理账户”。

  2. 在 “权限” 下,选择AWS资源

  3. 在AWS资源页面上,滚动到AWS密钥管理服务并选中复选框。

  4. 选择选择密钥

  5. 选择 KMS 密钥对话框中,输入您在步骤 1 中记录的 KMS 密钥 ARN,然后选择添加。

  6. 密钥 ARN 出现在列表中。选择结束

  7. 选择AWS资源页面底部的保存

后续步骤

完成设置后,在 Amazon Quick 中创建 OneDrive 知识库连接。有关说明,请参阅在 Amazon Quick 中创建知识库