View a markdown version of this page

先决条件 - Amazon Bedrock AgentCore

先决条件

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

所需的权限

要使用 AgentCore 评估在线评估功能,您需要:

  • AWS 拥有相应 IAM 权限的@@ 账户

  • 具有模型调用权限的 Amazon Bedrock 访问权限(使用自定义评估器时需要)

  • Amazon CloudWatch 访问权限以查看评估结果

  • 已在中启用@@ 交易搜索 CloudWatch -请参阅启用交易搜索

  • AWS 用于检测代理的 OpenTelemetry (ADOT) SDK 发行版。使用 AgentCore 可观察性说明为托管在 AgentCore Runtime 上的代理和托管在其他地方的代理配置可观察性。

IAM 用户权限

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

控制台和 API 操作

要使用 Amazon Bedrock AgentCore,您可以将BedrockAgentCoreFullAccess AWS 托管策略附加到您的 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 评估的静态加密

服务执行角色

Amazon Bedrock AgentCore 评估需要自定义 IAM 角色才能代表您访问 AWS 资源。此角色允许服务执行以下操作:

  • 调用 Amazon Bedrock 模型进行评估(使用自定义评估器时需要)

  • 阅读来自亚马逊的踪迹 CloudWatch

  • 将评估结果写入 Amazon CloudWatch

  • 为跟踪分析配置日志索引

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

选项 1:使用 AgentCore 评估控制台

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

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

  1. 打开 Amazon Bedrock AgentCore 控制台。

  2. 在左侧导航窗格中,选择 “评估”。

  3. 选择创建评估配置

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

选项 2:使用 AgentCore CLI

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

选项 3:使用 AWS 控制台

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

使用 AWS 控制台创建 IAM 角色

  1. 打开 IAM 控制台

  2. 导航到 “角色”,然后选择 “创建角色

  3. 选择 AWS 服务作为可信实体类型

  4. 使用以下信任策略创建一个 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/*" ] } } } ] }
  5. 将以下权限策略附加到执行角色:

    { "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}} 替换为您的 AWS 实际地区和账户 ID。如果您使用的是自定义赋值器并指定了 BedrockInvokeStatement,则还可以限定允许的模型 ID 的范围。

  6. 为你的角色命名(例如 AgentCoreEvaluationRole)

  7. 查看并创建角色