Azure SRE エージェントのエージェント ID

エージェントを作成すると、Azure によって ID リソースが自動的にプロビジョニングされます。 この記事では、作成される内容、2 つの ID が存在する理由、およびコネクタでそれらを使用する方法について説明します。

エージェントが Azure リソース (RBAC ロール、アクセス許可レベル、代理フロー) に対するアクセス許可を取得する方法については、「 エージェントのアクセス許可」を参照してください。

何が作成されるか

エージェントと共に 2 つのマネージド ID (管理対象 ID) が作成されます。

アイデンティティ それは何か これを使って行うこと
ユーザー割り当てのマネージド ID (UAMI) リソース グループ内のスタンドアロン ID リソース RBAC ロールを割り当て、コネクタを設定するときに選択します。 これは、管理する ID です
システム割り当てのマネージド アイデンティティ エージェントのインフラストラクチャによって使用される内部 ID 何もありません。この ID は自動的に管理され、内部操作にのみ使用されます

UAMI は、あなたが操作する ID です。 リソース グループに表示され、RBAC ロールを割り当てて、コネクタを設定するときに選択します。

ヒント

ポータルにマネージド ID ドロップダウンが表示されたら (コネクタ、リポジトリ、またはその他の統合の場合)、エージェントの UAMI を選択します。 これは、RBAC ロールの割り当てに一致する ID です。

エージェントの UAMI が使用されている場所

エージェントの UAMI は、ほとんどの操作のプライマリ ID です。

Operation アイデンティティ メモ
Azure リソース操作 (Azure Resource Manager、CLI、診断) UAMI 割り当てる RBAC ロールによって、エージェントがアクセスできる内容が決まります
通信コネクタ (Outlook、Teams) UAMI + OAuth 資格情報 OAuth 経由でサインインします。コネクタ リソースに対する UAMI ブローカー認証
データ コネクタ (Azure Data Explorer) UAMI ターゲット Kusto クラスターに対する UAMI アクセス許可を付与する
ソース コード コネクタ (GitHub、Azure DevOps) UAMI (Azure DevOps マネージド ID の場合) Azure DevOps コネクタでは UAMI が使用されます。GitHub で OAuth を使用する
MCP コネクタ 場合により異なる エンドポイントの URL と資格情報を指定します。必要に応じて、ダウンストリーム Azure 呼び出しのマネージド ID を割り当てる
内部インフラストラクチャ ウアミ エージェントの内部操作に自動的に使用されます
Key Vault(キーボールト) UAMI (推奨) またはシステム割り当て UAMI が指定されていない場合は、システムが割り当てた値に戻ります

コネクタで ID を使用する方法

コネクタの種類によって ID の使用方法が異なります。 主な違いは、コネクタが外部サービスに到達するために Azure Resource Manager (ARM) を経由する必要があるかどうかです。

通信コネクタ (Outlook、Teams)

通信コネクタを設定すると、次の 2 つのことが発生します。

  1. OAuth を使用してアカウントでサインインすると、コネクタにユーザーの資格情報が提供されます。
  2. ID ドロップダウンから UAMI を選択します。これは、コネクタがコネクタ リソースに対する認証に使用します。

コネクタは、OAuth トークンをコネクタ リソースに安全に格納します。 コネクタ リソースは、セキュリティで保護されたブリッジとして機能します。 リソースは資格情報を保持するため、エージェントは資格情報に直接アクセスする必要はありません。 UAMI を使用して、エージェントが電子メールを送信したり、ユーザーに代わって Teams メッセージを投稿したりするときに、認証を仲介します。

データ コネクタ (Azure Data Explorer/Kusto)

Kusto コネクタの場合、エージェントは UAMI を直接使用して Azure Data Explorer クラスターに対する認証を行います。 OAuth サインインは必要ありません。 Kusto クラスターで、 ビューアー ロールなどの 必要なアクセス許可を UAMI に付与します。

ソース コード コネクタ (GitHub、Azure DevOps)

ソース コード コネクタでは、プラットフォームに応じて異なる認証方法が使用されます。

  • Azure DevOps: マネージド ID 認証に UAMI を使用します。 ID ドロップダウンから UAMI を選択し、Azure DevOps 組織へのアクセス権を付与します。
  • Github: OAuth 認証を使用します。 GitHub アカウントを使用してサインインします。 GitHub 接続自体にマネージド ID は必要ありません。

カスタム MCP コネクタ

MCP コネクタでは、エンドポイント ベースの認証が使用されます。 MCP サーバーの URL と、API キー、ベアラー トークン、OAuth などの資格情報を指定します。 必要に応じて、ダウンストリームの Azure API 呼び出しを行うときに使用する MCP サーバーのマネージド ID を割り当てることができます。

エージェントの UAMI を探す

エージェントのユーザー割り当てマネージド ID は、エージェント ポータル、Azure portal、または Azure CLI から見つけることができます。

エージェント ポータルから:

  1. 設定>Azure 設定に移動します。
  2. ID 名が [ マネージド ID] フィールドに 表示されます。
  3. [ ID に移動] を 選択して、Azure portal で開きます。

Azure portal から:

  1. エージェントのリソース グループに移動します。
  2. id-*マネージド ID リソースを見つけます。
  3. オブジェクト (プリンシパル) ID をコピーします。 RBAC ロールの割り当てには、この値を使用します。

Azure CLI から:

# List user-assigned identities on the agent resource
az resource show \
  --resource-group <RESOURCE_GROUP_NAME> \
  --name <AGENT_NAME> \
  --resource-type Microsoft.App/containerApps \
  --query identity.userAssignedIdentities

次のステップ