

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

# 先决条件
<a name="evaluations-prerequisites"></a>

在开始使用 Amazon Bedrock AgentCore 评估之前，请确保您已配置必要的 Amazon 权限和服务角色。

**Topics**
+ [所需的权限](#required-permissions)
+ [IAM 用户权限](#iam-user-permissions)
+ [服务执行角色](#service-execution-role)

## 所需的权限
<a name="required-permissions"></a>

要使用 AgentCore 评估在线评估功能，您需要：
+  ** Amazon **拥有相应 IAM 权限的账户
+  **具有模型调用权限的 Amazon Bedrock ** 访问权限（使用自定义评估器时需要）
+  **查看评估结果的亚马逊 CloudWatch**权限
+ 使用支持的框架和仪器库构建的代理。有关支持的框架和工具库的更多信息，请参阅[支持的代理框架](supported-frameworks.md)。
+ 在 AgentCore Runtime 上部署且启用了可观察性的代理，或者使用配置了可[AgentCore 观测性](observability.md)（包括事务搜索）的受支持框架构建的代理。有关遥测设置的更多信息，请参阅[遥测设置和交付。](supported-frameworks-telemetry.md)

## IAM 用户权限
<a name="iam-user-permissions"></a>

您的 IAM 用户或角色需要以下权限才能创建和管理评估：

**Topics**
+ [控制台和 API 操作](#console-api-operations)

### 控制台和 API 操作
<a name="console-api-operations"></a>

要使用亚马逊 Bedrock AgentCore，您可以将[BedrockAgentCoreFullAccess](https://docs.amazonaws.cn/aws-managed-policy/latest/reference/BedrockAgentCoreFullAccess.html) Amazon 托管策略附加到您的 IAM 用户或 IAM 角色。此策略为所有权能授予广泛 AgentCore 权限。如果您仅使用 AgentCore 评估，我们建议您创建仅包含评估所需权限的自定义 IAM 策略。

```
{
"Version": "2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [
                "bedrock-agentcore:CreateEvaluator",
                "bedrock-agentcore:GetEvaluator",
                "bedrock-agentcore:ListEvaluators",
                "bedrock-agentcore:UpdateEvaluator",
                "bedrock-agentcore:DeleteEvaluator",
                "bedrock-agentcore:CreateOnlineEvaluationConfig",
                "bedrock-agentcore:GetOnlineEvaluationConfig",
                "bedrock-agentcore:ListOnlineEvaluationConfigs",
                "bedrock-agentcore:UpdateOnlineEvaluationConfig",
                "bedrock-agentcore:DeleteOnlineEvaluationConfig",
                "bedrock-agentcore:Evaluate"
            ],
            "Resource": "*"
        },
        {
            "Effect": "Allow",
            "Action": [
                "iam:PassRole"
            ],
            "Resource": "arn:aws:iam::*:role/AgentCoreEvaluationRole*",
            "Condition": {
                "StringEquals": {
                    "iam:PassedToService": "bedrock-agentcore.amazonaws.com"
                }
            }
        },
        {
            "Effect": "Allow",
            "Action": [
                "bedrock:InvokeModel",
                "bedrock:Converse",
                "bedrock:InvokeModelWithResponseStream",
                "bedrock:ConverseStream"
            ],
            "Resource": [
                "arn:aws:bedrock:*::foundation-model/*",
                "arn:aws:bedrock:*:*:inference-profile/*"
            ]
        },
        {
            "Effect": "Allow",
            "Action": [
                "logs:DescribeIndexPolicies",
                "logs:PutIndexPolicy",
                "logs:CreateLogGroup"
            ],
            "Resource": "*"
        },
        {
            "Sid": "KMSPermissionsForCMKEvaluators",
            "Effect": "Allow",
            "Action": [
                "kms:DescribeKey",
                "kms:GenerateDataKey",
                "kms:Decrypt"
            ],
            "Resource": "arn:aws:kms:*:*:key/*"
        }
    ]
}
```

**注意**  
仅当您使用客户管理的 KMS 密钥对自定义评估器进行加密时，才需要该`KMSPermissionsForCMKEvaluators`语句。有关更多信息，请参阅 AgentCore 评估时的静[态加密](evaluations-encryption.md)。

## 服务执行角色
<a name="service-execution-role"></a>

亚马逊基岩 AgentCore 评估需要自定义 IAM 角色才能代表您访问 Amazon 资源。此角色允许该服务：
+ 调用 Amazon Bedrock 模型进行评估（使用自定义评估器时为必填项）
+ 阅读来自亚马逊的痕迹 CloudWatch
+ 将评估结果写给亚马逊 CloudWatch
+ 为跟踪分析配置日志索引

要创建 IAM 角色，您可以使用 AgentCore 评估控制台、 Amazon 控制台或 AgentCore CLI。

**Topics**
+ [选项 1：使用 AgentCore 评估控制台](#option-console)
+ [选项 2：使用 AgentCore CLI](#option-toolkit)
+ [选项 3：使用 Amazon 控制台](#option-aws-console)

### 选项 1：使用 AgentCore 评估控制台
<a name="option-console"></a>

您可以直接通过 AgentCore 评估控制台创建所需的 IAM 角色，该控制台提供了一种可自动创建角色的简化方法。

 **使用 AgentCore 评估控制台创建 IAM 角色 ** 

1. 打开亚马逊 Bedrock AgentCore 控制台。

1. 在左侧导航窗格中，选择**评估**。

1. 选择 “**创建评估配置” **。

1. 在权限部分中，选择**创建并使用新的服务角色**，控制台将自动为您创建 IAM 角色。

### 选项 2：使用 AgentCore CLI
<a name="option-toolkit"></a>

当您部署项目时， AgentCore CLI 会自动创建所需的 IAM 角色。

### 选项 3：使用 Amazon 控制台
<a name="option-aws-console"></a>

您可以使用 Amazon 控制台手动创建 IAM 角色，这使您可以完全控制角色配置和策略。

 **使用 Amazon 控制台创建 IAM 角色 ** 

1. 打开 IAM 控制台

1. 导航到角色并选择**创建角色 ** 

1. 选择** Amazon 服务**作为可信实体类型

1. 使用以下信任策略创建 IAM 角色以允许 Amazon Bedrock 代 AgentCore 入该角色：

   ```
   {
   "Version": "2012-10-17",		 	 	 
       "Statement": [
           {
               "Sid": "TrustPolicyStatement",
               "Effect": "Allow",
               "Principal": {
                   "Service": "bedrock-agentcore.amazonaws.com"
               },
               "Action": "sts:AssumeRole",
               "Condition": {
                   "StringEquals": {
                       "aws:SourceAccount": "{{accountId}}",
                       "aws:ResourceAccount": "{{accountId}}"
                   },
                   "ArnLike": {
                       "aws:SourceArn": [
                           "arn:aws:bedrock-agentcore:{{region}}:{{accountId}}:evaluator/*",
                           "arn:aws:bedrock-agentcore:{{region}}:{{accountId}}:online-evaluation-config/*"
                       ]
                   }
               }
           }
       ]
   }
   ```

1. 将以下权限策略附加到执行角色：

   ```
   {
   "Version": "2012-10-17",		 	 	 
       "Statement": [
           {
               "Sid": "CloudWatchLogReadStatement",
               "Effect": "Allow",
               "Action": [
                   "logs:DescribeLogGroups",
                   "logs:GetQueryResults",
                   "logs:StartQuery"
               ],
               "Resource": "*"
           },
           {
               "Sid": "CloudWatchLogWriteStatement",
               "Effect": "Allow",
               "Action": [
                   "logs:CreateLogGroup",
                   "logs:CreateLogStream",
                   "logs:PutLogEvents"
               ],
               "Resource": "arn:aws:logs:{{region}}:{{accountId}}:log-group:/aws/bedrock-agentcore/evaluations/*"
           },
           {
               "Sid": "CloudWatchIndexPolicyStatement",
               "Effect": "Allow",
               "Action": [
                   "logs:DescribeIndexPolicies",
                   "logs:PutIndexPolicy"
               ],
               "Resource": [
                   "arn:aws:logs:{{region}}:{{accountId}}:log-group:aws/spans",
                   "arn:aws:logs:{{region}}:{{accountId}}:log-group:aws/spans:*"
               ]
           },
           {
               "Sid": "BedrockInvokeStatement",
               "Effect": "Allow",
               "Action": [
                   "bedrock:InvokeModel",
                   "bedrock:InvokeModelWithResponseStream"
               ],
               "Resource": [
                   "arn:aws:bedrock:{{region}}::foundation-model/*",
                   "arn:aws:bedrock:{{region}}:{{accountId}}:inference-profile/*"
               ]
           }
       ]
   }
   ```
**注意**  
将 {{region}} 和 {{accountId}} 替换为您的实际 Amazon 区域和账户 ID。如果您使用自定义评估器并已指定了 BedrockInvokeStatement，则还可以限定允许的模型 ID 的范围。

1. 为你的角色命名（例如， AgentCoreEvaluationRole）

1. 查看并创建角色