Amazon Bedrock AgentCore と IAM の連携方法
IAM を使用して AgentCore へのアクセスを管理する前に、AgentCore で使用できる IAM 機能を確認してください。
| IAM 機能 | AgentCore のサポート |
|---|---|
|
あり |
|
|
部分的 |
|
|
あり |
|
|
あり |
|
|
あり |
|
|
なし |
|
|
部分的 |
|
|
あり |
|
|
あり |
|
|
あり |
|
|
はい |
AgentCore およびその他の AWS のサービスがほとんどの IAM 機能と連携する方法の概要については、「IAM ユーザーガイド」のAWS 「IAM と連携する のサービス」を参照してください。
AgentCore のアイデンティティベースのポリシー
ID ベースのポリシーのサポート: あり
アイデンティティベースポリシーは、IAM ユーザー、ユーザーグループ、ロールなど、アイデンティティにアタッチできる JSON 許可ポリシードキュメントです。これらのポリシーは、ユーザーとロールが実行できるアクション、リソース、および条件をコントロールします。アイデンティティベースポリシーの作成方法については、「IAM ユーザーガイド」の「カスタマー管理ポリシーでカスタム IAM アクセス許可を定義する」を参照してください。
IAM アイデンティティベースのポリシーでは、許可または拒否するアクションとリソース、およびアクションを許可または拒否する条件を指定できます。JSON ポリシーで使用できるすべての要素について学ぶには、「IAM ユーザーガイド」の「IAM JSON ポリシーの要素のリファレンス」を参照してください。
AgentCore のアイデンティティベースのポリシーの例
AgentCore アイデンティティベースのポリシーの例を確認するには、「Amazon Bedrock AgentCore のアイデンティティベースのポリシーの例」を参照してください。
AgentCore 内のリソースベースのポリシー
リソースベースのポリシーのサポート: 一部
リソースベースのポリシーは、リソースに添付する JSON ポリシードキュメントです。リソースベースのポリシーには例として、IAM ロールの信頼ポリシー や Amazon S3 バケットポリシー があげられます。リソースベースのポリシーをサポートするサービスでは、サービス管理者はポリシーを使用して特定のリソースへのアクセスをコントロールできます。ポリシーがアタッチされているリソースの場合、指定されたプリンシパルがそのリソースに対して実行できるアクションと条件は、ポリシーによって定義されます。リソースベースのポリシーで、プリンシパルを指定する必要があります。プリンシパルには、アカウント、ユーザー、ロール、フェデレーティッドユーザー、または AWS サービスを含めることができます。
クロスアカウントアクセスを有効にするには、全体のアカウント、または別のアカウントの IAM エンティティを、リソースベースのポリシーのプリンシパルとして指定します。詳細については、IAM ユーザーガイドのIAM でのクロスアカウントリソースアクセスを参照してください。
Amazon Bedrock AgentCore は、エージェントランタイムとゲートウェイリソースのリソースベースのポリシーをサポートしています。これらのポリシーはリソースに直接アタッチされ、どのプリンシパルがリソースに対してアクションを実行できるかを定義します。
Amazon Bedrock AgentCore リソースのリソースベースのポリシーを作成および管理する方法については、「Amazon Bedrock AgentCore のリソースベースのポリシー」を参照してください。
AgentCore 内のリソースベースのポリシーの例
AgentCore リソースベースのポリシーの例を表示するには、「一般的なユースケースと例」を参照してください。
AgentCore のポリシーアクション
ポリシーアクションのサポート: あり
管理者は JSON AWS ポリシーを使用して、誰が何にアクセスできるかを指定できます。つまり、どのプリンシパルがどのリソースに対して、どの条件でアクションを実行できるかということです。
JSON ポリシーの Action 要素にはポリシー内のアクセスを許可または拒否するために使用できるアクションが記述されます。このアクションは関連付けられたオペレーションを実行するためのアクセス許可を付与するポリシーで使用されます。
AgentCore アクションのリストを確認するには、「サービス認可リファレンス」の「Amazon Bedrock AgentCore で定義されるアクション」を参照してください。
AgentCore のポリシーアクションは、アクションの前に次のプレフィックスを使用します。
bedrock-agentcore
単一のステートメントで複数のアクションを指定するには、アクションをカンマで区切ります。
"Action": [ "bedrock-agentcore:action1", "bedrock-agentcore:action2" ]
AgentCore アイデンティティベースのポリシーの例を確認するには、「Amazon Bedrock AgentCore のアイデンティティベースのポリシーの例」を参照してください。
AgentCore のポリシーリソース
ポリシーリソースのサポート: あり
管理者は JSON AWS ポリシーを使用して、誰が何にアクセスできるかを指定できます。つまり、どのプリンシパルがどのリソースに対して、どの条件でアクションを実行できるかということです。
Resource JSON ポリシー要素はアクションが適用されるオブジェクトを指定します。ベストプラクティスとして、Amazon リソースネーム (ARN) を使用してリソースを指定します。リソースレベルのアクセス許可をサポートしていないアクションの場合は、ワイルドカード (*) を使用して、ステートメントがすべてのリソースに適用されることを示します。
"Resource": "*"
AgentCore リソースタイプとその ARNs「Amazon Bedrock AgentCore で定義されるリソース」を参照してください。 各リソースの ARN を指定できるアクションについては、「Amazon Bedrock AgentCore で定義されるアクション」を参照してください。
AgentCore アイデンティティベースのポリシーの例を確認するには、「Amazon Bedrock AgentCore のアイデンティティベースのポリシーの例」を参照してください。
AgentCore のポリシー条件キー
サービス固有のポリシー条件キーのサポート: あり
管理者は JSON AWS ポリシーを使用して、誰が何にアクセスできるかを指定できます。つまり、どのプリンシパルがどのリソースに対して、どの条件でアクションを実行できるかということです。
Condition 要素は、定義された基準に基づいてステートメントが実行される時期を指定します。以下などの条件演算子 を使用する条件式を作成して、ポリシーの条件をリクエストの値と一致させることができます。すべての AWS グローバル条件キーを確認するには、「IAM ユーザーガイド」のAWS 「グローバル条件コンテキストキー」を参照してください。
AgentCore 条件キーのリストを確認するには、「サービス認可リファレンス」の「Amazon Bedrock AgentCore の条件キー」を参照してください。条件キーを使用できるアクションとリソースについては、「Amazon Bedrock AgentCore で定義されるアクション」を参照してください。
以下の条件キーは、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 のアイデンティティベースのポリシーの例」を参照してください。
特定の AgentCore 機能の条件キーの詳細については、以下のトピックを参照してください。
-
Amazon Bedrock AgentCore Gateway で IAM 条件キーを使用する –
CreateGateway、UpdateGateway、CreateGatewayTarget、およびUpdateGatewayTargetAPI オペレーションの条件キー。 -
AgentCore VPC 設定で IAM 条件キーを使用する – AgentCore ランタイム、組み込みツール、ゲートウェイターゲットの VPC 関連の条件キー。
AgentCore ACLs
ACL のサポート: なし
アクセスコントロールリスト (ACL) は、どのプリンシパル (アカウントメンバー、ユーザー、またはロール) がリソースにアクセスするためのアクセス許可を持つかを制御します。ACL はリソースベースのポリシーに似ていますが、JSON ポリシードキュメント形式は使用しません。
AgentCore を使用した ABAC
ABAC (ポリシー内のタグ) のサポート: 一部
属性ベースのアクセス制御 (ABAC) は、タグと呼ばれる属性に基づいてアクセス許可を定義する認可戦略です。IAM エンティティと AWS リソースにタグをアタッチし、プリンシパルのタグがリソースのタグと一致するときにオペレーションを許可するように ABAC ポリシーを設計できます。
タグに基づいてアクセスを制御するには、、、または aws:ResourceTag/key-name 条件キーを使用して、ポリシーの条件要素にタグ情報を指定します。 aws:RequestTag/key-name aws:TagKeys
サービスがすべてのリソースタイプに対して 3 つの条件キーすべてをサポートする場合、そのサービスの値はありです。サービスが一部のリソースタイプに対してのみ 3 つの条件キーのすべてをサポートする場合、値は「部分的」になります。
ABAC の詳細については、「IAM ユーザーガイド」の「ABAC 認可でアクセス許可を定義する」を参照してください。ABAC をセットアップする手順を説明するチュートリアルについては、「IAM ユーザーガイド」の「属性ベースのアクセス制御 (ABAC) を使用する」を参照してください。
AgentCore での一時的な認証情報の使用
一時的な認証情報のサポート: あり
一時的な認証情報は、 AWS リソースへの短期的なアクセスを提供し、フェデレーションまたはスイッチロールの使用時に自動的に作成されます。 AWS では、長期的なアクセスキーを使用する代わりに、一時的な認証情報を動的に生成することをお勧めします。詳細については、IAM ユーザーガイドの「IAM での一時的なセキュリティ認証情報」およびAWS 「IAM と連携する のサービス」を参照してください。
AgentCore のクロスサービスプリンシパルアクセス許可
転送アクセスセッション (FAS) のサポート: あり
転送アクセスセッション (FAS) は、 AWS サービスを呼び出すプリンシパルのアクセス許可と、リクエスト元の AWS サービスを組み合わせて、ダウンストリームサービスにリクエストを行います。FAS リクエストを行う際のポリシーの詳細については、「転送アクセスセッション」を参照してください。
AgentCore のサービスロール
サービスロールのサポート: あり
サービスロールとは、サービスがユーザーに代わってアクションを実行するために引き受ける IAM ロールです。IAM 管理者は、IAM 内からサービスロールを作成、変更、削除できます。詳細については、IAM ユーザーガイドの「 AWS サービスにアクセス許可を委任するロールを作成する」を参照してください。
警告
サービスロールのアクセス許可を変更すると、AgentCore の機能が破損する可能性があります。AgentCore が指示する場合にのみ、サービスロールを編集します。
AgentCore のサービスにリンクされたロール
サービスリンクロールのサポート: あり
サービスにリンクされたロールは、 サービスにリンクされた AWS サービスロールの一種です。サービスは、ユーザーに代わってアクションを実行するロールを引き受けることができます。サービスにリンクされたロールは AWS アカウントに表示され、サービスによって所有されます。IAM 管理者は、サービスリンクロールのアクセス許可を表示できますが、編集することはできません。
サービスにリンクされたロールの作成または管理の詳細については、「IAM と提携するAWS のサービス」を参照してください。表の「サービスリンクロール」列に Yes と記載されたサービスを見つけます。サービスにリンクされたロールに関するドキュメントをサービスで表示するには、[はい] リンクを選択します。