翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
Amazon Bedrock が自動的に作成するロールではなく、エージェントのカスタムサービスロールを使用するには、AWS 「 サービスにアクセス許可を委任するロールの作成」の手順に従って IAM ロールを作成し、次のアクセス許可をアタッチします。
-
信頼ポリシー
-
次の ID ベースのアクセス許可を含むポリシー。
-
Amazon Bedrock のベースモデルへのアクセス。
-
エージェントのアクショングループ用の OpenAPI スキーマを含む Amazon S3 オブジェクトへのアクセス。
-
エージェントにアタッチしたいナレッジベースにクエリを実行するための Amazon Bedrock のアクセス許可。
-
ユースケースに関連する状況が次のいずれかの場合、ステートメントをポリシーに追加するか、ステートメントを含むポリシーをサービスロールに追加します。
-
(オプション) プロビジョンドスループットをエージェントのエイリアスに関連付ける場合、そのプロビジョンドスループットを使用してモデル呼び出しを実行するアクセス許可。
-
(オプション) ガードレールをエージェントに関連付ける場合、そのガードレールを適用するアクセス許可。ガードレールが KMS キーで暗号化されている場合、サービスロールにはキーを復号化するためのアクセス許可も必要です。
-
(オプション) KMS キーでエージェントを暗号化する場合、キーを復号化するアクセス許可。
-
-
カスタムロールを使用するかどうかにかかわらず、関数にアクセスするためのアクセス許可をサービスロールに付与するために、エージェント内のアクショングループの Lambda 関数 にリソースベースのポリシーをアタッチする必要もあります。詳細については、「Amazon Bedrock がアクショングループの Lambda 関数を呼び出すことを許可するリソースベースのポリシー」を参照してください。
トピック
信頼関係
以下の信頼ポリシーにより、Amazon Bedrock がこのロールを引き受け、エージェントを作成および管理することができます。必要に応じて ${values}
を置き換えます。このポリシーには、セキュリティのベストプラクティスとして使用することを推奨する Condition
フィールドに、オプションの条件キー (「Amazon Bedrock の条件キー」および「AWS のグローバル条件コンテキストキー」を参照) が含まれています。
注記
セキュリティ上のベストプラクティスとして、*
は特定のエージェント ID に置き換えてください (作成後)。
{
"Version": "2012-10-17",
"Statement": [{
"Effect": "Allow",
"Principal": {
"Service": "bedrock.amazonaws.com"
},
"Action": "sts:AssumeRole",
"Condition": {
"StringEquals": {
"aws:SourceAccount": "${account-id}
"
},
"ArnLike": {
"AWS:SourceArn": "arn:aws:bedrock:${region}
:${account-id}
:agent/*
"
}
}
}]
}
エージェントサービスロールのアイデンティティベースのアクセス許可
必要に応じて ${values}
を置き換えて、サービスロールのアクセス許可を付与するには、次のポリシーをアタッチします。ポリシーには、次のステートメントが含まれます。ユースケースに適用されない場合は、ステートメントを省略します。このポリシーには、セキュリティのベストプラクティスとして使用することを推奨する Condition
フィールドに、オプションの条件キー (「Amazon Bedrock の条件キー」および「AWS のグローバル条件コンテキストキー」を参照) が含まれています。
注記
カスタマーマネージド KMS キーでエージェントを暗号化する場合は、追加する必要があるその他のアクセス許可については、「エージェントリソースの暗号化」を参照してください。
-
Amazon Bedrock 基盤モデルを使用して、エージェントのオーケストレーションで使用されるプロンプトに対してモデル推論を実行するアクセス許可。
-
Amazon S3 のエージェントのアクショングループ API スキーマにアクセスするためのアクセス許可。エージェントにアクショングループがない場合は、このステートメントを省略します。
-
エージェントに関連付けられたナレッジベースにアクセスするためのアクセス許可。エージェントに関連付けられたナレッジベースがない場合は、このステートメントを省略します。
-
エージェントに関連付けられたサードパーティ (Pinecone または Redis Enterprise Cloud) のナレッジベースにアクセスするためのアクセス許可。ナレッジベースがファーストパーティ (Amazon OpenSearch Serverless または Amazon Aurora) である場合、またはエージェントにナレッジベースが関連付けられていない場合は、このステートメントを省略します。
-
プロンプト管理からプロンプトにアクセスするためのアクセス許可。Amazon Bedrock コンソールでエージェントを使用してプロンプト管理からのプロンプトをテストする予定がない場合は、このステートメントを省略します。
{
"Version": "2012-10-17",
"Statement": [
{
"Sid": "AgentModelInvocationPermissions
",
"Effect": "Allow",
"Action": [
"bedrock:InvokeModel"
],
"Resource": [
"arn:aws:bedrock:${region}
::foundation-model/anthropic.claude-v2",
"arn:aws:bedrock:${region}
::foundation-model/anthropic.claude-v2:1",
"arn:aws:bedrock:${region}
::foundation-model/anthropic.claude-instant-v1"
]
},
{
"Sid": "AgentActionGroupS3
",
"Effect": "Allow",
"Action": [
"s3:GetObject"
],
"Resource": [
"arn:aws:s3:::bucket/path/to/schema
"
],
"Condition": {
"StringEquals": {
"aws:ResourceAccount": "${account-id}
"
}
}
},
{
"Sid": "AgentKnowledgeBaseQuery
",
"Effect": "Allow",
"Action": [
"bedrock:Retrieve",
"bedrock:RetrieveAndGenerate"
],
"Resource": [
"arn:aws:bedrock:${region}
:${account-id}
:knowledge-base/knowledge-base-id
"
]
},
{
"Sid": "Agent3PKnowledgeBase
",
"Effect": "Allow",
"Action": [
"bedrock:AssociateThirdPartyKnowledgeBase",
],
"Resource": "arn:aws:bedrock:${region}
:${account-id}
:knowledge-base/knowledge-base-id
",
"Condition": {
"StringEquals" : {
"bedrock:ThirdPartyKnowledgeBaseCredentialsSecretArn": "arn:aws:kms:${region}
:${account-id}
:key/${key-id}
"
}
}
},
{
"Sid": "AgentPromptManagementConsole
",
"Effect": "Allow",
"Action": [
"bedrock:GetPrompt",
],
"Resource": [
"arn:aws:bedrock:${region}
:${account-id}
:prompt/prompt-id
"
]
},
]
}
(オプション) Amazon Bedrock がエージェントのエイリアスでプロビジョンドスループットを使用できるようにするアイデンティティベースのポリシー
プロビジョンドスループットをエージェントのエイリアスに関連付ける場合は、次のアイデンティティベースのポリシーをサービスロールにアタッチするか、エージェントサービスロールのアイデンティティベースのアクセス許可 のポリシーにステートメントを追加します。
{
"Version": "2012-10-17",
"Statement": [
{
"Sid": "UsePT
",
"Effect": "Allow",
"Action": [
"bedrock:InvokeModel",
"bedrock:GetProvisionedModelThroughput"
],
"Resource": [
"arn:aws:bedrock:{${region}
}:{${account-id}
}:${provisioned-model-id}
"
]
}
]
}
(オプション) Amazon Bedrock が エージェントでガードレールを使用できるようにするアイデンティティベースのポリシー
ガードレールをエージェントに関連付ける場合は、次のアイデンティティベースのポリシーをサービスロールにアタッチするか、エージェントサービスロールのアイデンティティベースのアクセス許可 のポリシーにステートメントを追加します。
{
"Version": "2012-10-17",
"Statement": [
{
"Sid": "ApplyGuardrail
",
"Effect": "Allow",
"Action": "bedrock:ApplyGuardrail",
"Resource": [
"arn:aws:bedrock:{${region}
}:{${account-id}
}:guardrail/${guardrail-id}
"
]
}
]
}
(オプション) Amazon Bedrock が S3 からファイルにアクセスしてコード解釈で使用できるようにするためのアイデンティティベースのポリシー
Amazon Bedrock でコード解釈を有効にする を有効にする場合は、次の ID ベースのポリシーをサービスロールにアタッチするか、エージェントサービスロールのアイデンティティベースのアクセス許可のポリシーにステートメントを追加します。
{
"Version": "2012-10-17",
"Statement": [
{
"Sid": "AmazonBedrockAgentFileAccess",
"Effect": "Allow",
"Action": [
"s3:GetObject",
"s3:GetObjectVersion",
"s3:GetObjectVersionAttributes",
"s3:GetObjectAttributes"
],
"Resource": [
"arn:aws:s3:::[[customerProvidedS3BucketWithKey]]"
]
}
]
}
Amazon Bedrock がアクショングループの Lambda 関数を呼び出すことを許可するリソースベースのポリシー
「Lambda のリソースベースのポリシーを使用する」の手順に従って、次のリソースベースのポリシーを Lambda 関数にアタッチして、Amazon Bedrock がエージェントのアクショングループの Lambda 関数にアクセスし、必要に応じて ${values}
を置き換えられるようにします。このポリシーには、セキュリティのベストプラクティスとして使用することを推奨する Condition
フィールドに、オプションの条件キー (「Amazon Bedrock の条件キー」および「AWS のグローバル条件コンテキストキー」を参照) が含まれています。
{
"Version": "2012-10-17",
"Statement": [
{
"Sid": "AccessLambdaFunction
",
"Effect": "Allow",
"Principal": {
"Service": "bedrock.amazonaws.com"
},
"Action": "lambda:InvokeFunction",
"Resource": "arn:aws:lambda:${region}
:${account-id}
:function:function-name
",
"Condition": {
"StringEquals": {
"AWS:SourceAccount": "${account-id}
"
},
"ArnLike": {
"AWS:SourceArn": "arn:aws:bedrock:${region}
:${account-id}
:agent/${agent-id}
"
}
}
}
]
}