バインディングを管理する

Agent Registry のバインディングを使用すると、オーケストレーター エージェントは、コードに接続や認証の詳細をハードコードすることなく、ダウンストリーム エージェント、MCP サーバー、エンドポイントに接続できます。Agent Registry でバインディングを作成、表示、更新、削除して、リソース接続と委任された権限を管理できます。

始める前に

  1. Agent Registry を設定する。
  2. 単一プロジェクトの設定の場合は、Agent Registry が有効になっているガバナンス プロジェクトのプロジェクト ID を取得します。複数のプロジェクトに管理境界を構成した場合は、境界全体の検出と登録に管理プロジェクトの ID を使用するか、単一プロジェクトのオペレーションにメンバー プロジェクト ID を指定します。

  3. ソース コンポーネントとターゲット コンポーネントを登録します。詳細については、登録モデルをご覧ください。

  4. 委任された権限のバインディングを構成する場合は、Agent Identity Auth Manager を使用して認証プロバイダを作成します。詳細については、ツールとリソースに対して認証するをご覧ください。

  5. このドキュメントの Google Cloud CLI コマンドを使用するには、gcloud CLI 環境を設定します。

必要なロール

Agent Registry でバインディングを管理するために必要な権限を取得するには、Agent Registry が有効になっているガバナンス プロジェクトに対する次の IAM ロールを付与するよう管理者に依頼してください。

ロールの付与については、プロジェクト、フォルダ、組織へのアクセス権の管理をご覧ください。

必要な権限は、カスタムロールや他の事前定義ロールから取得することもできます。

バインディングのシナリオ

バインディングを使用してリソースを接続し、権限を委任できます。たとえば、次のシナリオでバインディングを使用できます。

  • リソース接続: ソース エージェントをターゲット リソース(別のエージェント、MCP サーバー、エンドポイントなど)にリンクします。このシナリオでは、プライマリ オーケストレーターがタスクを専門のサブエージェントまたはツールに委任するマルチエージェント ワークフローをマッピングできます。
  • 委任された権限: エージェントを認証プロバイダに関連付けて、エージェントが独自の認証情報を使用して、または個々のユーザーに代わって、外部ターゲットまたはカスタムツールに接続できるようにします。このバインディングは、エージェントが OAuth トークンまたは API キーを使用してリモート MCP サーバーまたはツールを認証する必要がある場合に必要です。バインディングを使用すると、コード内で認証プロバイダを手動で定義する必要がなくなります。詳細な手順については、このドキュメントの認証プロバイダ バインディングを作成するをご覧ください。

バインディングは、サポート対象の地域ロケーション、サポートされているマルチリージョン、または global ロケーションで作成して管理できます。サポートされているロケーションの詳細については、Agent Registry のロケーションをご覧ください。

バインディングを作成する

ソース エージェントをターゲット リソースに接続するバインディングを作成します。

gcloud

gcloud agent-registry bindings create コマンドを実行します。

gcloud agent-registry bindings create BINDING_NAME \
    --project=PROJECT_ID \
    --location=REGION \
    --display-name="DISPLAY_NAME" \
    --source-identifier="SOURCE_ID" \
    --target-identifier="TARGET_ID"

次のように置き換えます。

Terraform

ソース エージェントとターゲット リソースの間にバインディングを作成するには、google_agent_registry_binding リソースを構成します。バインディングには target ブロックが必要です。

resource "google_agent_registry_binding" "agent_binding" {
  location     = "REGION"
  binding_id   = "BINDING_NAME"
  display_name = "DISPLAY_NAME"
  description  = "Connects a source agent to a target resource."

  source {
    identifier = "SOURCE_ID"
  }

  target {
    identifier = "TARGET_ID"
  }
}

次のように置き換えます。

  • REGION: レジストリ リージョン。
  • BINDING_NAME: バインディングに付ける一意の名前。
  • DISPLAY_NAME: 人が読める形式のバインディング名。
  • SOURCE_ID: ソース エージェントの エージェント識別子(URN 形式)。
  • TARGET_ID: ターゲット リソースの レジストリ ID(URN 形式)。

認証プロバイダ バインディングを作成する

委任された権限の認証プロバイダにエージェントを関連付けることができます。このバインディングを作成する前に、認証マネージャーで認証プロバイダを作成する必要があります。詳細については、ツールとリソースに対して認証するをご覧ください。

--auth-provider-binding リソース名を指定する場合は、プロジェクト ID を使用する必要があります。

gcloud

--auth-provider-binding フラグを指定して gcloud agent-registry bindings create コマンドを実行します。

gcloud agent-registry bindings create BINDING_NAME \
    --project=PROJECT_ID \
    --location=REGION \
    --display-name="DISPLAY_NAME" \
    --source-identifier="SOURCE_ID" \
    --target-identifier="TARGET_ID" \
    --auth-provider-binding="projects/PROJECT_ID/locations/REGION/authProviders/AUTH_PROVIDER_ID"

次のように置き換えます。

  • BINDING_NAME: バインディングに付ける一意の名前。
  • PROJECT_ID: プロジェクト ID。
  • REGION: レジストリ リージョン。
  • DISPLAY_NAME: 人が読める形式のバインディング名。
  • SOURCE_ID: ソース エージェントの エージェント識別子(URN 形式)。
  • TARGET_ID: ターゲット リソースの レジストリ ID(URN 形式)。
  • AUTH_PROVIDER_ID: 認証プロバイダの ID。

Terraform

Terraform で認証プロバイダ バインディングを構成するには、認証プロバイダのリソース名、スコープ、続行 URI を指定して auth_provider_binding ブロックを指定します。

resource "google_agent_registry_binding" "auth_binding" {
  location     = "REGION"
  binding_id   = "BINDING_NAME"
  display_name = "DISPLAY_NAME"

  source {
    identifier = "SOURCE_ID"
  }

  target {
    identifier = "TARGET_ID"
  }

  auth_provider_binding {
    auth_provider = "projects/PROJECT_ID/locations/REGION/authProviders/AUTH_PROVIDER_ID"
    scopes        = [SCOPES]
    continue_uri  = "CONTINUE_URI"
  }
}

次のように置き換えます。

  • REGION: レジストリ リージョン。
  • BINDING_NAME: バインディングに付ける一意の名前。
  • DISPLAY_NAME: 人が読める形式のバインディング名。
  • SOURCE_ID: ソース エージェントの エージェント識別子(URN 形式)。
  • TARGET_ID: ターゲット リソースの レジストリ ID(URN 形式)。
  • PROJECT_ID: プロジェクト ID。
  • AUTH_PROVIDER_ID: 認証プロバイダの ID。
  • SCOPES: OAuth 2.0 スコープのカンマ区切りのリスト(例: "https://www.googleapis.com/auth/cloud-platform")。
  • CONTINUE_URI: 認証プロバイダの続行 URI(例: https://example.com/continue)。

エージェント コードでこれらのバインディングを使用する方法の例については、Agent Development Kit(ADK)コードでバインディングを解決するをご覧ください。

バインディングの一覧表示

gcloud agent-registry bindings list コマンドを実行して、特定のロケーションのすべてのバインディングを一覧表示します。

gcloud agent-registry bindings list \
    --project=PROJECT_ID \
    --location=REGION

次のように置き換えます。

  • PROJECT_ID: プロジェクト ID。
  • REGION: レジストリ リージョン。

バインディングの詳細を表示する

gcloud agent-registry bindings describe コマンドを実行して、1 つのバインディングの詳細を取得します。

gcloud agent-registry bindings describe BINDING_NAME \
    --project=PROJECT_ID \
    --location=REGION

次のように置き換えます。

  • BINDING_NAME: バインディングの名前。
  • PROJECT_ID: プロジェクト ID。
  • REGION: レジストリ リージョン。

バインディングを更新する

既存のバインディングのパラメータ(表示名や説明など)を更新します。

gcloud

gcloud agent-registry bindings update コマンドを実行します。

gcloud agent-registry bindings update BINDING_NAME \
    --project=PROJECT_ID \
    --location=REGION \
    --display-name="NEW_DISPLAY_NAME"

次のように置き換えます。

  • BINDING_NAME: 更新するバインディングの名前。
  • PROJECT_ID: プロジェクト ID。
  • REGION: レジストリ リージョン。
  • NEW_DISPLAY_NAME: バインディングの新しい人が読める形式の名前。

Terraform

Terraform を使用してバインディングの表示名または説明を更新するには、構成内の既存の google_agent_registry_binding リソースを変更して terraform apply を実行します。

バインディングを削除する

リソース間の接続を削除するには、バインディングを削除します。

gcloud

gcloud agent-registry bindings delete コマンドを実行します。

gcloud agent-registry bindings delete BINDING_NAME \
    --project=PROJECT_ID \
    --location=REGION

次のように置き換えます。

  • BINDING_NAME: 削除するバインディングの名前。
  • PROJECT_ID: プロジェクト ID。
  • REGION: レジストリ リージョン。

Terraform

Terraform 構成からバインディングを表す google_agent_registry_binding リソースを削除し、terraform apply を実行します。

次のステップ