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 をサポートしています。
- Gemini Enterprise Agent Platform Runtime(エージェント ランタイム)
- Gemini Enterprise
認証モデル
さまざまなツールやサービスで認証を行うために、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
例:
- Vertex AI 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: サービスの略称(aiplatform、discoveryengineなど)。 Google CloudRESOURCE_PATH: エージェントをホストするリソースへの完全パス。
エージェント自体がプリンシパルであるため、この ID に直接権限を付与して、エージェントがアクセスできるリソースを制御します。
エージェントの認証情報
エージェントの認証情報は、エージェントの ID の暗号証明を提供します。この システムは、X.509 証明書と Google Cloud アクセス トークンをサポートしています。X.509 証明書はエージェントで自動的にプロビジョニングおよび管理され、より強力な認証をサポートします。
エージェント ID 認証マネージャー
Agent Identity 認証マネージャーは、エージェントの送信ツール認証を簡素化する、一元化された認証情報保管庫と認証ブローカーです。エージェントは、API キーまたは OAuth クライアント ID とシークレットを使用して認証できます。また、エンドユーザー アクセス トークンを使用した OAuth 委任により、ユーザーに代わって認証することもできます。認証マネージャー内で、特定のサードパーティ アプリケーションの認証タイプと認証情報を定義する認証プロバイダを構成します。
Agent Identity 認証マネージャーへのアクセスは IAM によって管理され、エージェントは自身のエージェント SPIFFE ID を使用して認証マネージャーに対して認証を行います。すべてのエンドユーザー アクセス イベントもエージェントの SPIFFE ID に関連付けられるため、管理が容易になります。
Agent Identity 認証マネージャーは、ユーザーのログインと同意のダイアログを開くなど、OAuth 認証情報の取得を自動化します。また、エンドユーザーのアクセスを可視化し、アクセスを取り消すことができるため、ユーザー委任権限の管理を強化できます。
詳細については、 Agent Identity 認証マネージャー の概要をご覧ください。
セキュリティとガバナンス
Agent Identity は、IAM、プリンシパル アクセス境界(PAB)、VPC Service Controls などの Google のポリシー システムと完全に統合されており、セキュリティとガバナンスを強化できます。また、監査ロギングと統合されているため、エージェントが自身として動作する場合と、エンドユーザーに代わって動作する場合の両方で、アカウンタビリティを確保し、明確な監査ログを提供できます。
- コンテキストアウェア アクセス: デフォルトでは、Google マネージドのコンテキストアウェア アクセス ポリシーにより、Agent Identity 認証情報の保護が強化されます。Agent Gateway を超えて、ポリシーはエージェントのアクセス トークンを認証することで、所有証明(DPoP)を強制します。また、このポリシーでは、Agent Gateway へのアクセスに mTLS を使用することも強制されます。これにより、証明書にバインドされたトークンは、意図された信頼できるランタイム環境でのみ使用できます。
- IAM 統合: 標準の IAM 許可ポリシーと拒否ポリシーをサポートします。
- プリンシパル アクセス境界(PAB): PAB は、他の権限に関係なく、エージェントがアクセスできるリソースを制限します。
- VPC Service Controls: 上り(内向き)ルールと下り(外向き)ルールでエージェント ID(プレビュー) を使用して、サービス境界で保護されたリソースへのアクセスを許可します。
Agent Identity の仕組み
Agent Identity は、セキュリティ強化を目的としたワークフローを通じて、エージェント アクションを認証および認可します。
- ID の割り当て: エージェントをデプロイすると、 Google Cloud 一意の SPIFFE ID と X.509 証明書が割り当てられます。各 X.509 証明書の有効期間は 24 時間で、 Google Cloud セキュリティを維持するために自動的に最新の状態に保たれます。
- 認証情報の取得: エージェントが
認証情報を取得する方法は、アクセスしようとしているものによって異なります。次に例を示します。
- アクセス 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など)を付与することはできません。
次のステップ
- Vertex AI Agent Engine でエージェント ID を使用する方法について学習する。
- エージェントの管理について学習する。