View a markdown version of this page

用户管理设置的 IAM 权限 (3LO) - Amazon Bedrock

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

用户管理设置的 IAM 权限 (3LO)

使用用户管理设置 (3LO),您可以直接从亚马逊 Bedrock 知识库控制台登录第三方数据源(例如SharePointOneDrive、或Confluence),Amazon Bedrock 托管知识库负责身份验证。要完成此流程,启动登录的 IAM 委托人必须能够请求授权 URL 并将生成的代码交换为令牌。委托人还必须能够创建存储代币的 AWS Secrets Manager 秘密。本页描述了您必须向该委托人授予的 IAM 权限。

注意

此页面上的权限适用于启动用户管理设置 (3LO) 的控制台用户。它们与授予知识库执行角色的权限是分开的,知识库执行角色需要对密钥的读写访问权限才能刷新令牌。有关执行角色权限,请参阅连接器特定的设置页面,例如User-managed 设置 (3LO)User-managed 设置 (3LO)、或。User-managed 设置 (3LO)

登录流程的亚马逊 Bedrock 权限

您需要以下 Amazon Bedrock 权限才能启动用户管理设置 (3LO) 登录流程。亚马逊 Bedrock GetDataSourceAuthorizationUrl 用于构建在登录弹出窗口中打开的第三方授权网址。在您授权连接后,它用于CreateDataSourceToken将授权码交换为令牌。

{ "Version": "2012-10-17", "Statement": [{ "Sid": "BedrockManagedKb3LO", "Effect": "Allow", "Action": [ "bedrock:GetDataSourceAuthorizationUrl", "bedrock:CreateDataSourceToken" ], "Resource": "*" }] }

AWS Secrets Manager 生成的密钥的权限

当您登录时,亚马逊 Bedrock 托管知识库会在您的 AWS 账户中创建一个密钥来存储 3LO 刷新令牌。您需要secretsmanager:CreateSecret获得亚马逊 Bedrock 创建的密钥的权限。

选择 “登录” 时,可以选择提供密钥名称前缀。亚马逊 Bedrock 管理知识库在生成的密钥 ARN 中包含此前缀。使用前缀,您可以将Resource元素的范围限定为仅限于 Amazon Bedrock 为用户管理的设置创建的密钥。如果您不提供前缀,则亚马逊 Bedrock 使用default作为前缀。

生成的密钥 ARN 遵循以下模式:

arn:aws:secretsmanager:region:account-id:secret:bedrock-managedkb-oauth/your-prefix/connector-type/uuid

附上以下策略,将secretsmanager:CreateSecret范围限定为带有您的前缀的机密:

{ "Version": "2012-10-17", "Statement": [{ "Sid": "BedrockManagedKb3LOCreateSecret", "Effect": "Allow", "Action": [ "secretsmanager:CreateSecret" ], "Resource": [ "arn:aws:secretsmanager:region:account-id:secret:bedrock-managedkb-oauth/your-prefix/*" ] }] }
注意

如果您不提供机密名称前缀,请将Resource元素中的your-prefix分段替换为default,使其范围为arn:aws:secretsmanager:region:account-id:secret:bedrock-managedkb-oauth/default/*

组合策略示例

以下策略结合了控制台用户完成用户管理设置 (3LO) 所需的 Amazon Bedrock 和 AWS Secrets Manager 权限:

{ "Version": "2012-10-17", "Statement": [ { "Sid": "BedrockManagedKb3LO", "Effect": "Allow", "Action": [ "bedrock:GetDataSourceAuthorizationUrl", "bedrock:CreateDataSourceToken" ], "Resource": "*" }, { "Sid": "BedrockManagedKb3LOCreateSecret", "Effect": "Allow", "Action": [ "secretsmanager:CreateSecret" ], "Resource": [ "arn:aws:secretsmanager:region:account-id:secret:bedrock-managedkb-oauth/your-prefix/*" ] } ] }