エージェント ID の概要

Agent Identity は、SPIFFE 標準に基づく、各エージェントの強力な構成証明付きの暗号 ID を提供します。Agent Identity を使用すると、エージェントは MCP サーバー、クラウド リソース、エンドポイント、他のエージェントに対して、自身またはエンドユーザーに代わって安全に認証できます。Agent Identity は、エージェント自身の認証情報Agent Identity 認証マネージャーを使用します。認証マネージャーを使用して、API キー、OAuth クライアント ID、OAuth クライアント シークレット、委任されたエンドユーザー OAuth トークンを取得、管理、保護するために使用される特定の構成である認証プロバイダを作成、管理できます。

サービス アカウントとは異なり、エージェント ID はデフォルトでは複数のワークロードで共有されず、権限借用もできず、デベロッパーが有効期間の長いサービス アカウント キーを生成することもできません。 用に生成されたアクセス トークンは、トークンの盗難を防ぐために、エージェントの一意の X.509 証明書に暗号的にバインドされます。 Google Cloud

Agent Identity を Agent Gateway および Gemini Enterprise とともに使用する場合、Gemini Enterprise コネクタによってプロビジョニングされたエンドユーザー認証情報などのエンドユーザー認証情報は、認証マネージャーによって暗号化され、ゲートウェイで復号されます。これにより、エージェントが生の認証情報にアクセスすることはできません。

次のサービスは Agent Identity をサポートしています。

認証モデル

さまざまなツールやサービスで認証を行うために、Agent Identity は複数の認証モデルをサポートしています。エージェントが使用するモデルは、ターゲット リソースが提供する認証方法と、エージェントが自身の権限で動作するか、エンドユーザーに代わって動作するかによって異なります。

権限 認証方法 ターゲット リソース ユースケースとソリューション
ユーザー委任権限 OAuth 2.0(3-legged)(プレビュー 外部ツールとサービス エージェントが特定のユーザーに代わって動作する場合(ユーザーの Jira タスクや GitHub リポジトリに アクセスする場合など)。Agent Identity 認証マネージャーで 3-legged OAuth 認証プロバイダを構成して 、ユーザーの同意とトークンを管理します。詳細については、 認証マネージャーで 3-legged OAuth を使用して認証する をご覧ください。
エージェント自身の権限 クラウドベースの ID(Agent Identity) Google Cloud サービス でホストされているエージェントが、自身の ID を使用して他の Google Cloud サービスにアクセスする必要がある場合。 Google Cloud 詳細については、エージェント自身の ID を使用して認証するをご覧ください。
OAuth 2.0(2-legged)(プレビュー 外部ツールとサービス OAuth をサポートする外部サービスとのマシン間認証におすすめです。Agent Identity 認証マネージャーで 2-legged OAuth 認証プロバイダを構成して、クライアント認証情報とアクセス トークンを処理します。詳細については、 認証マネージャーで 2-legged OAuth を使用して認証する をご覧ください。
API キー(プレビュー 外部ツールとサービス 認証に暗号鍵またはパスワードが必要な外部サービスの場合。Agent Identity 認証マネージャーで API キー認証プロバイダを構成して、鍵を安全に保存して管理します。詳細については、 認証マネージャーで API キーを使用して認証する をご覧ください。
HTTP 基本認証 外部ツールとサービス プレーン テキストのパスワードを使用します。この方法はおすすめしません 。API キーと同様にパスワードを保存できます。詳細については、 認証マネージャーで API キーを使用して認証するをご覧ください。

コア コンポーネント

Agent Identity には、安全な認証と認可を実現するいくつかの主要コンポーネントが含まれています。

SPIFFE ベースの ID

各エージェントには、SPIFFE 標準に基づいて一意の ID 文字列(SPIFFE ID)が割り当てられます。この ID は強力に構成証明され、エージェントのライフサイクルに関連付けられ、エージェントがホストされているリソース URI に直接マッピングされます。

ID の形式は次のとおりです。

spiffe://TRUST_DOMAIN/resources/SERVICE/RESOURCE_PATH

次に例を示します。

  • spiffe://agents.global.org-123456789012.system.id.goog/resources/aiplatform/projects/9876543210/locations/us-central1/reasoningEngines/my-test-agent

エージェント ID が IAM 許可ポリシーで使用される場合、プリンシパル ID の形式は次のようになります。

principal://TRUST_DOMAIN/resources/SERVICE/RESOURCE_PATH

例:

  • Agent Platform Agent Engine: principal://agents.global.org-123456789012.system.id.goog/resources/aiplatform/projects/9876543210/locations/us-central1/reasoningEngines/my-test-agent
  • Gemini Enterprise: principal://agents.global.org-123456789012.system.id.goog/resources/discoveryengine/projects/9876543210/locations/global/collections/default_collection/engines/my-test-agent

ID では次のものが使用されます。

  • TRUST_DOMAIN: 組織の信頼ドメイン(agents.global.org-123456789012.system.id.goog など)。
  • SERVICE: サービス(aiplatformdiscoveryengine など)の短縮名。 Google Cloud
  • RESOURCE_PATH: エージェントをホストするリソースへの完全パス。

エージェント自体がプリンシパルであるため、この ID に直接権限を付与して、エージェントがアクセスできるリソースを制御します。

エージェントの認証情報

エージェントの認証情報は、エージェントの ID の暗号証明を提供します。この システムは、X.509 証明書と Google Cloud アクセス トークンをサポートしています。X.509 証明書は、より強力な認証をサポートするために、エージェントで自動的にプロビジョニングおよび管理されます。

エージェント ID 認証マネージャー

Agent Identity Auth Manager は、認証情報を保護するための認証情報保管庫です。エージェントは、API キーまたは OAuth クライアント ID とシークレットを使用して認証できます。また、エンドユーザー アクセス トークンを使用した OAuth 委任により、ユーザーに代わって認証することもできます。認証マネージャー内で、特定のサードパーティ アプリケーションの認証タイプと認証情報を定義する認証プロバイダを構成します。

Agent Identity 認証マネージャーへのアクセスは IAM に則って管理され、エージェントは自身のエージェント SPIFFE ID を使用して認証マネージャーに対して認証を行います。すべてのエンドユーザー アクセス イベントもエージェントの SPIFFE ID に関連付けられるため、ガバナンスが容易になります。

Agent Identity 認証マネージャーは、ユーザーのログインと同意のダイアログを開くなど、OAuth 認証情報の取得を自動化します。また、エンドユーザーのアクセスを可視化し、アクセスを取り消すことができるため、ユーザー委任権限のガバナンスを強化できます。

セキュリティとガバナンス

Agent Identity は、IAM、プリンシパル アクセス境界(PAB)、VPC Service Controls などの Google のポリシー システムと完全に統合されており、セキュリティとガバナンスを強化できます。また、監査ロギングと統合されているため、エージェントが自身として動作する場合と、エンドユーザーに代わって動作する場合の両方で、アカウンタビリティを確保し、明確な監査ログを提供できます。

  • コンテキストアウェア アクセス: デフォルトでは、Google マネージドのコンテキストアウェア アクセス ポリシーにより、Agent Identity 認証情報が保護されます。Agent Gateway を超えて、ポリシーはエージェントのアクセス トークンを認証することで、所有証明(DPoP)を強制します。また、ポリシーでは、mTLS を使用して Agent Gateway にアクセスすることも強制されます。これにより、証明書にバインドされたトークンは、意図した信頼できるランタイム環境でのみ使用できます。
  • IAM 統合: 標準の IAM 許可ポリシーと拒否ポリシーをサポートします。
  • プリンシパル アクセス境界(PAB): PAB は、他の権限に関係なく、エージェントがアクセスできるリソースを制限します。
  • VPC Service Controls: 上り(内向き)ルールと下り(外向き)ルールでエージェント ID(プレビュー) を使用して、サービス境界で保護されたリソースへのアクセスを許可します。

Agent Identity の仕組み

Agent Identity は、セキュリティ強化を目的としたワークフローを通じて、エージェント アクションを認証および認可します。

  1. ID の割り当て: エージェントをデプロイすると、 Google Cloud は一意の SPIFFE ID と X.509 証明書を割り当てます。各 X.509 証明書は 24 時間有効で、 Google Cloud セキュリティを維持するために自動的に最新の状態に保たれます。
  2. 認証情報の取得: エージェントが 認証情報を取得する方法は、アクセスしようとしているものによって異なります。次に例を示します。
    • アクセス Google Cloud サービス: エージェントは バインドされたアクセス トークンをリクエストします。このトークンは、トークンの盗難を防ぐために、 エージェントの一意の X.509 証明書に暗号的にバインドされます。詳細については、 セキュリティとガバナンスをご覧ください。
    • 外部ツールにアクセスする: エージェントは Agent Identity 認証マネージャーを使用して、必要な 認証情報(API キーや OAuth トークンなど)を 認証プロバイダから取得します。認証マネージャーは、 ユーザー委任権限エージェント自身の権限 の両方をサポートしています。

Agent Identity のメリット

Agent Identity は、標準のサービス アカウントよりもセキュリティを強化します。

  • 強力な分離: サービス アカウントとは異なり、エージェント ID はデフォルトでは複数のワークロードで共有されず、権限借用もできず、デベロッパーが有効期間の長いサービス アカウント キーを生成することもできません。
  • 認証情報のセキュリティ: デフォルトのコンテキストアウェア アクセス ポリシーにより、バインドされたトークンを 再生できなくなり、トークンの盗難やアカウントの乗っ取りを防ぐことができます。Agent Identity を Agent Gateway および Gemini Enterprise とともに使用する場合、Gemini Enterprise コネクタによってプロビジョニングされたエンドユーザー認証情報などのエンドユーザー認証情報は、認証マネージャーによって暗号化され、ゲートウェイで復号されます。これにより、エージェントが生の認証情報にアクセスすることはできません。
  • 最小権限のアプローチ: 共有サービス アカウントではなく、エージェントごとの ID を提供することで、過剰な権限を持つエージェントを排除します。
  • 摩擦の軽減: 複雑な OAuth フローを自動化し、API キーを管理して、ツールの統合を簡素化します。
  • 可観測性の向上: 明確な監査ログを提供します。エージェントがユーザーに代わって動作する場合、ログにはエージェントとユーザーの両方の ID が表示されます。

制限事項

  • Cloud Storage のレガシー バケットロール: エージェント ID にレガシー バケットロール(storage.legacyBucketReader など)を付与することはできません。

次のステップ