View a markdown version of this page

AWS エージェントレジストリを使用した VPC と AWS PrivateLink - Amazon Bedrock AgentCore

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

AWS エージェントレジストリを使用した VPC と AWS PrivateLink

AWS PrivateLink を使用して、VPC と AWS エージェントレジストリ間にプライベート接続を作成できます。 AWS エージェントレジストリには、インターネットゲートウェイ、NAT デバイス、VPN 接続、または AWS Direct Connect 接続を使用せずに、VPC 内にあるかのようにアクセスできます。VPC 内のインスタンスは、 AWS エージェントレジストリにアクセスするためにパブリック IP アドレスを必要としません。

このプライベート接続を確立するには、 AWS PrivateLink を使用するインターフェイスエンドポイント を作成します。インターフェイスエンドポイントに対して有効にする各サブネットにエンドポイントネットワークインターフェイスを作成します。これらは、 AWS エージェントレジストリ宛てのトラフィックのエントリポイントとして機能するリクエスタ管理のネットワークインターフェイスです。

詳細については、「 AWS PrivateLink ガイド」の「PrivateLink 経由で AWS サービスにアクセスする」を参照してください。 AWS PrivateLink

AWS エージェントレジストリのインターフェイスエンドポイントを設定する前に、 AWS 「 PrivateLink ガイド」の「考慮事項」を参照してください。

AWS エージェントレジストリには、2 つの AWS PrivateLink エンドポイントが用意されています。

  • コントロールプレーンエンドポイント: com.amazonaws.region.agent-registry-control — レジストリとレコードの管理 (作成、更新、削除オペレーションなど) 用。

  • データプレーンエンドポイント: com.amazonaws.region.agent-registry — レコード検出とレジストリ MCP InvokeRegistryMcp など) 用。

AWS エージェントレジストリインターフェイスエンドポイントが利用可能な AWS リージョンのリストについては、「サポートされている AWS リージョン」を参照してください。インターフェイスエンドポイントは、 AWS エージェントレジストリが利用可能なすべてのリージョンで使用できます。

重要

データプレーン APIs、認証用の AWS 署名バージョン 4 (SigV4) ヘッダーとベアラートークン (OAuth) 認証の両方をサポートし、エンドポイントポリシーは両方について評価されます。ベアラートークン呼び出し元は IAM ID を持たないため、特定のアカウント、ロール、またはユーザー ARN ではなく、* Principalのステートメントのみに一致します。ベアラートークンリクエストがエンドポイントを介して成功するには、* にPrincipal設定された Allowステートメントがアクションとリソースをカバーしている必要があります。特定の AWS ID に命名されたステートメントはそれらを承認しません。ベアラートークンの発信者を制限するには、 Action と の範囲が * Principalに設定されている Deny ステートメントを使用しますResource。ベアラー発信者はプリンシパルレベルで識別できないため、個々のベアラー発信者をプリンシパル別に除外することはできません。レジストリは に従って SigV4 または JWT によって承認されるためauthorizerType、各レジストリは独自の認可モードに一致するステートメントフォームのみを必要とします。

AWS エージェントレジストリは、 AWS aws:SourceVpcや などの IAM グローバル条件コンテキストキーをサポートしていますaws:SourceVpce。デフォルトでは、インターフェイスエンドポイントを介して AWS エージェントレジストリへのフルアクセスがあります。そのアクセスを制限するには、カスタムエンドポイントポリシーをインターフェイスエンドポイントにアタッチするか、セキュリティグループをエンドポイントネットワークインターフェイスに関連付けます。

AWS エージェントレジストリのインターフェイスエンドポイントは、Amazon VPC コンソールまたは コマンドラインインターフェイス (AWS CLI) AWS を使用して作成できます。詳細については、 AWS 「 PrivateLink ガイド」の「インターフェイスエンドポイントの作成」を参照してください。

次のサービス名形式を使用して、 AWS エージェントレジストリのインターフェイスエンドポイントを作成します。

  • コントロールプレーンオペレーション (レジストリとレコード管理): com.amazonaws.region.agent-registry-control (例: com.amazonaws.us-east-1.agent-registry-control)

  • データプレーンオペレーション (レコード検出とレジストリ MCP エンドポイント): com.amazonaws.region.agent-registry (例: com.amazonaws.us-east-1.agent-registry)

インターフェイスエンドポイントのプライベート DNS を有効にすると、デフォルトのリージョン DNS 名を使用して AWS エージェントレジストリに API リクエストを行うことができます。

  • コントロールプレーン: agent-registry-control.region.api.aws (例: agent-registry-control.us-east-1.api.aws)

  • データプレーン: agent-registry.region.api.aws (例: agent-registry.us-east-1.api.aws)

エンドポイントポリシーは、インターフェイスエンドポイントにアタッチできる IAM リソースです。デフォルトのエンドポイントポリシーを使用すると、インターフェイスエンドポイントを介して AWS エージェントレジストリへのフルアクセスが可能になります。そのアクセスを制限するには、カスタムエンドポイントポリシーをアタッチします。

エンドポイントポリシーは以下の情報を指定します。

  • アクションを実行できるプリンシパル (AWS アカウント、IAM ユーザー、IAM ロール)。

    • AWS エージェントレジストリのデータプレーンエンドポイントの場合、レジストリが AWS 署名バージョン 4 (SigV4) の代わりに JWT 認可を使用する場合、JWT 呼び出し元を許可するステートメントに対して * Principalに設定します。SigV4-based認証では、 を特定の AWS ID Principalとして定義できます。

  • 実行可能なアクション。

  • このアクションを実行できるリソース。

詳細については、 AWS 「 PrivateLink ガイド」の「エンドポイントポリシーを使用してサービスへのアクセスを制御する」を参照してください。

次の例は、各 AWS エージェントレジストリエンドポイントのエンドポイントポリシーを示しています。タブを選択して、コントロールプレーン、データプレーンレコード検出オペレーション、またはデータプレーン MCP エンドポイントのポリシーを表示します。

例
Control plane (registry and record management)
  1. 次のエンドポイントポリシーは、特定の IAM プリンシパルがコントロールプレーンエンドポイントを介してレジストリとそのレコードを管理することを許可します。

    { "Statement": [ { "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::ACCOUNT_ID:root" }, "Action": [ "agent-registry:CreateRegistry", "agent-registry:GetRegistry", "agent-registry:UpdateRegistry", "agent-registry:DeleteRegistry", "agent-registry:ListRegistries", "agent-registry:CreateRegistryRecord", "agent-registry:GetRegistryRecord", "agent-registry:UpdateRegistryRecord", "agent-registry:DeleteRegistryRecord", "agent-registry:ListRegistryRecords", "agent-registry:SubmitRegistryRecordForApproval", "agent-registry:UpdateRegistryRecordStatus" ], "Resource": "arn:aws:agent-registry:us-east-1:ACCOUNT_ID:registry/*" } ] }

    次のエンドポイントポリシーは、コントロールプレーンエンドポイントを介してレジストリとレコードメタデータへの特定の IAM プリンシパルの読み取り専用アクセスを許可します。これは、レジストリを変更せずにインベントリを作成するツールに役立ちます。

    レジストリメタデータへの読み取り専用アクセス

    { "Statement": [ { "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::ACCOUNT_ID:root" }, "Action": [ "agent-registry:GetRegistry", "agent-registry:ListRegistries", "agent-registry:GetRegistryRecord", "agent-registry:ListRegistryRecords" ], "Resource": "arn:aws:agent-registry:us-east-1:ACCOUNT_ID:registry/*" } ] }

    コントロールプレーンのアクセスを 1 つのレジストリとそのレコードに制限するには、特定の をターゲットとする 2 つのリソース ARNs を使用しますREGISTRY_ID。1 つはレジストリ自体 (registry/REGISTRY_ID) 用で、もう 1 つはレコード () 用ですregistry/REGISTRY_ID/record/*。 CreateRegistry と はアカウントレベルでListRegistries動作し、特定のレジストリ ARN にスコープを設定できないため、アクションリストからドロップします。呼び出し元が必要とする場合は、ワイルドカードリソースを個別に付与します。

    単一のレジストリへのアクセスの範囲を設定する

    { "Statement": [ { "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::ACCOUNT_ID:root" }, "Action": [ "agent-registry:GetRegistry", "agent-registry:UpdateRegistry", "agent-registry:DeleteRegistry", "agent-registry:CreateRegistryRecord", "agent-registry:GetRegistryRecord", "agent-registry:UpdateRegistryRecord", "agent-registry:DeleteRegistryRecord", "agent-registry:ListRegistryRecords", "agent-registry:SubmitRegistryRecordForApproval", "agent-registry:UpdateRegistryRecordStatus" ], "Resource": [ "arn:aws:agent-registry:us-east-1:ACCOUNT_ID:registry/REGISTRY_ID", "arn:aws:agent-registry:us-east-1:ACCOUNT_ID:registry/REGISTRY_ID/record/*" ] } ] }
Data plane (record discovery)
  1. 次のエンドポイントポリシーは、特定の IAM プリンシパルがデータプレーンエンドポイントを介して 1 つのレジストリ内の承認済みレコードを検索および参照することを許可します。

    { "Statement": [ { "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::ACCOUNT_ID:root" }, "Action": [ "agent-registry:SearchDiscoverableRegistryRecords", "agent-registry:ListDiscoverableRegistryRecords", "agent-registry:GetDiscoverableRegistryRecord" ], "Resource": [ "arn:aws:agent-registry:us-east-1:ACCOUNT_ID:registry/REGISTRY_ID", "arn:aws:agent-registry:us-east-1:ACCOUNT_ID:registry/REGISTRY_ID/record/*" ] } ] }

    次のポリシーでは、特定の IAM プリンシパルが SigV4-authorizedレジストリを検索し、認証された JWT 呼び出し元が同じエンドポイントを介して JWT 認可レジストリを検索することを許可します。

    SigV4 と JWT の認可が混在

    { "Statement": [ { "Sid": "AllowIamSearchOnSigV4Registry", "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::ACCOUNT_ID:root" }, "Action": [ "agent-registry:SearchDiscoverableRegistryRecords", "agent-registry:ListDiscoverableRegistryRecords", "agent-registry:GetDiscoverableRegistryRecord" ], "Resource": [ "arn:aws:agent-registry:us-east-1:ACCOUNT_ID:registry/SIGV4_REGISTRY_ID", "arn:aws:agent-registry:us-east-1:ACCOUNT_ID:registry/SIGV4_REGISTRY_ID/record/*" ] }, { "Sid": "AllowJwtSearchOnJwtRegistry", "Effect": "Allow", "Principal": "*", "Action": [ "agent-registry:SearchDiscoverableRegistryRecords", "agent-registry:ListDiscoverableRegistryRecords", "agent-registry:GetDiscoverableRegistryRecord" ], "Resource": [ "arn:aws:agent-registry:us-east-1:ACCOUNT_ID:registry/JWT_REGISTRY_ID", "arn:aws:agent-registry:us-east-1:ACCOUNT_ID:registry/JWT_REGISTRY_ID/record/*" ] } ] }
Data plane (registry MCP endpoint)
  1. 次のエンドポイントポリシーは、認証された呼び出し元が JWT 認可レジストリでレジストリ MCP エンドポイントを呼び出すことを許可します。JWT 認可レジストリの MCP エンドポイントは SigV4 ではなくベアラートークンによって認証されるため、* Principal に設定します。

    { "Statement": [ { "Effect": "Allow", "Principal": "*", "Action": [ "agent-registry:InvokeRegistryMcp", "agent-registry:SearchDiscoverableRegistryRecords" ], "Resource": "arn:aws:agent-registry:us-east-1:ACCOUNT_ID:registry/REGISTRY_ID" } ] }

    InvokeRegistryMcp は SDK クライアントメソッドとして公開されません。これは、データプレーンエンドポイント経由でレジストリの MCP プロトコルパスに送信されるトラフィックを許可する IAM アクションです。レジストリ MCP エンドポイントを呼び出すには、 agent-registry:InvokeRegistryMcpと discovery-search アクションの両方が必要です。agent-registry 名前空間では、検索アクションは でagent-registry:SearchDiscoverableRegistryRecords、レガシーbedrock-agentcore名前空間では ですbedrock-agentcore:SearchRegistryRecords。