Agent Identity は、SPIFFE 標準に基づく、各エージェントの強力な構成証明付きの暗号 ID を提供します。エージェント ID を使用すると、エージェントは MCP サーバー、クラウド リソース、エンドポイント、他のエージェントに対して、自身またはエンドユーザーに代わって安全に認証できます。エージェント ID は、エージェント自身の認証情報とエージェント ID 認証マネージャーを使用します。認証マネージャーを使用して、認証プロバイダを作成して管理できます。これは、API キー、OAuth クライアント ID、OAuth クライアント シークレット、委任されたエンドユーザー OAuth トークンの取得、管理、保護に使用される特定の構成です。
サービス アカウントとは異なり、エージェント ID はデフォルトで複数のワークロードで共有されず、権限を借用できず、デベロッパーが有効期間の長いサービス アカウント キーを生成することもできません。 Google Cloud用に生成されたアクセス トークンは、トークンの盗難を防ぐために、エージェントの一意の X.509 証明書に暗号的にバインドされます。
Agent Identity を Agent Gateway および Gemini Enterprise とともに使用すると、Gemini Enterprise コネクタによってプロビジョニングされたエンドユーザー認証情報などの認証情報は、認証マネージャーによって暗号化され、ゲートウェイで復号されます。これにより、エージェントが未加工の認証情報にアクセスできないようにします。
次のサービスはエージェント ID をサポートしています。
- Gemini Enterprise Agent Platform ランタイム(エージェント ランタイム)
- Gemini Enterprise
認証モデル
さまざまなツールやサービスで認証を行うために、エージェント ID は複数の認証モデルをサポートしています。エージェントが使用するモデルは、ターゲット リソースが提供する認証方法と、エージェントが独自の権限で動作するか、エンドユーザーに代わって動作するかによって異なります。
| 権限 | 認証方法 | ターゲット リソース | ユースケースとソリューション |
|---|---|---|---|
| ユーザー委任権限 | OAuth 2.0(3-legged)(プレビュー) | 外部ツールとサービス | エージェントが特定のユーザーに代わって行動する場合(ユーザーの Jira タスクや GitHub リポジトリにアクセスする場合など)。Agent Identity Auth Manager で 3-legged OAuth 認証プロバイダを構成して、ユーザーの同意とトークンを管理します。詳細については、認証マネージャーで 3 レッグ OAuth を使用して認証するをご覧ください。 |
| エージェント自身の権限 | クラウドベースの ID(エージェント ID) | Google Cloud サービス | Google Cloud でホストされているエージェントが、独自の ID を使用して他の Google Cloud サービスにアクセスする必要がある場合。詳細については、エージェント自身の ID を使用して認証するをご覧ください。 |
| OAuth 2.0(2 レッグ)(プレビュー) | 外部ツールとサービス | OAuth をサポートする外部サービスとのマシン間認証におすすめします。Agent Identity 認証マネージャーで 2 レッグ OAuth 認証プロバイダを構成して、クライアント認証情報とアクセス トークンを処理します。詳細については、認証マネージャーで 2 レッグ OAuth を使用して認証するをご覧ください。 | |
| API キー(プレビュー) | 外部ツールとサービス | 認証に暗号鍵またはパスワードが必要な外部サービスの場合。API キー認証プロバイダをエージェント ID 認証マネージャーで構成して、キーを安全に保存して管理します。詳細については、認証マネージャーで API キーを使用して認証するをご覧ください。 | |
| HTTP 基本認証 | 外部ツールとサービス | プレーンテキストのパスワードを使用します。この方法はおすすめしません。パスワードは API キーと同様に保存できます。詳細については、認証マネージャーで API キーを使用して認証するをご覧ください。 |
コア コンポーネント
エージェント ID には、安全な認証と認可の提供に役立ついくつかの主要コンポーネントが含まれています。
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
例:
- エージェント ランタイム:
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
識別子には次のものが使用されます。
TRUST_DOMAIN: 組織の信頼ドメイン(agents.global.org-123456789012.system.id.googなど)。SERVICE: Google Cloud サービスの短い名前(aiplatformやdiscoveryengineなど)。RESOURCE_PATH: エージェントをホストするリソースのフルパス。
エージェント自体がプリンシパルであるため、この識別子に権限を直接付与して、エージェントがアクセスできるリソースを制御します。
エージェントの認証情報
エージェントの認証情報は、エージェントの ID の暗号証明を提供します。システムは、X.509 証明書と Google Cloud アクセス トークンをサポートしています。X.509 証明書は、より強力な認証をサポートするために、エージェントで自動的にプロビジョニングされ、管理されます。
デフォルトでは、エージェント ID は Google Cloud API と直接通信するときに、X.509 証明書で相互 TLS(mTLS)を使用します。エージェントが Agent Gateway を介してやり取りする場合、Demonstrating Proof of Possession(DPoP)も使用し、エンドツーエンドのセキュリティのために二重バインドされた認証情報を作成します。この二重バインディングは、エージェントがゲートウェイへのファースト パーティ アクセスに mTLS を使用して認証し、ゲートウェイを超えたインタラクションに DPoP を使用することを意味します。
エージェント ID 認証マネージャー
エージェント ID 認証マネージャーは、エージェントのアウトバウンド ツール認証を簡素化する一元化された認証情報保管庫と認証ブローカーです。エージェントは、API キーまたは OAuth クライアント ID とシークレットを使用して認証できます。また、エンドユーザー アクセス トークンを使用した OAuth 委任を通じてユーザーの代わりに認証することもできます。認証マネージャー内で、特定のサードパーティ アプリケーションの認証タイプと認証情報を定義する認証プロバイダを構成します。
エージェント ID 認証マネージャーへのアクセスは IAM によって管理され、エージェントは独自のエージェント SPIFFE ID を使用して認証マネージャーに対して認証を行います。すべてのエンドユーザー アクセス イベントもエージェントの SPIFFE ID に関連付けられるため、ガバナンスが容易になります。
Agent Identity 認証マネージャーは、ユーザーのログインと同意のダイアログを開くなど、OAuth 認証情報の取得を自動化します。また、エンドユーザーのアクセスを可視化し、アクセスを取り消すことができるため、ユーザー委任権限のガバナンスが向上します。
詳細については、エージェント ID 認証マネージャーの概要をご覧ください。
セキュリティとガバナンス
エージェント ID は、IAM、プリンシパル アクセス境界(PAB)、VPC Service Controls などの Google のポリシー システムと完全に統合されており、セキュリティとガバナンスを強化できます。また、監査ロギングと統合して、エージェントが自身として動作している場合とエンドユーザーの代理として動作している場合の両方で、アカウンタビリティを確保し、明確な監査ログを提供します。
- コンテキストアウェア アクセス: デフォルトでは、Google マネージドのコンテキストアウェア アクセス ポリシーにより、mTLS と DPoP トークン バインディングが適用され、エージェント認証情報の保護に役立ちます。このアプローチにより、証明書バインド トークンが信頼できるランタイム環境外で再生されるのを防ぐことができます。
- IAM 統合: 標準の IAM 許可ポリシーと拒否ポリシーをサポートします。
- プリンシパル アクセス境界(PAB): PAB は、他の権限に関係なく、エージェントがアクセスできるリソースを制限します。
- VPC Service Controls: 上り(内向き)ルールと下り(外向き)ルールでエージェント ID(プレビュー)を使用して、サービス境界で保護されたリソースへのアクセスを許可するサポート。
エージェント ID の仕組み
エージェント ID は、セキュリティ強化を目的としたワークフローを通じてエージェント アクションを認証して承認します。
- ID の割り当て: エージェントをデプロイすると、 Google Cloudは一意の SPIFFE ID と X.509 証明書を割り当てます。各 X.509 証明書は 24 時間有効で、 Google Cloudセキュリティを維持するために自動的に最新の状態に保たれます。
- 認証情報の取得: エージェントが認証情報を取得する方法は、アクセスしようとしているものによって異なります。次に例を示します。
- Access Google Cloud services: エージェントがバインドされたアクセス トークンをリクエストします。このトークンは、トークンの盗難を防ぐために、エージェントの一意の X.509 証明書に暗号的にバインドされます。詳細については、セキュリティとガバナンスをご覧ください。
- 外部ツールにアクセスする: エージェントは、エージェント ID 認証マネージャーを使用して、認証プロバイダから必要な認証情報(API キーや OAuth トークンなど)を取得します。認証マネージャーは、ユーザー委任権限とエージェント自身の権限の両方をサポートしています。
エージェント ID のメリット
エージェント ID は、標準のサービス アカウントよりもセキュリティを強化します。
- 強力な分離: サービス アカウントとは異なり、エージェント ID はデフォルトで複数のワークロードで共有されず、権限を借用できず、デベロッパーが有効期間の長いサービス アカウント キーを生成することもできません。
- 認証情報のセキュリティ: デフォルトのコンテキストアウェア アクセス ポリシーにより、バインドされたトークンを再利用できなくなり、トークンの盗難やアカウントの乗っ取りを防ぐことができます。Agent Identity を Agent Gateway および Gemini Enterprise とともに使用すると、Gemini Enterprise コネクタによってプロビジョニングされたエンドユーザー認証情報などの認証情報は、認証マネージャーによって暗号化され、ゲートウェイで復号されます。これにより、エージェントが未加工の認証情報にアクセスできないようにします。
- 最小権限のアプローチ: 共有サービス アカウントではなくエージェントごとの ID を提供して、権限が過剰なエージェントを排除します。
- 摩擦の軽減: 複雑な OAuth フローを自動化し、API キーを管理して、ツールの統合を簡素化します。
- 可観測性の向上: 明確な監査ログを提供します。エージェントがユーザーに代わって操作を行うと、ログにはエージェントとユーザーの両方の ID が表示されます。
制限事項
- Cloud Storage のレガシー バケットロール: エージェント ID にレガシー バケットロール(
storage.legacyBucketReaderなど)を付与することはできません。
次のステップ
- エージェント ID を使用してエージェントを作成する
- エージェント自身の権限を使用して認証する
- 認証マネージャーで 3-legged OAuth を使用して認証する
- 認証マネージャーで 2-legged OAuth を使用して認証する
- 認証マネージャーで API キーを使用して認証する
- エージェント ID 認証プロバイダを管理する
- エージェント ID 認証マネージャーのトラブルシューティング
- SPIFFE のコンセプト