

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

# 用户管理设置的 IAM 权限 (3LO)
<a name="kb-managed-3lo-setup"></a>

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

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

## 登录流程的亚马逊 Bedrock 权限
<a name="kb-managed-3lo-setup-bedrock"></a>

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

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

## AWS Secrets Manager 生成的密钥的权限
<a name="kb-managed-3lo-setup-secret"></a>

当您登录时，亚马逊 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/*`。

## 组合策略示例
<a name="kb-managed-3lo-setup-combined"></a>

以下策略结合了控制台用户完成用户管理设置 (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}}/*"
            ]
        }
    ]
}
```