2
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

Entra ID で AI エージェントに ID を持たせよう! ~ Foundry × Claude で検証(その1)

2
Last updated at Posted at 2026-10-17

IMG_3499_mosaic.jpg

AI セキュリティの一環として、Entra ID にて AI エージェントに ID を割当て、権限を割り当てることを検証してみました。
ここではその検証内容をまとめます。なお、AI エージェントには Anthropic 社の Claude Sonnet 5.5 モデルを使用しました。

当検証は、以下のステップで行いました。

  1. Foundry プロジェクトを作成する
  2. Foundry で AI モデルをデプロイする
  3. Entra ID で Agent Blueprint / Identity を作成する
  4. Agent Identity にロールを割り当てる

IMG_3500.JPG

1. Microsoft Foundry で Foundry プロジェクトを作成する

Microsoft Foundry は、AI アプリケーションやエージェントを設計、カスタマイズ、管理するための統合プラットフォームです。
Foundry プロジェクトの作成は必須ではありませんが、Azure 上でエージェントを動かす場合、実行環境として Foundry を使うと便利です。なお、Agent ID の管理は Entra 側で行うため、Foundry を使わない場合でも同じように管理できます。

また、Claude モデルを使用できるのは、現時点で米国東部 2 (East US 2) とスウェーデン中部 (Sweden Central) のみとなっています。※ 2026年10月時点

それでは Foundry プロジェクトを作成して行きます。

  1. ai.azure.com にサインインします。なお、プロジェクト作成には、Project Manager または Foundry Owner のロールが必要です。

  2. 左上のプロジェクト名をクリックし、[新しいプロジェクトの作成] をクリックします。

  3. プロジェクト名を入力し、[詳細オプション] を開きます。

  4. 01.jpg

  5. リソースグループを確認し、正しくなければ、正しいリソースグループを選択するか、[新規作成] を選択します。

  6. [場所] で「米国東部 2」を指定します。

  7. [プロジェクトの作成] をクリックします。

2. Foundry で AI モデルをデプロイする

次にそのまま Foundry で Claude モデルをデプロイします。なお、Foundry Account Owner のロールが必要です。

  1. Foundry のホームから、[デプロイの表示] を選択します。
  2. [サーバーレスデプロイ] タブが選択されていることを確認し、[デプロイ] - [基本モデルをデプロイする] を選択します。
    02.jpg

サーバーレスデプロイでは、エンドポイントの構成情報が作られるのみで、トークンを消費するまで課金が発生しません。 マネージドコンピューティングデプロイでは自前で GPU インスタンスを確保する形態となり、インスタンスを立てている間時間課金されます。※ Claude モデルはマネージドコンピューティングでは選択できません。
3. 対象の AI モデルを選択します。ここでは、「Claude-sonnet-5-5」を選択しました。
03.jpg

検索欄を使用し、モデルを絞り込むと便利です。
4. [カスタム設定] を選択します。
04.jpg

  1. Azure Marketplace の条項を確認し、[同意して実行] をクリックします。
    05.jpg

  2. デプロイ名を指定します。
    06.jpg

エンドポイントのベース URL は「https://<リソース名>.services.ai.azure.com/anthropic」、Messages APIのターゲットは「ベース URL +/v1/messages」となります。

IMG_3501.JPG

3. Entra ID で Agent Blueprint / Identity を作成する

いよいよ Entra ID で Agent Identity を作成します。まず、Blueprint を作成します。Blueprint はエージェント ID を作成するためのテンプレートとして機能する Entra ID 上のオブジェクトです。エージェント ID の認証に使う資格情報は Blueprint 側で設定されます。AI エージェントが操作を行う際、その資格情報で Entra ID にトークンを要求します。
※この記事では、Foundry 外で動く自作エージェントが、自分の ID で Claude を呼ぶことを想定しています。

  1. Entra 管理センター(https://entra.microsoft.com)にサインインします。

  2. [Entra ID] - [Agents] - [Agent Blueprints] を選択します。

  3. [New agent blueprint (Preview)] を選択します。
    09.jpg

  4. blueprint 名を入力し、[Next] をクリックします。
    10.jpg

  5. Owners と Sponsors を設定し、[Next] をクリックします。
    11.jpg

Owner は Agent ID Administrator や Agent ID Developer ロールがなくても、委任アクセス許可でその blueprint からエージェント ID を作成できるユーザーです。 Sponsor は業務オーナー、プロダクトマネージャー、チームリーダーなど、その存在に業務上の責任を持つ責任者です。 職務分掌のため、同じユーザーを指定しないことをお奨めします。
6. 内容を確認して [Create] をクリックします。

なお、Foundry で Claude モデルをデプロイした際、Blueprint がいくつか作成されているのが確認できていました。

・ <リソース名>-<プロジェクト名>-AgentIdentityBlueprint
・ <リソース名>-<プロジェクト名>-形容詞-agent-ランダム文字列-AgentIdentityBlueprint ※ 筆者環境

いろいろ調べたところ、「<リソース名>-<プロジェクト名>-形容詞-agent-ランダム文字列-AgentIdentityBlueprint」は筆者の環境ではどうもお試しのようでした。
「<リソース名>-<プロジェクト名>-AgentIdentityBlueprint」は共有 blueprint となり、Foundry が管理していて、Publish 前のエージェントが共有で使用しています。権限を何も与えないままにしておいた方がいいかな と思いました。

Foundry でエージェントを使う場合は、Foundry ポータルの「新しいエージェント」から用途がわかる名前で作成し、Publish すれば、そのエージェント専用の blueprint と identity が自動で作られます。お試しエージェントが不要な場合は、Entra 側ではなく Foundry 側でエージェントを削除します。


Blueprint ができたら、Agent Identity を作成します。
ただ、Blueprint を作成したときに、Blueprint と同名の Agent Identity が作成されたことが確認できました。同じ種類のエージェントを複数動かすなどの用途がないなら、自動作成された Agent Identity を使うのも一案だと思われます。

  1. Entra 管理センター(https://entra.microsoft.com)にサインインします。

  2. [Entra ID] - [Agents] - [Agent identities] を選択します。

  3. [New agent Identity (Preview)] を選択します。
    12.jpg

  4. [Select a blueprint] をクリックし、作成元の blueprint を選択し、[Next] をクリックします。
    13.jpg

  5. Owners と Sponsors を設定し、[Next] をクリックします。
    15.jpg

  6. 内容を確認して [Create] をクリックします。

4. Agent Identity にロールを割り当てる

Entra ID でエージェント ID に設定する権限には以下のものがあります。

種類 対象 例 主な設定場所
Azure RBAC Azure リソース Foundry リソースで Claude を呼ぶ(Foundry User)、Storage のデータを読む Azure ポータルの各リソースの「アクセス制御 (IAM)」
API 権限(アプリケーション) Microsoft Graph などの API エージェント単独でメールやファイルを読む(自律型) PowerShell が中心
API 権限(委任) 同上 ユーザーの代理として、そのユーザーの権限の範囲内で操作する(対話型、OBO) 同上+ユーザーまたは管理者の同意
Entra ロール ディレクトリ ディレクトリ情報の読み取りなど Entra 管理センター

また、権限のほかに、設定できる制御として「条件付きアクセスポリシー」があります。簡単に言うと、「どんな条件ならアクセスを許すか」という制御になります。

今回は、エージェント ID にロールを割り当ててみます。今回はエージェント ID がリソースの Claude を呼び出せるように 「Foundry User」ロールを割り当てます。

  1. Azure ポータル (https://portal.azure.com) にサインインします。

  2. ホームにて [Foundry] を選択します。

  3. [AI リソースの管理] - [すべてのリソースを表示] を選択します。
    18.jpg

  4. 対象のリソース名をクリックします。
    19.jpg

  5. [アクセス制御 (IAM)] を選択します。

  6. [追加] - [ロールの割り当ての追加] を選択します。
    20.jpg

  7. 目的のロールを選択します。今回は「Foundry User」ロールを選択します。
    21.jpg

[ビュー] をクリックすると、ロールの詳細を確認できます。
21-2.jpg

  1. [メンバー]タブで [ユーザー、グループ、またはサービス プリンシパル] を選び、[メンバーを選択する] でエージェント ID を指定し、[選択] をクリックします。
    22.jpg

  2. [レビューと割り当て] をクリックします。

今回はここまでになります。
現時点では Agent Blueprint に資格情報を設定していないため、まだ Claude を呼び出すことができません。資格情報の設定は次回、記載します。


次回では、以下について書きたいと思います。

・ エージェント ID とユーザー ID の違い
・ サービスプリンシパルとは何か
・ エージェント ID の資格情報の設定

IMG_3538.JPG

2
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?