View a markdown version of this page

先决条件 - 亚马逊基岩 AgentCore

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

先决条件

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

所需的权限

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

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

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

  • 查看评估结果的亚马逊 CloudWatch权限

  • 使用支持的框架和仪器库构建的代理。有关支持的框架和工具库的更多信息,请参阅支持的代理框架。

  • 在 AgentCore Runtime 上部署且启用了可观察性的代理,或者使用配置了可AgentCore 观测性(包括事务搜索)的受支持框架构建的代理。有关遥测设置的更多信息,请参阅遥测设置和交付。

IAM 用户权限

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

控制台和 API 操作

要使用亚马逊 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 评估时的静态加密。

服务执行角色

亚马逊基岩 AgentCore 评估需要自定义 IAM 角色才能代表您访问 AWS 资源。此角色允许该服务:

  • 调用 Amazon Bedrock 模型进行评估(使用自定义评估器时为必填项)

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

  • 将评估结果写给亚马逊 CloudWatch

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

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

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

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

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

  1. 打开亚马逊 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. 查看并创建角色