前提条件
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/*" } ] }
注記
KMSPermissionsForCMKEvaluators ステートメントは、カスタマーマネージド KMS キーを使用してカスタム評価者を暗号化する場合にのみ必要です。詳細については、AgentCore 評価の保管時の暗号化」を参照してください。
サービス実行のロール
Amazon Bedrock AgentCore Evaluations では、ユーザーに代わって AWS リソースにアクセスするためのカスタム IAM ロールが必要です。このロールにより、サービスは次のことを実行できます。
-
評価のために Amazon Bedrock モデルを呼び出す (カスタム評価者を使用する場合に必要)
-
Amazon CloudWatch からのトレースの読み取り
-
Amazon CloudWatch に評価結果を書き込む
-
トレース分析のログインデックス作成を設定する
IAM ロールを作成するには、AgentCore Evaluations コンソール、 AWS コンソール、または AgentCore CLI を使用できます。
オプション 1: AgentCore 評価コンソールの使用
必要な IAM ロールはAgentCore Evaluations コンソールから直接作成できます。これにより、ロールの自動作成による合理化されたアプローチが提供されます。
AgentCore Evaluations コンソールを使用して IAM ロールを作成するには
-
Amazon Bedrock AgentCore コンソールを開きます。
-
左側のナビゲーションペインで、評価 を選択します。
-
評価設定の作成 を選択します。
-
アクセス許可セクションで、新しいサービスロールを作成して使用するを選択すると、コンソールが自動的に IAM ロールを作成します。
オプション 2: AgentCore CLI の使用
AgentCore CLI は、プロジェクトのデプロイ時に必要な IAM ロールを自動的に作成します。
オプション 3: AWS コンソールの使用
AWS コンソールを使用して IAM ロールを手動で作成できます。これにより、ロールの設定とポリシーを完全に制御できます。
AWS コンソールを使用して IAM ロールを作成するには
-
IAM コンソールを開きます。
-
ロールに移動し、ロールの作成を選択します。
-
信頼されたエンティティタイプとして AWS サービスを選択する
-
Amazon Bedrock AgentCore がロールを引き受けることを許可するには、次の信頼ポリシーを使用して IAM ロールを作成します。
{ "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/*" ] } } } ] } -
次のアクセス許可ポリシーを実行ロールにアタッチします。
{ "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 の範囲を指定することもできます。
-
ロールに名前を付ける (例: AgentCoreEvaluationRole)
-
ロールを確認して作成する