IAM ポリシーの概要

エージェントと他のサービス(他のエージェント、MCP サーバー、エンドポイントなど)間のエージェント通信を安全に管理するために、Agent Gateway が使用する IAM 許可ポリシーと拒否ポリシーを作成できます。Agent Gateway は、Identity-Aware Proxy(IAP)を使用してポリシーを適用します。また、IAP はエージェントの ID 認証と認可のセキュリティをエンドツーエンドで適用します。

Agent Gateway の IAM ポリシーを作成するには、IAM ポリシーを作成するをご覧ください。

エージェント ID にプリンシパル アクセス境界(PAB)を作成することもできます。Agent Gateway は、IAP を使用してプリンシパル アクセス境界ポリシーを適用できます。

Agent Gateway を有効にする

エージェント通信ポリシーを使用するには、Agent Gateway を設定する必要があります。

ステージング環境で Agent Gateway をドライラン モード(DRY_RUN)で構成し、ポリシーが想定どおりに機能していることを確認することをおすすめします。ドライラン モードでは、IAP は許可されていないエージェント通信を Cloud Audit Logs にロギングしますが、ブロックはしません。

ポリシーが正しく機能していることを確認したら、Agent Gateway の構成を更新して、自動適用モードを ENFORCE に設定します。このモードでは、ポリシーに違反するエージェント通信は許可されず、リソースへの通信はブロックされます。

ポリシー コンポーネント

ポリシーには次のコンポーネントがあります。

  • エージェント: IAM 許可ポリシーでは、ソース エージェントはエージェント ID(サービスとの通信を開始するエージェントの ID)によって定義されます。さまざまなタイプのエージェントが ID を受け取る方法については、エージェント ID をご覧ください。エージェント ID は、エージェントの SPIFFE 形式の ID(principal://agents.global.org-... など)を含むプリンシパル IDで表されます。URN 形式のエージェント識別子(urn:agent:... など)は、インベントリとカタログのルックアップにのみ使用され、IAM ポリシー バインディングでは使用されません。gcloud CLI を使用して IAM ポリシーを構成する場合、エージェント プリンシパルはアクセス権を付与するメンバーです。

    Gemini Enterprise エージェントと Agent Runtime インスタンスには、エージェント ID が自動的に割り当てられ、Agent Registry に登録されます。

  • エージェント レジストリ リソース: アクセスを許可または拒否する Agent Registry サービス。IAM の許可ポリシーと拒否ポリシーでは、Agent Registry サービスはリソースと呼ばれます。リソースは、プロジェクト内のレジストリ全体または個々のサービス(MCP サーバー、エージェント、エンドポイントなど)にできます。

    個々のサービスは、IAM ポリシーで参照される前に、エージェント レジストリに登録する必要があります。この登録は、バインド時(ポリシー バインディングの作成時または更新時)に検証されます。登録されていないサービスを参照すると、リクエストされたエンティティが見つからない(NOT_FOUND)エラーが発生し、ポリシーの作成はすぐに失敗します。

    gcloud CLI または Terraform を使用してポリシーを構成する場合、ターゲット リソースは論理 URN 識別子ではなく、レジストリで生成されたパスまたは ID(--agent、--endpoint、--mcp-server などのフラグを使用)で指定されます。実行時に、セキュリティ ゲートウェイは URN ではなく、正確なホスト名でトラフィックの宛先を照合します。

    エージェント レジストリをリージョン化すると、IAM 許可ポリシーはレジストリのリージョンにあるリソースにのみ適用されます。

  • ロール: エージェント通信ポリシーは、サービス リソースに対する IAP で保護されたエグレッサー(roles/iap.egressor)ロールを常に付与します。

  • 条件: 必要に応じて、IAM 許可ポリシーに条件を構成して、エージェントがアクセスできるものをさらに制限できます。Cloud de Confiance コンソールでは、条件作成ツールを使用して、UI 要素を選択して条件を作成できます。または、条件エディタを使用して、より複雑な条件を Common Expression Language(CEL)式として入力することもできます。

    次の表に、CEL 式の作成に使用できる属性名を示します。直接フィールド アクセス スタイル(request.mcp.toolName など)はサポートされていないため、api.getAttribute() 関数を使用して各属性の値を取得する必要があります。

    条件付きの許可ポリシーを構成する方法の詳細については、IAM エージェント ポリシーを構成するをご覧ください。

    属性名 説明と CEL の例
    mcp.toolName 呼び出される特定のツールの名前。
    例: request.mcp.toolName == 'GetCalendarEvents'
    iap.googleapis.com/mcp.resourceName アクセスされているリソースの名前。
    例: api.getAttribute('iap.googleapis.com/mcp.resourceName', '') == 'my-resource'
    iap.googleapis.com/mcp.promptName 使用されているプロンプト名。
    例: api.getAttribute('iap.googleapis.com/mcp.promptName', '') == 'my-prompt'
    mcp.method 特定の MCP オペレーション(tools/call、resources/read など)。
    iap.googleapis.com/mcp.tool.isReadOnly
    iap.googleapis.com/mcp.tool.isDestructive
    iap.googleapis.com/mcp.tool.isIdempotent
    iap.googleapis.com/mcp.tool.isOpenWorld
    オペレーションのタイプを示すブール値フラグ。
    例: api.getAttribute('iap.googleapis.com/mcp.tool.isReadOnly', false) == true
    request.auth.type プロトコル(例: 「MCP」)を示す列挙型。

ポリシーを作成する

Cloud de Confiance コンソールの [ポリシー] ページで、Agent Gateway がエージェント通信の制御に使用する IAM 許可ポリシーと拒否ポリシーを作成します。

gcloud CLI では、Agent Gateway がエージェント通信の制御に使用する IAM 許可ポリシーと IAM 拒否ポリシーの両方を構成できます。

Cloud de Confiance コンソールのポリシー

Cloud de Confiance コンソールを使用して IAM ポリシーを作成するには、IAM ポリシーを構成するをご覧ください。

gcloud CLI のポリシー

gcloud CLI を使用して IAM ポリシーを作成するには、IAM ポリシーを構成するをご覧ください。

エンドツーエンドの認証と認可

IAP とコンテキストアウェア アクセスは、次のプロトコルを使用して、デフォルトのエンドツーエンド エージェント ID の認証と認可を提供します。

  • 相互 TLS(mTLS)
  • 所有証明(DPoP)のデモンストレーション

エージェント ID には、X.509 証明書と証明書バインド トークンがプロビジョニングされます。IAP は、エージェント ID が相互 TLS(mTLS)を使用して Agent Gateway に対して認証を行うようにします。ゲートウェイがエージェントに下り(外向き)とアクセスを許可すると、エージェントは mTLS 境界外へのアクセスを試みます。 Cloud de Confiance API、MCP サーバー、他のエージェント、エンドポイント。通信を保護するため、コンテキストアウェア アクセスでは Google が管理するコンテキストアウェア アクセス ポリシーが適用されます。このポリシーでは、エージェント ID にバインドされた証明書バインド トークンを DPoP で検証する必要があります。コンテキストアウェア アクセスがエンドツーエンドの mTLS と DPoP セキュリティをどのように提供するかについては、コンテキストアウェア アクセス エージェントのセキュリティをご覧ください。

次のステップ

Codelab

エージェント型アプリケーションを保護する方法については、クロスクラウド エージェント型 AI アプリケーションの保護に関する Codelab をご覧ください。

概要

Agent Gateway の概要を確認します。

ガイド

Google Agent Platform のセキュリティ管理について学習します。