View a markdown version of this page

先決條件 - Amazon Bedrock AgentCore

先決條件

開始使用 Amazon Bedrock AgentCore Evaluations 之前,請確定您已設定必要的 AWS 許可和服務角色。

所需的許可

若要使用 AgentCore Evaluations 線上評估功能,您需要:

  • AWS 具有適當 IAM 許可的帳戶

  • 具有模型調用許可的 Amazon Bedrock 存取 (使用自訂評估器時需要)

  • 檢視評估結果的 Amazon CloudWatch 存取

  • CloudWatch 中啟用的交易搜尋 - 請參閱啟用交易搜尋

  • AWS Distro for OpenTelemetry (ADOT) SDK 會檢測您的代理程式。使用 AgentCore 可觀測性指示,為 AgentCore 執行期上託管的代理程式和其他地方託管的代理程式設定可觀測性。

IAM 使用者許可

您的 IAM 使用者或角色需要下列許可,才能建立和管理評估:

主控台和 API 操作

若要使用 Amazon Bedrock AgentCore,您可以將 BedrockAgentCoreFullAccess AWS 受管政策連接至 IAM 使用者或 IAM 角色。此政策授予所有 AgentCore 功能的廣泛許可。如果您只使用 AgentCore Evaluations,建議您建立自訂 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 的靜態加密

服務執行角色

Amazon Bedrock AgentCore Evaluations 需要自訂 IAM 角色,才能代表您存取 AWS 資源。此角色可讓服務:

  • 叫用 Amazon Bedrock 模型進行評估 (使用自訂評估器時需要)

  • 從 Amazon CloudWatch 讀取追蹤

  • 將評估結果寫入 Amazon CloudWatch

  • 設定日誌索引以進行追蹤分析

若要建立 IAM 角色,您可以使用 AgentCore Evaluations 主控台、 AWS 主控台或 AgentCore CLI。

選項 1:使用 AgentCore 評估主控台

您可以直接透過 AgentCore Evaluations 主控台建立所需的 IAM 角色,該主控台提供簡化的方法與自動建立角色。

使用 AgentCore Evaluations 主控台建立 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,您也可以限制允許的模型 IDs。

  6. 為您的角色命名 (例如 AgentCoreEvaluationRole)

  7. 檢閱並建立角色