

# Amazon Bedrock AgentCore と IAM の連携方法
<a name="security_iam_service-with-iam"></a>

IAM を使用して AgentCore へのアクセスを管理する前に、AgentCore で使用できる IAM 機能を確認してください。


| IAM 機能 | AgentCore のサポート | 
| --- | --- | 
|  [アイデンティティベースのポリシー](#security_iam_service-with-iam-id-based-policies)  | あり | 
|  [リソースベースのポリシー](#security_iam_service-with-iam-resource-based-policies)  | 部分的 | 
|  [ポリシーアクション](#security_iam_service-with-iam-id-based-policies-actions)  | あり | 
|  [ポリシーリソース](#security_iam_service-with-iam-id-based-policies-resources)  | あり | 
|  [ポリシー条件キー](#security_iam_service-with-iam-id-based-policies-conditionkeys)  | あり | 
|  [ACL](#security_iam_service-with-iam-acls)  | なし | 
|  [ABAC (ポリシー内のタグ)](#security_iam_service-with-iam-tags)  | 部分的 | 
|  [一時認証情報](#security_iam_service-with-iam-roles-tempcreds)  | あり | 
|  [プリンシパルアクセス権限](#security_iam_service-with-iam-principal-permissions)  | あり | 
|  [サービスロール](#security_iam_service-with-iam-roles-service)  | あり | 
|  [サービスリンクロール](#security_iam_service-with-iam-roles-service-linked)  | はい | 

AgentCore およびその他の AWS のサービスがほとんどの IAM 機能と連携する方法の概要については、「IAM *ユーザーガイド*」の[AWS 「IAM と連携する のサービス](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_aws-services-that-work-with-iam.html)」を参照してください。

## AgentCore のアイデンティティベースのポリシー
<a name="security_iam_service-with-iam-id-based-policies"></a>

 **ID ベースのポリシーのサポート:** あり

アイデンティティベースポリシーは、IAM ユーザー、ユーザーグループ、ロールなど、アイデンティティにアタッチできる JSON 許可ポリシードキュメントです。これらのポリシーは、ユーザーとロールが実行できるアクション、リソース、および条件をコントロールします。アイデンティティベースポリシーの作成方法については、「*IAM ユーザーガイド*」の「[カスタマー管理ポリシーでカスタム IAM アクセス許可を定義する](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_create.html)」を参照してください。

IAM アイデンティティベースのポリシーでは、許可または拒否するアクションとリソース、およびアクションを許可または拒否する条件を指定できます。JSON ポリシーで使用できるすべての要素について学ぶには、「*IAM ユーザーガイド*」の「[IAM JSON ポリシーの要素のリファレンス](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements.html)」を参照してください。

### AgentCore のアイデンティティベースのポリシーの例
<a name="security_iam_service-with-iam-id-based-policies-examples"></a>

AgentCore アイデンティティベースのポリシーの例を確認するには、[「Amazon Bedrock AgentCore のアイデンティティベースのポリシーの例](security_iam_id-based-policy-examples.md)」を参照してください。

## AgentCore 内のリソースベースのポリシー
<a name="security_iam_service-with-iam-resource-based-policies"></a>

 **リソースベースのポリシーのサポート:** 一部

リソースベースのポリシーは、リソースに添付する JSON ポリシードキュメントです。リソースベースのポリシーには例として、IAM *ロールの信頼ポリシー* や Amazon S3 *バケットポリシー* があげられます。リソースベースのポリシーをサポートするサービスでは、サービス管理者はポリシーを使用して特定のリソースへのアクセスをコントロールできます。ポリシーがアタッチされているリソースの場合、指定されたプリンシパルがそのリソースに対して実行できるアクションと条件は、ポリシーによって定義されます。リソースベースのポリシーで、[プリンシパルを指定する](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements_principal.html)必要があります。プリンシパルには、アカウント、ユーザー、ロール、フェデレーティッドユーザー、または AWS サービスを含めることができます。

クロスアカウントアクセスを有効にするには、全体のアカウント、または別のアカウントの IAM エンティティを、リソースベースのポリシーのプリンシパルとして指定します。詳細については、IAM ユーザーガイド**の[IAM でのクロスアカウントリソースアクセス](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies-cross-account-resource-access.html)を参照してください。

Amazon Bedrock AgentCore は、エージェントランタイムとゲートウェイリソースのリソースベースのポリシーをサポートしています。これらのポリシーはリソースに直接アタッチされ、どのプリンシパルがリソースに対してアクションを実行できるかを定義します。

Amazon Bedrock AgentCore リソースのリソースベースのポリシーを作成および管理する方法については、[「Amazon Bedrock AgentCore のリソースベースのポリシー](resource-based-policies.md)」を参照してください。

### AgentCore 内のリソースベースのポリシーの例
<a name="security_iam_service-with-iam-resource-based-policies-examples"></a>

AgentCore リソースベースのポリシーの例を表示するには、[「一般的なユースケースと例](resource-based-policies.md#resource-based-policies-examples)」を参照してください。

## AgentCore のポリシーアクション
<a name="security_iam_service-with-iam-id-based-policies-actions"></a>

 **ポリシーアクションのサポート:** あり

管理者は JSON AWS ポリシーを使用して、誰が何にアクセスできるかを指定できます。つまり、どの**プリンシパル**がどの**リソース**に対して、どの**条件で****アクションを実行**できるかということです。

JSON ポリシーの `Action` 要素にはポリシー内のアクセスを許可または拒否するために使用できるアクションが記述されます。このアクションは関連付けられたオペレーションを実行するためのアクセス許可を付与するポリシーで使用されます。

AgentCore アクションのリストを確認するには、*「サービス認可リファレンス*」の[「Amazon Bedrock AgentCore で定義されるアクション](https://docs.aws.amazon.com/IAM/latest/UserGuide/list_amazonbedrockagentcore.html#amazonbedrockagentcore-actions-as-permissions)」を参照してください。

AgentCore のポリシーアクションは、アクションの前に次のプレフィックスを使用します。

```
bedrock-agentcore
```

単一のステートメントで複数のアクションを指定するには、アクションをカンマで区切ります。

```
"Action": [
      "bedrock-agentcore:action1",
      "bedrock-agentcore:action2"
         ]
```

AgentCore アイデンティティベースのポリシーの例を確認するには、[「Amazon Bedrock AgentCore のアイデンティティベースのポリシーの例](security_iam_id-based-policy-examples.md)」を参照してください。

## AgentCore のポリシーリソース
<a name="security_iam_service-with-iam-id-based-policies-resources"></a>

 **ポリシーリソースのサポート:** あり

管理者は JSON AWS ポリシーを使用して、誰が何にアクセスできるかを指定できます。つまり、どの**プリンシパル**がどの**リソース**に対して、どの**条件で****アクションを実行**できるかということです。

`Resource` JSON ポリシー要素はアクションが適用されるオブジェクトを指定します。ベストプラクティスとして、[Amazon リソースネーム (ARN)](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference-arns.html) を使用してリソースを指定します。リソースレベルのアクセス許可をサポートしていないアクションの場合は、ワイルドカード (\*) を使用して、ステートメントがすべてのリソースに適用されることを示します。

```
"Resource": "*"
```

AgentCore リソースタイプとその ARNs[「Amazon Bedrock AgentCore で定義されるリソース](https://docs.aws.amazon.com/IAM/latest/UserGuide/list_amazonbedrockagentcore.html#amazonbedrockagentcore-resources-for-iam-policies)」を参照してください。 **各リソースの ARN を指定できるアクションについては、[「Amazon Bedrock AgentCore で定義されるアクション](https://docs.aws.amazon.com/IAM/latest/UserGuide/list_amazonbedrockagentcore.html#amazonbedrockagentcore-actions-as-permissions)」を参照してください。

AgentCore アイデンティティベースのポリシーの例を確認するには、[「Amazon Bedrock AgentCore のアイデンティティベースのポリシーの例](security_iam_id-based-policy-examples.md)」を参照してください。

## AgentCore のポリシー条件キー
<a name="security_iam_service-with-iam-id-based-policies-conditionkeys"></a>

 **サービス固有のポリシー条件キーのサポート:** あり

管理者は JSON AWS ポリシーを使用して、誰が何にアクセスできるかを指定できます。つまり、どの**プリンシパル**がどの**リソース**に対して、どの**条件で****アクションを実行**できるかということです。

`Condition` 要素は、定義された基準に基づいてステートメントが実行される時期を指定します。以下などの[条件演算子](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements_condition_operators.html) を使用する条件式を作成して、ポリシーの条件をリクエストの値と一致させることができます。すべての AWS グローバル条件キーを確認するには、*「IAM ユーザーガイド*」の[AWS 「グローバル条件コンテキストキー](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_condition-keys.html)」を参照してください。

AgentCore 条件キーのリストを確認するには、*「サービス認可リファレンス*[」の「Amazon Bedrock AgentCore の条件キー](https://docs.aws.amazon.com/IAM/latest/UserGuide/list_amazonbedrockagentcore.html#amazonbedrockagentcore-policy-keys)」を参照してください。条件キーを使用できるアクションとリソースについては、[「Amazon Bedrock AgentCore で定義されるアクション](https://docs.aws.amazon.com/IAM/latest/UserGuide/list_amazonbedrockagentcore.html#amazonbedrockagentcore-actions-as-permissions)」を参照してください。

以下の条件キーは、Amazon Bedrock AgentCore を使用する場合に特に便利です。
+  `bedrock-agentcore:InboundJwtClaim/iss` - この条件キーを使用して、リクエストに渡された JWT に存在する特定の発行者 (iss) クレーム値を操作するエンドユーザーを表す JWT を受け入れる APIs へのアクセスを制限できます。この条件キーは、 `GetWorkloadAccessTokenForJwt`および `CompleteResourceTokenAuth`オペレーションに適用できます。
+  `bedrock-agentcore:InboundJwtClaim/sub` - この条件キーを使用して、JWT を受け入れる APIs へのアクセスを制限し、リクエストに渡された JWT に存在する特定のサブジェクト (サブ) クレーム値を操作することができます。この条件キーは、 `GetWorkloadAccessTokenForJwt`および `CompleteResourceTokenAuth`オペレーションに適用できます。
+  `bedrock-agentcore:InboundJwtClaim/aud` - この条件キーを使用して、JWT を受け入れる APIs へのアクセスを制限し、リクエストに渡された JWT に存在する特定のオーディエンス (aud) クレーム値と連携させることができます。この条件キーは、 `GetWorkloadAccessTokenForJwt`および `CompleteResourceTokenAuth`オペレーションに適用できます。
+  `bedrock-agentcore:userid` - この条件キーを使用して、静的ユーザー ID を受け入れる APIs へのアクセスを、ポリシーステートメントで定義されたユーザー ID 値でのみ機能するように制限できます。この条件キーは、 `GetWorkloadAccessTokenForUserId`および `CompleteResourceTokenAuth`オペレーションに適用できます。
+  `bedrock-agentcore:InboundJwtClaim/scope` - この条件キーを使用して、リクエストで渡された JWT のスコープクレームに基づいてアクセスを制限できます。
+  `bedrock-agentcore:InboundJwtClaim/client_id` - この条件キーを使用して、JWT を受け入れる APIs へのアクセスを制限し、リクエストで渡された JWT に存在する特定の`client_id`クレーム値を操作することができます。このキーは、JWT が`client_id`クレームを正確に持つ場合にのみ使用でき、他の同様のクレームで情報が伝達される場合にのみは使用できません。この条件キーは、 `GetWorkloadAccessTokenForJwt`および `CompleteResourceTokenAuth`オペレーションに適用できます。

AgentCore アイデンティティベースのポリシーの例を確認するには、[「Amazon Bedrock AgentCore のアイデンティティベースのポリシーの例](security_iam_id-based-policy-examples.md)」を参照してください。

特定の AgentCore 機能の条件キーの詳細については、以下のトピックを参照してください。
+  [Amazon Bedrock AgentCore Gateway で IAM 条件キー](security-gateway-condition-keys.md)を使用する – `CreateGateway`、`UpdateGateway`、`CreateGatewayTarget`、および `UpdateGatewayTarget` API オペレーションの条件キー。
+  [AgentCore VPC 設定で IAM 条件キーを使用する](security-vpc-condition.md) – AgentCore ランタイム、組み込みツール、ゲートウェイターゲットの VPC 関連の条件キー。

## AgentCore ACLs
<a name="security_iam_service-with-iam-acls"></a>

 **ACL のサポート:** なし

アクセスコントロールリスト (ACL) は、どのプリンシパル (アカウントメンバー、ユーザー、またはロール) がリソースにアクセスするためのアクセス許可を持つかを制御します。ACL はリソースベースのポリシーに似ていますが、JSON ポリシードキュメント形式は使用しません。

## AgentCore を使用した ABAC
<a name="security_iam_service-with-iam-tags"></a>

 **ABAC (ポリシー内のタグ) のサポート:** 一部

属性ベースのアクセス制御 (ABAC) は、タグと呼ばれる属性に基づいてアクセス許可を定義する認可戦略です。IAM エンティティと AWS リソースにタグをアタッチし、プリンシパルのタグがリソースのタグと一致するときにオペレーションを許可するように ABAC ポリシーを設計できます。

タグに基づいてアクセスを制御するには、、、または `aws:ResourceTag/key-name` [条件キーを使用して、ポリシーの条件要素](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements_condition.html)にタグ情報を指定します。 `aws:RequestTag/key-name` `aws:TagKeys`

サービスがすべてのリソースタイプに対して 3 つの条件キーすべてをサポートする場合、そのサービスの値は**あり**です。サービスが一部のリソースタイプに対してのみ 3 つの条件キーのすべてをサポートする場合、値は「**部分的**」になります。

ABAC の詳細については、「*IAM ユーザーガイド*」の「[ABAC 認可でアクセス許可を定義する](https://docs.aws.amazon.com/IAM/latest/UserGuide/introduction_attribute-based-access-control.html)」を参照してください。ABAC をセットアップする手順を説明するチュートリアルについては、「*IAM ユーザーガイド*」の「[属性ベースのアクセス制御 (ABAC) を使用する](https://docs.aws.amazon.com/IAM/latest/UserGuide/tutorial_attribute-based-access-control.html)」を参照してください。

## AgentCore での一時的な認証情報の使用
<a name="security_iam_service-with-iam-roles-tempcreds"></a>

 **一時的な認証情報のサポート:** あり

一時的な認証情報は、 AWS リソースへの短期的なアクセスを提供し、フェデレーションまたはスイッチロールの使用時に自動的に作成されます。 AWS では、長期的なアクセスキーを使用する代わりに、一時的な認証情報を動的に生成することをお勧めします。詳細については、IAM *ユーザーガイド*[の「IAM での一時的なセキュリティ認証情報](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_temp.html)」および[AWS 「IAM と連携する のサービス](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_aws-services-that-work-with-iam.html)」を参照してください。

## AgentCore のクロスサービスプリンシパルアクセス許可
<a name="security_iam_service-with-iam-principal-permissions"></a>

 **転送アクセスセッション (FAS) のサポート:** あり

転送アクセスセッション (FAS) は、 AWS サービスを呼び出すプリンシパルのアクセス許可と、リクエスト元の AWS サービスを組み合わせて、ダウンストリームサービスにリクエストを行います。FAS リクエストを行う際のポリシーの詳細については、「[転送アクセスセッション](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_forward_access_sessions.html)」を参照してください。

## AgentCore のサービスロール
<a name="security_iam_service-with-iam-roles-service"></a>

 **サービスロールのサポート:** あり

サービスロールとは、サービスがユーザーに代わってアクションを実行するために引き受ける [IAM ロール](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles.html)です。IAM 管理者は、IAM 内からサービスロールを作成、変更、削除できます。詳細については、*IAM* [ユーザーガイドの「 AWS サービスにアクセス許可を委任するロールを作成する](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_create_for-service.html)」を参照してください。

**警告**  
サービスロールのアクセス許可を変更すると、AgentCore の機能が破損する可能性があります。AgentCore が指示する場合にのみ、サービスロールを編集します。

## AgentCore のサービスにリンクされたロール
<a name="security_iam_service-with-iam-roles-service-linked"></a>

 **サービスリンクロールのサポート:** あり

サービスにリンクされたロールは、 サービスにリンクされた AWS サービスロールの一種です。サービスは、ユーザーに代わってアクションを実行するロールを引き受けることができます。サービスにリンクされたロールは AWS アカウントに表示され、サービスによって所有されます。IAM 管理者は、サービスリンクロールのアクセス許可を表示できますが、編集することはできません。

サービスにリンクされたロールの作成または管理の詳細については、「[IAM と提携するAWS のサービス](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_aws-services-that-work-with-iam.html)」を参照してください。表の「**サービスリンクロール**」列に `Yes` と記載されたサービスを見つけます。サービスにリンクされたロールに関するドキュメントをサービスで表示するには、**[はい]** リンクを選択します。