

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

# 在 Amazon Bedrock 中进行重排的权限
<a name="rerank-prereq"></a>

用户需要以下权限才能使用重排：
+ 对他们计划使用的重排模型的访问权限。有关更多信息，请参阅 [请求访问模型](model-access.md)。对于第三方模型（例如 Cohere 重新排名），您的 IAM 角色还需要`aws-marketplace:ViewSubscriptions`和`aws-marketplace:Subscribe`权限。有关更多信息，请参阅[使用产品 ID 条件键控制访问权限](model-access-product-ids.md)。
+ 用于其角色的权限，如果用户计划在 [https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent-runtime_Retrieve.html](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent-runtime_Retrieve.html) 工作流中使用重排，还包括针对与其角色有[信任关系](kb-permissions.md#kb-permissions-trust)的 Amazon Bedrock 知识库服务角色的权限。
**提示**  
要快速配置所需的权限，您可以执行以下操作：  
将[AmazonBedrockFullAccess](security-iam-awsmanpol.md#security-iam-awsmanpol-AmazonBedrockFullAccess) AWS 托管策略附加到用户角色。有关将策略附加到 IAM 角色的更多信息，请参阅[添加和删除 IAM 身份权限](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_manage-attach-detach.html)。
在[创建知识库时](knowledge-base-create.md)，使用 Amazon Bedrock 控制台创建 Amazon Bedrock 知识库服务角色。如果您已经拥有控制台为您创建的 Amazon Bedrock 知识库服务角色，那么在控制台中[检索源](kb-test-retrieve.md)时，可通过控制台更新该角色。
**重要**  
当您通过 Amazon Bedrock 知识库服务角色在 `Retrieve` 工作流中使用重排时，请注意以下几点：  
如果您手动编辑 Amazon Bedrock 为您的知识库服务角色创建的 AWS Identity and Access Management (IAM) 策略，则在尝试更新中的权限时可能会遇到错误。 AWS 管理控制台要解决此问题，请在 IAM 控制台中删除您手动创建的策略版本。然后，在 Amazon Bedrock 控制台中刷新重排器页面并重试。
如果您使用自定义角色，Amazon Bedrock 将无法代表您更新知识库服务角色。请验证是否为服务角色正确配置了权限。

  有关使用案例及其所需权限的摘要，请参阅下表：  
****    
[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_cn/bedrock/latest/userguide/rerank-prereq.html)

有关可附加到 IAM 角色的权限策略示例，请展开与您的使用案例对应的部分：

## 用于独立使用重排模型的权限策略
<a name="rerank-permissions-rerank"></a>

要直接将[重排](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent-runtime_Rerank.html)与资源列表一起使用，用户角色需要使用 `bedrock:Rerank` 和 `bedrock:InvokeModel` 操作的权限。同样，为了阻止使用重排模型，您必须拒绝这两个操作的权限。要允许用户角色独立使用重排模型，您可以将以下策略附加到该角色：

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "RerankSid",
            "Effect": "Allow",
            "Action": [
                "bedrock:Rerank"
            ],
            "Resource": "*"
        },
        {
            "Sid": "InvokeModelSid",
            "Effect": "Allow",
            "Action": [
                "bedrock:InvokeModel"
            ],
            "Resource": [
                "arn:aws:bedrock:us-east-1::foundation-model/model-id"
            ]
        }
    ]
}
```

------

在上述策略中，对于 `bedrock:InvokeModel` 操作，您需要将权限范围限定为您希望允许该角色用来重排的模型。要允许访问所有模型，请在`Resource`字段中使用通配符 (*\$1*)。

## 用于在检索工作流中使用重排模型的权限策略
<a name="rerank-permissions-retrieve"></a>

要在从知识库中检索数据时使用重排，您必须设置以下权限：

**对于用户角色**

用户角色需要使用 `bedrock:Retrieve` 操作的权限。要允许用户角色从知识库中检索数据，您可以将以下策略附加到角色：

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "RetrieveSid",
            "Effect": "Allow",
            "Action": [
                "bedrock:Retrieve"
            ],
            "Resource": [
                "arn:aws:bedrock:us-east-1:123456789012:knowledge-base/KnowledgeBaseId"
            ]
        }
    ]
}
```

------

在上述策略中，对于 `bedrock:Retrieve` 操作，您可以将权限范围限定为要允许该角色从中检索信息的知识库。要允许访问所有知识库，可以在`Resource`字段中使用通配符 (*\$1*)。

**对于服务角色**

用户使用的 [Amazon Bedrock 知识库服务角色](kb-permissions.md)需要使用 `bedrock:Rerank` 和 `bedrock:InvokeModel` 操作的权限。如果您在[配置知识库检索](kb-test-retrieve.md)时选择了重排模型，则可以使用 Amazon Bedrock 控制台自动为您的服务角色配置权限。否则，要允许该服务角色在检索期间对源进行重排，您可以附加以下策略：

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "RerankSid",
            "Effect": "Allow",
            "Action": [
                "bedrock:Rerank"
            ],
            "Resource": "*"
        },
        {
            "Sid": "InvokeModelSid",
            "Effect": "Allow",
            "Action": [
                "bedrock:InvokeModel"
            ],
            "Resource": "arn:aws:bedrock:us-east-1::foundation-model/RerankModelId"
        }
    ]
}
```

------

在上述策略中，对于 `bedrock:InvokeModel` 操作，您需要将权限范围限定为您希望允许该角色用来重排的模型。要允许访问所有模型，您可以在 `Resource` 字段中使用通配符（\$1）。

## 在工作流程中使用重新排名模型的 RetrieveAndGenerate 权限策略
<a name="rerank-permissions-retrieve-and-generate"></a>

要在从知识库检索数据然后根据检索到的结果生成响应时使用重排器模型，用户角色需要使用 `bedrock:RetrieveAndGenerate`、`bedrock:Rerank` 和 `bedrock:InvokeModel` 操作的权限。要允许在检索期间对源进行重排并允许根据结果生成响应，您可以将以下策略附加到用户角色：

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "RerankRetrieveAndGenerateSid",
            "Effect": "Allow",
            "Action": [
                "bedrock:Rerank",
                "bedrock:RetrieveAndGenerate"
            ],
            "Resource": "*"
        },
        {
            "Sid": "InvokeModelSid",
            "Effect": "Allow",
            "Action": [
                "bedrock:InvokeModel"
            ],
            "Resource": [
                "arn:aws:bedrock:us-east-1::foundation-model/RerankModelId}",
                "arn:aws:bedrock:us-east-1::foundation-model/GenerationModelId}"
            ]
        }
    ]
}
```

------

在上述策略中，对于 `bedrock:InvokeModel` 操作，您可以将权限范围限定为您希望允许该角色用来重排的模型，以及您希望允许该角色用来生成响应的模型。要允许访问所有模型，可以在`Resource`字段中使用通配符 (*\$1*)。

要进一步限制权限，您可以忽略操作，或者指定用于筛选权限的资源和条件键。有关操作、资源和条件键的更多信息，请参阅《服务授权参考》**中的以下主题：
+ [Amazon Bedrock 定义的操作](https://docs.aws.amazon.com/service-authorization/latest/reference/list_amazonbedrock.html#amazonbedrock-actions-as-permissions) – 了解操作、您可以在 `Resource` 字段中限定范围的资源类型，以及 `Condition` 字段中可用于筛选权限的条件键。
+ [Amazon Bedrock 定义的资源类型](https://docs.aws.amazon.com/service-authorization/latest/reference/list_amazonbedrock.html#amazonbedrock-resources-for-iam-policies) – 了解 Amazon Bedrock 中的资源类型。
+ [Amazon Bedrock 的条件键](https://docs.aws.amazon.com/service-authorization/latest/reference/list_amazonbedrock.html#amazonbedrock-policy-keys) – 了解 Amazon Bedrock 中的条件键。