サードパーティサービスノードのアウトバウンド権限付与は、Agent ID Guard のセキュリティ制御機能で、エージェントが外部の SaaS および API サービスにアクセスする方法を管理します。OAuth 2.0 認証情報と API キーを一元管理することで、エージェントごとのきめ細かなアクセス制御を実現し、認証情報の漏洩と不正アクセスを防止します。
概要
AI エージェント技術が広く普及するにつれ、エージェントは大規模言語モデルサービス、サードパーティ SaaS サービス、社内エンタープライズサービスなど、さまざまな外部サービスへの安全なアクセスを必要とします。サードパーティサービスノードのアウトバウンド権限付与管理は、Agent ID Guard の中核機能で、サードパーティ SaaS サービス向けに設計されており、外部 SaaS/API 呼び出しに対するセキュリティ制御を提供します。
-
認証情報のサポート:OAuth 2.0 と静的 API キーの両方に対応します。Agent ID Guard が OAuth トークンの取得と更新を自動的に処理するため、エージェントはプロトコルの詳細を管理する必要がありません。
-
一元的な暗号化ホスティング:すべての認証情報は Agent ID Guard 認証情報サービスに保存され、Alibaba Cloud Key Management Service (KMS) によって暗号化されるため、シークレットの分散を防止します。
-
分離と最小権限:アウトバウンド権限付与はエージェントアイデンティティごとに設定され、認証情報は完全に分離されるため、不正アクセスを防止します。
-
ローコード統合:開発者は認証情報識別子のみでアクセスを取得できるため、統合と保守のコストが大幅に削減されます。
基本概念
|
概念 |
説明 |
|
エージェントノード |
Agent ID Guard によって管理されるマシンアイデンティティで、基盤となる M2M (Machine-to-Machine) アプリケーションに対応します。 |
|
サードパーティサービスノード |
エージェントワークフロー内のアウトバウンドノードで、外部のサードパーティサービスを表します。各ノードは、1 つの OAuth 認証情報プロバイダーまたは API キー認証情報に関連付けられます。 |
|
OAuth 認証情報プロバイダー |
OAuth 2.0 をサポートするサードパーティサービス (GitHub、GitLab など) に適用できます。Agent ID Guard が OAuth アクセストークンの取得を自動的に管理するため、エージェントは OAuth プロトコルの詳細を処理する必要がありません。 |
|
API キー認証情報 |
静的キー認証を使用するサードパーティサービス (Amap MCP Server など) に適用できます。エージェントは認証情報識別子を通じて API キーを直接取得します。 |
|
認証情報識別子 |
認証情報の一意の識別子です。エージェントはコード内で認証情報識別子を使用して、対応するプレーンテキスト値を取得します。 |
|
アウトバウンド権限付与 |
エージェントノードとサードパーティサービスノード間の権限付与で、機能権限付与とデータ権限付与で構成されます。アウトバウンド権限付与が設定されたエージェントのみが、そのサードパーティサービスの認証情報を取得できます。 |
|
機能権限付与 |
エージェントが実行できる操作を制御します。システムはエージェントの登録時に機能権限付与を自動的に完了し、認証情報を取得する権限を付与します。 |
|
データ権限付与 |
エージェントがアクセスできる特定の OAuth 認証情報プロバイダーまたは API キー認証情報を制御します。関連付けられたアイデンティティ + 権限が付与されたアセットの形式でルールとして定義されます。システムは登録時に各エージェントの権限付与ルールを自動的に作成し、サードパーティサービスノードの追加時に認証情報が自動的にルールに追加されます。 |
認証情報管理
サードパーティサービス認証情報のアウトバウンド権限付与は、認証情報ライフサイクル管理と緊密に統合されています。
-
ノードの追加時:
-
OAuth サービスのクライアントシークレットでも、サードパーティサービスの API キーでも、すべて Agent ID Guard 認証情報サービスに一元的にホスティングされ、KMS によって保護されます。API キーとクライアントシークレットは、KMS に保存される際に暗号文に暗号化され、業界標準の暗号化アルゴリズムと専用のハードウェアセキュリティモジュールによって保護されます。
-
システムは認証情報をエージェント専用の権限付与ルールに自動的に追加し、権限付与は即座に有効になります。
-
-
ノードの削除時:システムは認証情報をエージェント専用の権限付与ルールから自動的に削除します。アクセス権限は即座に取り消されますが、認証情報自体は削除されず、他のエージェントが使用できる状態で保持されます。
-
自動 OAuth トークン管理:OAuth 認証情報プロバイダーの場合、Agent ID Guard はアクセストークンの取得とキャッシュを自動的に処理します。エージェントは各リクエストで有効なトークンを受け取るため、OAuth プロトコルフローを自身で実装する必要がありません。
-
キーのローテーション:管理者が認証情報サービスで API キーまたは OAuth 認証情報プロバイダーを更新すると、関連付けられたすべてのエージェントは次回の取得時に自動的に新しい認証情報を受け取るため、個別の通知や再デプロイは不要です。
前提条件
-
IDaaS EIAM Enterprise Edition インスタンスが作成され、マシンアイデンティティ管理が有効化されていること。
-
Agent ID Guard でエージェントアイデンティティの登録が完了していること。詳細については、「エージェントアイデンティティの登録と認証設定ガイド」をご参照ください。
-
サードパーティサービスから API キーまたは OAuth 認証情報 (クライアント ID、クライアントシークレット、トークンエンドポイントなど) を取得していること。
操作手順
ステップ 1:サードパーティサービスノードの追加
-
IDaaS EIAM コンソールにログインします。
-
Agent Identity Security をクリックして、Agent ID Guard リストページに移動します。
-
対象のエージェントを選択し、[Actions] 列の Edit をクリックします。エージェント詳細ページで、ページ下部のフロー図内の Agent モジュールをクリックします。
-
エージェントアイデンティティの登録が完了していることを確認します。Agent モジュール名の右側に緑色のチェックマークアイコンが表示され、エージェントがサードパーティサービスノード設定の準備ができていることを示します。
-
トポロジー図の右上隅にある Add Node をクリックし、メニューから External Service を選択します。
各サードパーティサービスノードは、1 つの認証情報 (OAuth 認証情報プロバイダーまたは API キーのいずれか) に関連付けられます。エージェントが複数のサードパーティサービスにアクセスする必要がある場合は、それぞれに個別のサードパーティサービスノードを追加する必要があります。
ステップ 2:サードパーティサービス認証情報の設定
サードパーティサービスノードの設定パネルで、サードパーティサービスの認証方式に基づいて、OAuth 認証情報プロバイダーまたは静的 API キー認証情報のいずれかを選択します。2 つの認証情報タイプは、認証メカニズム、ライフサイクル管理、セキュリティ特性が異なります。
-
OAuth は、複雑で高セキュリティなシナリオに適しています。一時的なトークンと自動更新メカニズムを使用して、長期キー露出のリスクに対処し、許可されたアクションのきめ細かな制御を可能にします。Agent ID Guard が複雑な OAuth フローを処理するため、エージェントはトークンの取得と更新ロジックを自身で実装する必要がありません。
-
静的 API キーは、シンプルで社内向け、または低リスクのシナリオに適しています。統合は容易ですが、きめ細かな制御と自動ローテーション機能が欠けています。そのため、Agent ID Guard を通じて一元的に暗号化し、アクセス制御を行うことで、本来のセキュリティ制限を補う必要があります。
-
OAuth モードでは、Agent ID Guard が OAuth トークン取得をプロキシして結果を返します。API キーモードでは、Agent ID Guard が管理されている静적 API キーを直接返します。エージェントにとって、両方のモードは一貫した呼び出しパターンとなっています。認証情報は認証情報識別子を通じて取得されます。
OAuth 認証情報プロバイダーの設定
OAuth Credential Provider タブで、Add OAuth Credential Provider を選択するか、名前で検索して 既存の OAuth 認証情報プロバイダーを選択します。
-
[Add OAuth Credential Provider]:必要な OAuth 認証情報プロバイダーがリストに存在しない場合は、Add OAuth Credential Provider をクリックし、以下の情報を入力します。
パラメータ
説明
例
[Credential Provider Name]
コンソールでの表示名です。
GitHub OAuth
[Description]
認証情報の用途の説明です。
コードリポジトリを管理するための GitHub API OAuth 認証情報
[Credential Provider Identifier]
認証情報の一意の識別子です。エージェントはこの識別子を使用して OAuth アクセストークンを取得します。
github-oauth
クライアント ID
サードパーティサービスの OAuth クライアント ID です。
Ov23lixxxxx
クライアントシークレット
サードパーティサービスの OAuth クライアントシークレットです。
a1b2xxxxx
トークンエンドポイント
サードパーティサービスの OAuth トークンエンドポイントです。
https://github.com/login/oauth/access_token
デフォルトスコープ
サードパーティサービスの OAuth 権限スコープです。
repo read:org
-
既存の OAuth 認証情報プロバイダーの選択:必要な OAuth 認証情報プロバイダーがすでにリストに存在する場合 (たとえば、別のエージェントがすでに同じ OAuth 認証情報プロバイダーに関連付けられている場合)、リストから直接選択します。
API キー認証情報の設定
API Key Credential タブに切り替え、Add API Key Credential を選択するか、名前で検索して 既存の API キー認証情報を選択します。
-
[Add API Key Credential]:必要な API キー認証情報がリストに存在しない場合は、Add API Key Credential をクリックし、以下の情報を入力します。
パラメータ
説明
例
認証情報名
コンソールでの表示名です。
Amap MCP Server Key
説明
認証情報の用途の説明です。
地図サービス呼び出し用の Amap MCP Server API キー
API キー識別子
認証情報の一意の識別子です。エージェントはこの識別子を使用して API キーのプレーンテキストを取得します。
amap-apikey
API キー値
プレーンテキストの API キーです。入力後、KMS によって暗号化されて保存されます。
sk-xxxxx
-
既存の API キー認証情報の選択:必要な API キー認証情報がすでにリストに存在する場合 (たとえば、別のエージェントがすでに同じ API キー認証情報に関連付けられている場合)、リストから直接選択します。
ステップ 3:アウトバウンド権限付与の完了 (自動)
認証情報の選択または作成が完了すると、システムは認証情報をエージェント専用の権限付与ルールに 自動的に追加します。手動設定は不要です。
トポロジー図で結果を確認できます。
-
エージェントノードとサードパーティサービスノード間に アウトバウンド権限付与接続が表示され、権限付与が設定されたことを示します。
-
接続をクリックすると、関連付けられた認証情報識別子とステータスを含む権限付与の詳細が表示されます。
エージェントのサードパーティサービスへのアクセスを取り消すには、対応するサードパーティサービスノードを削除します。システムは専用の権限付与ルールから認証情報を自動的に削除します。