

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

# Amazon Bedrock エージェントのサービスロールを作成する
<a name="agents-permissions"></a>

Amazon Bedrock が自動的に作成するロールの代わりにエージェントにカスタムサービスロールを使用するには、[AWS 「 サービスにアクセス許可を委任するロールを作成する」の手順に従って、IAM ロールを作成し、次のアクセス許可をアタッチします](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_create_for-service.html)。
+ 信頼ポリシー
+ 次の ID ベースのアクセス許可を含むポリシー。
  + Amazon Bedrock のベースモデルへのアクセス。
  + エージェントのアクショングループ用の OpenAPI スキーマを含む Amazon S3 オブジェクトへのアクセス。
  + エージェントにアタッチしたいナレッジベースにクエリを実行するための Amazon Bedrock のアクセス許可。
  + ユースケースに関連する状況が次のいずれかの場合、ステートメントをポリシーに追加するか、ステートメントを含むポリシーをサービスロールに追加します。
    + (オプション) マルチエージェントコラボレーションを有効にする場合は、エイリアスを取得してエージェントコラボレーターを呼び出すためのアクセス許可。
    + (オプション) プロビジョンドスループットをエージェントのエイリアスに関連付ける場合、そのプロビジョンドスループットを使用してモデル呼び出しを実行するアクセス許可。
    + (オプション) ガードレールをエージェントに関連付ける場合、そのガードレールを適用するアクセス許可。ガードレールが KMS キーで暗号化されている場合、サービスロールには[キーを復号化するためのアクセス許可](guardrails-permissions-kms.md)も必要です。
    + (オプション) KMS キーでエージェントを暗号化する場合、[キーを復号化するアクセス許可](encryption-agents.md)。

カスタムロールを使用するかどうかにかかわらず、関数にアクセスするためのアクセス許可をサービスロールに付与するために、エージェント内のアクショングループの Lambda 関数 に**リソースベースのポリシー**をアタッチする必要もあります。詳細については、「[Amazon Bedrock がアクショングループの Lambda 関数を呼び出すことを許可するリソースベースのポリシー](#agents-permissions-lambda)」を参照してください。

**Topics**
+ [信頼関係](#agents-permissions-trust)
+ [エージェントサービスロールのアイデンティティベースのアクセス許可](#agents-permissions-identity)
+ [(オプション) Amazon Bedrock がエージェントのエイリアスでプロビジョンドスループットを使用できるようにするアイデンティティベースのポリシー](#agents-permissions-pt)
+ [(オプション) Amazon Bedrock がエージェントコラボレーターを関連付けて呼び出すことを許可するアイデンティティベースのポリシー](#agents-permissions-mac)
+ [(オプション) Amazon Bedrock が エージェントでガードレールを使用できるようにするアイデンティティベースのポリシー](#agents-permissions-gr)
+ [(オプション) Amazon Bedrock が S3 からファイルにアクセスしてコード解釈で使用できるようにするためのアイデンティティベースのポリシー](#agents-permissions-files-ci)
+ [Amazon Bedrock がアクショングループの Lambda 関数を呼び出すことを許可するリソースベースのポリシー](#agents-permissions-lambda)

## 信頼関係
<a name="agents-permissions-trust"></a>

以下の信頼ポリシーにより、Amazon Bedrock がこのロールを引き受け、エージェントを作成および管理することができます。必要に応じて {{${values}}} を置き換えます。このポリシーには、セキュリティのベストプラクティスとして使用することを推奨する `Condition` フィールドに、オプションの条件キー (「[Amazon Bedrock の条件キー](https://docs.aws.amazon.com/service-authorization/latest/reference/list_amazonbedrock.html#amazonbedrock-policy-keys)」および「[AWS のグローバル条件コンテキストキー](https://docs.aws.amazon.com/service-authorization/latest/reference/list_amazonbedrock.html#amazonbedrock-policy-keys)」を参照) が含まれています。

**注記**  
セキュリティ上のベストプラクティスとして、{{\*}} は特定のエージェント ID に置き換えてください (作成後)。

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Principal": {
                "Service": "bedrock.amazonaws.com"
            },
            "Action": "sts:AssumeRole",
            "Condition": {
                "StringEquals": {
                    "aws:SourceAccount": "{{123456789012}}"
                },
                "ArnLike": {
                    "AWS:SourceArn": "arn:aws:bedrock:{{us-east-1}}:{{123456789012}}:agent/{{*}}"
                }
            }
        }
    ]
}
```

------

## エージェントサービスロールのアイデンティティベースのアクセス許可
<a name="agents-permissions-identity"></a>

必要に応じて {{${values}}} を置き換えて、サービスロールのアクセス許可を付与するには、次のポリシーをアタッチします。ポリシーには、次のステートメントが含まれます。ユースケースに適用されない場合は、ステートメントを省略します。このポリシーには、セキュリティのベストプラクティスとして使用することを推奨する `Condition` フィールドに、オプションの条件キー (「[Amazon Bedrock の条件キー](https://docs.aws.amazon.com/service-authorization/latest/reference/list_amazonbedrock.html#amazonbedrock-policy-keys)」および「[AWS のグローバル条件コンテキストキー](https://docs.aws.amazon.com/service-authorization/latest/reference/list_amazonbedrock.html#amazonbedrock-policy-keys)」を参照) が含まれています。

**注記**  
カスタマーマネージド KMS キーでエージェントを暗号化する場合は、追加する必要があるその他のアクセス許可については、「[2025 年 1 月 22 日より前に作成されたエージェントのエージェントリソースの暗号化](encryption-agents.md)」を参照してください。
+ Amazon Bedrock 基盤モデルを使用して、エージェントのオーケストレーションで使用されるプロンプトに対してモデル推論を実行するアクセス許可。
+ Amazon S3 のエージェントのアクショングループ API スキーマにアクセスするためのアクセス許可。エージェントにアクショングループがない場合は、このステートメントを省略します。
+ エージェントに関連付けられたナレッジベースにアクセスするためのアクセス許可。エージェントに関連付けられたナレッジベースがない場合は、このステートメントを省略します。
+ エージェントに関連付けられたサードパーティ (Pinecone または Redis Enterprise Cloud) のナレッジベースにアクセスするためのアクセス許可。ナレッジベースがファーストパーティ (Amazon OpenSearch Serverless または Amazon Aurora) である場合、またはエージェントにナレッジベースが関連付けられていない場合は、このステートメントを省略します。
+ プロンプト管理からプロンプトにアクセスするためのアクセス許可。Amazon Bedrock コンソールでエージェントを使用してプロンプト管理からのプロンプトをテストする予定がない場合は、このステートメントを省略します。

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "{{AgentModelInvocationPermissions}}",
            "Effect": "Allow",
            "Action": [
                "bedrock:InvokeModel"
            ],
            "Resource": [
                "arn:aws:bedrock:{{us-east-1}}::foundation-model/anthropic.claude-v2",
                "arn:aws:bedrock:{{us-east-1}}::foundation-model/anthropic.claude-v2:1",
                "arn:aws:bedrock:{{us-east-1}}::foundation-model/anthropic.claude-instant-v1"
            ]
        },
        {
            "Sid": "{{AgentActionGroupS3}}",
            "Effect": "Allow",
            "Action": [
                "s3:GetObject"
            ],
            "Resource": [
                "arn:aws:s3:::amzn-s3-demo-bucket/SchemaJson"
            ],
            "Condition": {
                "StringEquals": {
                    "aws:ResourceAccount": "{{123456789012}}"
                }
            }
        },
        {
            "Sid": "{{AgentKnowledgeBaseQuery}}",
            "Effect": "Allow",
            "Action": [
                "bedrock:Retrieve",
                "bedrock:RetrieveAndGenerate"
            ],
            "Resource": [
                "arn:aws:bedrock:{{us-east-1}}:{{123456789012}}:knowledge-base/{{knowledge-base-id}}"
            ]
        },
        {
            "Sid": "{{Agent3PKnowledgeBase}}",
            "Effect": "Allow",
            "Action": [
                "bedrock:AssociateThirdPartyKnowledgeBase"
            ],
            "Resource": "arn:aws:bedrock:{{us-east-1}}:{{123456789012}}:knowledge-base/{{knowledge-base-id}}",
            "Condition": {
                "StringEquals": {
                    "bedrock:ThirdPartyKnowledgeBaseCredentialsSecretArn": "arn:aws:kms:{{us-east-1}}:{{123456789012}}:key/{{KeyId}}"
                }
            }
        },
        {
            "Sid": "{{AgentPromptManagementConsole}}",
            "Effect": "Allow",
            "Action": [
                "bedrock:GetPrompt"
            ],
            "Resource": [
                "arn:aws:bedrock:{{us-east-1}}:{{123456789012}}:prompt/{{prompt-id}}"
            ]
        }
    ]
}
```

------

**重要**  
エージェントが基盤モデルの代わりに[推論プロファイル](inference-profiles-support.md)を直接使用する場合は、 `AgentModelInvocationPermissions`ステートメントに次の変更を加える必要があります。  
推論プロファイル ARN を`Resource`リストに追加します。形式は `arn:aws:bedrock:{{region}}:{{account-id}}:inference-profile/{{inference-profile-id}}` です。
次のアクションを`Action`リストに追加します。  
`bedrock:InvokeModelWithResponseStream`
`bedrock:GetInferenceProfile`
`bedrock:GetFoundationModel`

## (オプション) Amazon Bedrock がエージェントのエイリアスでプロビジョンドスループットを使用できるようにするアイデンティティベースのポリシー
<a name="agents-permissions-pt"></a>

[プロビジョンドスループット](prov-throughput.md)をエージェントのエイリアスに関連付ける場合は、次のアイデンティティベースのポリシーをサービスロールにアタッチするか、[エージェントサービスロールのアイデンティティベースのアクセス許可](#agents-permissions-identity) のポリシーにステートメントを追加します。

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
      {        
        "Sid": "UseProvisionedThroughput",
        "Effect": "Allow",
        "Action": [
            "bedrock:InvokeModel", 
            "bedrock:GetProvisionedModelThroughput"
        ],
        "Resource": [
            "arn:aws:bedrock:{{us-east-1}}:{{123456789012}}:provisioned-model/{{${provisioned-model-id}}}"
        ]
      }
    ]
}
```

------

## (オプション) Amazon Bedrock がエージェントコラボレーターを関連付けて呼び出すことを許可するアイデンティティベースのポリシー
<a name="agents-permissions-mac"></a>

[マルチエージェントコラボレーション](agents-multi-agent-collaboration.md)を有効にする場合は、次のアイデンティティベースのポリシーをサービスロールにアタッチするか、[エージェントサービスロールのアイデンティティベースのアクセス許可](#agents-permissions-identity) のポリシーにステートメントを追加します。

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "AmazonBedrockAgentMultiAgentsPolicyProd",
            "Effect": "Allow",
            "Action": [
                "bedrock:GetAgentAlias",
                "bedrock:InvokeAgent"
            ],
            "Resource": [
                "arn:aws:bedrock:{{us-east-1}}:{{123456789012}}:{{agent-alias}}/{{${agent-id}}}/{{${agent-alias-id}}}"
            ]
        }
    ]
}
```

------

## (オプション) Amazon Bedrock が エージェントでガードレールを使用できるようにするアイデンティティベースのポリシー
<a name="agents-permissions-gr"></a>

[ガードレール](guardrails.md)をエージェントに関連付ける場合は、次のアイデンティティベースのポリシーをサービスロールにアタッチするか、[エージェントサービスロールのアイデンティティベースのアクセス許可](#agents-permissions-identity) のポリシーにステートメントを追加します。

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "{{ApplyGuardrail}}",
            "Effect": "Allow",
            "Action": "bedrock:ApplyGuardrail",
            "Resource": [
                "arn:aws:bedrock:{{us-east-1}}:{{123456789012}}:guardrail/{{${guardrail-id}}}"
            ]
        }
    ]
}
```

------

## (オプション) Amazon Bedrock が S3 からファイルにアクセスしてコード解釈で使用できるようにするためのアイデンティティベースのポリシー
<a name="agents-permissions-files-ci"></a>

[Amazon Bedrock でコード解釈を有効にする](agents-enable-code-interpretation.md) を有効にする場合は、次の ID ベースのポリシーをサービスロールにアタッチするか、[エージェントサービスロールのアイデンティティベースのアクセス許可](https://docs.aws.amazon.com//bedrock/latest/userguide/agents-permissions.html#agents-permissions-identity)のポリシーにステートメントを追加します。

------
#### [ JSON ]

****  

```
{
  "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 関数を呼び出すことを許可するリソースベースのポリシー
<a name="agents-permissions-lambda"></a>

「[Lambda のリソースベースのポリシーを使用する](https://docs.aws.amazon.com/lambda/latest/dg/access-control-resource-based.html)」の手順に従って、次のリソースベースのポリシーを Lambda 関数にアタッチして、Amazon Bedrock がエージェントのアクショングループの Lambda 関数にアクセスし、必要に応じて {{${values}}} を置き換えられるようにします。このポリシーには、セキュリティのベストプラクティスとして使用することを推奨する `Condition` フィールドに、オプションの条件キー (「[Amazon Bedrock の条件キー](https://docs.aws.amazon.com/service-authorization/latest/reference/list_amazonbedrock.html#amazonbedrock-policy-keys)」および「[AWS のグローバル条件コンテキストキー](https://docs.aws.amazon.com/service-authorization/latest/reference/list_amazonbedrock.html#amazonbedrock-policy-keys)」を参照) が含まれています。

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "{{AccessLambdaFunction}}",
            "Effect": "Allow",
            "Principal": {
                "Service": "bedrock.amazonaws.com"
            },
            "Action": "lambda:InvokeFunction",
            "Resource": "arn:aws:lambda:{{us-east-1}}:{{123456789012}}:function:{{function-name}}",
            "Condition": {
                "StringEquals": {
                    "AWS:SourceAccount": "{{123456789012}}"
                },
                "ArnLike": {
                    "AWS:SourceArn": "arn:aws:bedrock:{{us-east-1}}:{{123456789012}}:agent/{{${agent-id}}}"
                }
            }
        }
    ]
}
```

------