コンテキストアウェア アクセス エージェントのセキュリティ

このドキュメントでは、Gemini Enterprise Agent Platform 内で相互 TLS(mTLS)と Demonstrating Proof of Possession(DPoP)の認証と認可を適用することで、 Gemini Enterprise Agent Platform 内のエンドツーエンドのセキュリティをコンテキストアウェア アクセスがどのようにサポートするかについて説明します。

Gemini Enterprise Agent Platform では、Agent Gatewayプレビュー版)を使用して、エージェント間とエージェントから任意の場所へのすべての インタラクションに対して インライン アクセス制御を管理できます。

デフォルトで有効になっているコンテキストアウェア アクセスは、Agent Gateway に則って管理されるエージェントが認証(authn)と認可(authz)のセキュリティに次の方法を使用することを強制します。

  • 相互 TLS(mTLS): Agent Gateway にアクセスするエージェントのセキュリティを強化するため、コンテキストアウェア アクセスと IAP は、証明書ベースのトークン バインディングを検証することで、エージェントが mTLS を使用することを強制します。

  • Demonstrating Proof of Possession(DPoP): Agent Gateway を超えてサービスにアクセスするエージェントのセキュリティを強化するため、コンテキストアウェア アクセスは DPoP を使用してエージェント ID が有効であることを強制します。

Agent Gateway が無効になっている場合、エージェントは Google Cloud mTLS を介して API に直接アクセスできます。ただし、Agent Gateway が有効になっている場合、ゲートウェイは mTLS を終了するため、DPoP を使用する必要があります。

mTLS と DPoP を適用することで、コンテキストアウェア アクセスはベースラインのエンドツーエンドのセキュリティを提供し、認証情報の盗難やアカウントの乗っ取り(ATO)から保護します。コンテキストアウェア アクセス ポリシーの適用により、侵害されたトークンは、意図された信頼できるランタイムの外部では使用できなくなります。コンテキストアウェア アクセスによる認証情報のバインディングの適用により、Gemini Enterprise Agent Platform Runtime の個別のテナント間で認証情報が分離されます。

主なコンセプト

次のコンセプトは、コンテキストアウェア アクセスが mTLS と DPoP を使用してリソースとのエージェント インタラクションのセキュリティを適用する方法を理解するうえで重要です。

  • エージェント ID プール: 特定のエージェント セットのセキュリティ認証情報と鍵を管理するリソースと構成のグループ。

  • 認可 DPoP 証明: エージェントに ID が最初に割り当てられたときに Agent Identity によって生成される暗号証明。

  • 証明書バインド ワークロード アクセス トークン: エージェントの X.509 証明書に暗号的に バインドされたトークン。このトークンは、 Agent Gateway を含む、 Google Cloud APIs を介したリソースへの mTLS アクセスに対してエージェントを認証するために使用されます。コンテキストアウェア アクセス(CAA)ポリシーは、このバインディングを検証することで、相互 TLS(mTLS)の使用を強制します。検証により、トークンはプロビジョニングされた環境(Cloud Run コンテナなど)で実行されているエージェントでのみ使用できます。

  • Demonstrating Proof-of-Possession(DPoP): エージェントが Agent Gateway を通過した後、 APIs を介してリソースを認証してアクセスするために使用する必要があるプロトコル。 Google Cloud 相互 TLS と比較してください。DPoP は RFC 9449に基づいています。

  • DPoP 鍵管理: 基盤となるエージェント ID プールには、 DPoP オペレーションをサポートするために必要な公開鍵と秘密鍵のペアがプロビジョニングされます。

  • DPoP バインド認可トークン: プラットフォームは、認可 トークンをエージェントにバインドします。このトークンは、エージェントの証明書に紐付けられ、Agent Identity によって管理される鍵ペアを使用して署名されることで、DPoP をサポートします。 コンテキストアウェア アクセスは、この DPoP トークンの存在と有効性を強制し、呼び出し元が関連付けられた秘密鍵を所有していることを確認します。

  • 相互 TLS: エージェント ID が API にアクセスするために使用する認証プロトコル(Agent Gateway へのアクセスなど)。Google Cloud DPoP と比較してください。

  • リソース DPoP 証明: Agent Gateway によって生成され、APIs に提供される暗号証明。 Google Cloud

  • SPIFFE ID: デプロイ時に、各エージェントには、 SPIFFE(Secure Production Identity Framework For Everyone)フレームワークに準拠した 一意の暗号的に検証可能な ID が自動的にプロビジョニングされます。 SPIFFE は、クラウドネイティブ環境でのフェデレーション サービス ID のフレームワークを提供します。

  • X.509 証明書: エージェントのコンテナは、Google マネージド信頼ドメインによって発行された X.509 証明書を受け取ります。これは、その SPIFFE ID を表します。この証明書は、安全な通信チャネルの確立に役立ちます。

Agent Gateway によるコンテキストアウェア アクセスの適用

Agent Platform は、コンテキストアウェア アクセスを使用して、エージェント ID から Agent Gateway、Agent Gateway からリソースへのインライン セキュリティを適用します。コンテキストアウェア アクセスは、次のワークフローの一部です。

エージェントのデプロイ

  1. エージェントは、Gemini Enterprise Agent Platform Runtime にデプロイされます。

  2. Agent Identity は、次のものを自動的にプロビジョニングします。

    • 鍵ペアを含むエージェント ID プール

    • プール内のエージェント ワークロード 。次のものがあります。

      • 一意の SPIFFE ID

      • 暗号化された認可 DPoP 証明 を含む、一意の署名付き証明書バインド ワークロード アクセス トークン

mTLS を使用したエージェントから Agent Gateway へのアクセス

  1. エージェントが mTLS を使用して Google Cloud APIs にアクセスする場合、エージェントは Agent Gateway を通過する必要があります。mTLS は、この場合、エージェントと Agent Gateway の 2 つのパーティ間の安全なチャネルを提供します。

  2. コンテキストアウェア アクセスは、エージェントに 証明書バインド トークンがプロビジョニングされ、mTLS を使用していることを確認します。

  3. Agent Gateway は、エージェントがリソースにアクセスできることを確認します。

    Agent Gateway は IAP を使用して、エージェントの IAM 許可ポリシーを確認します。ターゲット リソースの IAM 許可ポリシーでエージェントのアクセス試行 が許可されている場合、 Agent Gateway はエージェントが Google Cloud APIs を呼び出すことを許可します。

    ただし、mTLS は Agent Gateway で終了するため、DPoP は、エージェントが Google Cloud APIs にアクセスしようとするときにエージェントを再認証するために使用する必要があります。

DPoP を使用した Agent Gateway からリソースへのアクセス

  1. DPoP を有効にするため、Agent Gateway は IAP を使用してリソース DPoP 証明を生成します。Agent Gateway は、 リソース DPoP 証明を Google Cloud APIs に渡します。

  2. エージェントは Google Cloud APIs へのアクセスを試みます。

  3. コンテキストアウェア アクセスは、認可 DPoP 証明とリソース DPoP 証明がエージェント ID プール内の同じ秘密鍵を使用して生成されたことを暗号的に検証します。

  4. コンテキストアウェア アクセスが両方の DPoP 証明を検証すると、エージェントは APIs を介してリソースにアクセスできます。 Google Cloud

CAA ポリシーの適用を無効にする

状況によっては、コンテキストアウェア アクセス ポリシーの適用をオプトアウトすることが必要になる場合があります。たとえば、エージェント間でトークンを共有するための特定の要件がある場合があります。

CAA ポリシーの適用を無効にするには、次の環境変数を設定します。

GOOGLE_API_PREVENT_AGENT_TOKEN_SHARING_FOR_GCP_SERVICES=False

次のステップ