Microsoft Foundry (クラシック) のロールベースのアクセス制御

現在表示中:Foundry (クラシック) ポータルのバージョン - 新しい Foundry ポータルのバージョンに切り替える

ヒント

この記事は Foundry プロジェクトの種類を対象にしています。 Microsoft Foundry (ハブとプロジェクト) に関する役割ベースのアクセス制御の記事があります。ハブベースのプロジェクト向けの代替RBAC記事です。

この記事では、Microsoft Foundry リソースのロールベースのアクセス制御 (RBAC) と、リソースへのアクセスを制御するロールを割り当てる方法について説明します。

ヒント

RBAC ロールは、Microsoft Entra IDを使用して認証するときに適用されます。 代わりにキーベースの認証を使用する場合、キーはロールの制限なしでフル アクセスを許可します。 Microsoftでは、セキュリティときめ細かなアクセス制御を強化するために、Entra ID認証を使用することをお勧めします。

開始するための最低限の役割の割り当て

AzureとMicrosoft Foundryの新規ユーザーは、ユーザープリンシパルとプロジェクトマネージドIDの両方がFoundryの機能にアクセスできるように、まずこれらの最小限の割り当てから始めてください。

現在の割り当てを確認するには、単一のAzure リソースへのユーザーのアクセス権を確認

  • Foundry リソースの Foundry ユーザー ロールをユーザー プリンシパルに割り当てます。

    Important

    Foundry RBAC ロールの名前が最近変更されました。 Foundry User, Foundry Owner, Foundry Account Owner、および Foundry Project Manager は、以前は、AZURE AI ユーザー、Azure AI 所有者、Azure AI アカウント所有者、および AZURE AI Project Manager という名前でした。 名前の変更がロールアウトされている間、以前の名前が表示される場合があります。ロール ID とコア アクセス許可は、名前の変更によって変更されません。

  • Foundry リソースの Foundry ユーザー ロールをプロジェクトのマネージド ID に割り当てます。

プロジェクトを作成したユーザーがロールを割り当てることができる場合 (たとえば、サブスクリプションまたはリソース グループ スコープでAzure所有者ロールを持つなど)、Microsoft Foundry ポータル UI を使用してプロジェクトが作成されると、両方の割り当てが自動的に追加されます。

ヒント

ユーザーまたはサービス プリンシパルがエージェントを作成または変更せずに (応答 API の呼び出しなど) エージェントとのみ対話する必要がある場合は、Foundry ユーザーではなく Foundry Agent Consumer を割り当てます。 このロールは、エージェント コンシューマーに最小特権アクセスを提供します。

これらのロールを手動で割り当てるには、次の簡単な手順を使用します。

ユーザー プリンシパルにロールを割り当てる

Azure ポータルで Foundry リソースを開き、Access コントロール (IAM) に移動します。 Foundry User のロールの割り当てを作成し、[メンバー][ユーザー]、[グループ]、またはサービス プリンシパルに設定し、ユーザー プリンシパルを選択して、[確認と割り当て] を選択します。

プロジェクトのマネージド ID にロールを割り当てる

Azure ポータルで Foundry プロジェクトを開き、Access control (IAM) に移動します。 Foundry User のロールの割り当てを作成し、[メンバー][マネージド ID] に設定し、プロジェクトのマネージド ID を選択して、[確認と割り当て] を選択します。

Foundry でのロールベースのアクセス制御の用語

Microsoft Foundry のロールベースのアクセス制御を理解するには、企業に関する 2 つの質問を検討してください。

  • Microsoft Foundry でビルドするときにチームにどのようなアクセス許可を付与しますか?
  • どの範囲でチームにアクセス許可を割り当てたいですか?

これらの質問に答えるために、この記事全体で使用される用語の説明を次に示します。

  • アクセス許可: コントロール プレーン操作とデータ プレーン操作の両方の読み取り、書き込み、削除、管理など、ID がリソースに対して実行できるアクションを許可または拒否しました。
  • Scope: ロールの割り当てが適用されるAzure リソースのセット。 一般的なスコープには、サブスクリプション、リソース グループ、Foundry リソース、Foundry プロジェクト、または個々のエージェントが含まれます。
  • Role: 特定のスコープでAzureリソースに対して実行できるアクションを定義するアクセス許可の名前付きコレクション。

ID は、エンタープライズ要件に基づいて、選択したスコープで特定のアクセス許可を持つロールを取得します。

Microsoft Foundry では、ロールの割り当てを完了するときに、次のスコープを考慮してください。

  • Foundry リソース: Microsoft Foundry 環境の管理、セキュリティ、監視の境界を定義する最上位レベルのスコープ。
  • Foundry プロジェクト: Foundry リソース内のサブスコープ。Foundry API、ツール、および開発者ワークフローの作業を整理し、アクセス制御を適用するために使用されます。
  • エージェント: 個々のエージェントに適用される Foundry プロジェクト内のより狭いスコープ。 このスコープでのロールの割り当ては現在、エージェント エンドポイント アクセスに対してのみ評価されるため、このスコープを使用して、プロジェクト内のすべてのエージェントへのエンドポイント アクセスを許可せずに、特定のエージェントのエンドポイントへのアクセスを許可します。 詳細については、「エージェント スコープのロール割り当て」を参照してください。

組み込みロール

Foundry の組み込みロールは、チーム メンバーに割り当てることができる一般的なアクセス シナリオをカバーするMicrosoftによって作成されたロールです。 Azure全体で使用される主要な組み込みロールには、所有者、共同作成者、閲覧者が含まれます。 これらのロールは、Foundry リソースのアクセス許可に固有ではありません。

Foundry リソースの場合は、追加の組み込みロールを使用して、最小特権アクセス原則に従います。 次の表に、Foundry の主要な組み込みロールと、AI + Machine Learning 組み込みロールの正確なロール定義へのリンクを示します。

役割 説明
ファウンドリー エージェント コンシューマー Foundry プロジェクト内のエージェント エンドポイントと対話するためのアクセス権を付与します。 エージェントと対話するだけで済むプリンシパルの最小特権アクセス ロール。
Foundry ユーザー Foundry プロジェクト、Foundry リソース、および Foundry プロジェクトのデータ アクションへの閲覧者アクセスを許可します。 ロールを割り当てることができる場合、このロールは自動的に割り当てられます。 それ以外の場合は、サブスクリプション所有者またはロールの割り当て権限を持つユーザーが権限を付与します。 エージェントの構築とテストを行う開発者向けの最小特権アクセス ロール。
Foundry プロジェクトマネージャー Foundry プロジェクトに対して管理アクションを実行し、プロジェクトを使用してビルドおよび開発し、条件に応じて Foundry ユーザー ロールを他のユーザー プリンシパルに割り当てることができます。
Foundry アカウント所有者 プロジェクトとリソースを管理するためのフル アクセスを許可し、Foundry User、ACR、および監視ロールを条件付きで他のユーザー プリンシパルに割り当てることができます。
ファウンドリ所有者 プロジェクトとリソースを管理し、プロジェクトを使用してビルドおよび開発するためのフル アクセス権を付与します。 Foundry ユーザー、ACR、および監視ロールを条件付きで割り当てることができます。 デジタルネイティブ向けに設計された高い特権を持つセルフサービスロール。

メモ

Cognitive Services で始まる組み込みロールは割り当てないでください。 これらのロールは、AI サービス リソースに直接アクセスするように設計されており、Foundry シナリオには適用されません。 同様に、foundry 作業には Azure AI Developer ロールを使用しないでください。 名称にかかわらず、このロールの適用範囲は Foundry プロジェクトや Foundry ホステッド エージェントではなく、Azure Machine Learning ワークスペースと Foundry ハブに限定されます。 Foundry プロジェクトへのアクセスには、代わりに Foundry ユーザー または Foundry 所有者 を使用します。

各組み込みロールの権限

次の表と図を使用して、Foundryの各組み込みロールに対して許可されているアクセス許可を確認できます。これには、主要なAzureの組み込みロールも含まれています。

組み込みロール Foundry プロジェクトを作成する Foundry アカウントを作成する プロジェクトでのビルドと開発 (データ アクション) ロールの割り当てを完了する プロジェクトとアカウントへの閲覧者アクセス モデルの管理
Foundry ユーザー
Foundry プロジェクトマネージャー ✔ (Foundry ユーザー ロールのみを割り当てる)
Foundry アカウント所有者 ✔ (Foundry ユーザー ロールのみを割り当てる)
ファウンドリ所有者
所有者 ✔ (任意のユーザーに任意のロールを割り当てる)
貢献
リーダー

Important

Foundry RBAC ロールの名前が最近変更されました。 Foundry User, Foundry Owner, Foundry Account Owner、および Foundry Project Manager は、以前は、AZURE AI ユーザー、Azure AI 所有者、Azure AI アカウント所有者、および AZURE AI Project Manager という名前でした。 名前の変更がロールアウトされている間、以前の名前が表示される場合があります。ロール ID とコア アクセス許可は、名前の変更によって変更されません。

これらのタブを使用して、Foundry リソース レベルで割り当てられた組み込みロールの違いを調べることができます (サブスクリプション レベルで割り当てられている所有者を除く)

プロジェクトのエンタープライズ RBAC マッピングのサンプル

Enterprise Foundry リソースのロールベースのアクセス制御 (RBAC) を実装する方法の例を次に示します。

ペルソナ ロールとスコープ 目的
IT 管理者 サブスクリプション スコープの所有者 IT 管理者は、Foundry リソースがエンタープライズ標準を満たしていることを確認します。 マネージャーにリソースの Foundry アカウント所有者 ロールを割り当てて、新しい Foundry アカウントを作成できるようにします。 マネージャーにリソースの Foundry Project Manager ロールを割り当てて、アカウント内にプロジェクトを作成できるようにします。
マネージャー Foundry リソースのスコープにおける Foundry アカウントの所有者 マネージャーは、Foundry リソースの管理、モデルのデプロイ、コンピューティング リソースの監査、接続の監査、共有接続の作成を行います。 プロジェクトでビルドすることはできませんが、 Foundry ユーザー ロールを自分や他のユーザーに割り当ててビルドを開始できます。
チームリーダーまたはリードデベロッパー Foundry リソース スコープの Foundry プロジェクト マネージャー リード開発者はチームのプロジェクトを作成し、それらのプロジェクトでビルドを開始します。 プロジェクトを作成した後、プロジェクト所有者は他のメンバーを招待し、 Foundry ユーザー ロールを割り当てます。
チーム メンバーまたは開発者 Foundry プロジェクト スコープの Foundry ユーザーと Foundry リソース スコープの閲覧者 開発者は、事前にデプロイされた Foundry モデルと事前構築済みの接続を使用して、プロジェクトにエージェントをビルドします。
エージェント利用者またはエンドユーザー Foundry プロジェクト スコープにおける Foundry エージェント コンシューマー (または、エージェントごとの制御にはエージェント スコープ) エンドポイントを介してエージェントと対話するだけで済むユーザーとサービス プリンシパル。 このロールは、より広範な開発機能を付与することなく、最小特権アクセスを提供します。

ロールの割り当てを管理する

Foundry でロールを管理するには、Azureでロールを割り当てたり削除したりするためのアクセス許可が必要です。 Azure組み込みの Owner ロールには、そのアクセス許可が含まれています。 Foundry ポータル (管理ページ)、Azureポータル IAM、またはAzure CLIを使用してロールを割り当てることができます。 ロールは、Azure ポータルの IAM または Azure CLI を使用して削除できます。

Foundry ポータルで、次の方法でアクセス許可を管理します。

  1. Foundry の ホーム ページで、 Foundry リソースを選択します。
  2. [ ユーザー ] を選択して、リソースのユーザーを追加または削除します。

アクセス許可は、Azure ポータルAccess Control (IAM) または Azure CLI を使用して管理できます。

たとえば、次のコマンドは、サブスクリプション joe@contoso.comのリソース グループ this-rg00000000-0000-0000-0000-000000000000に Foundry ユーザー ロールを割り当てます。

az role assignment create --role "53ca6127-db72-4b80-b1b0-d745d6d5456d" --assignee "joe@contoso.com" --scope /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/this-rg 

メモ

Foundry RBAC ロールの名前が最近変更されたため、名前変更ロールアウト中の問題を回避するには、コード内のロール名の代わりにロール定義 ID (GUID) を使用します。

  • Foundry ユーザー: 53ca6127-db72-4b80-b1b0-d745d6d5456d
  • ファウンドリ所有者: c883944f-8b7b-4483-af10-35834be79c4a
  • Foundry アカウント所有者: e47c6f54-e4a2-4754-9501-8e0985b135e1
  • Foundry プロジェクト マネージャー: eadc314b-1a2d-4efa-be10-5d325db5065e

プロジェクトのカスタム ロールを作成する

組み込みロールがエンタープライズ要件を満たしていない場合は、許可されたアクションとスコープを正確に制御できるカスタム ロールを作成します。 サブスクリプション レベルのカスタム ロール定義の例を次に示します。

{
  "properties": {
    "roleName": "My Enterprise Foundry User",
    "description": "Custom role for Foundry at my enterprise to only allow building Agents. Assign at subscription level.",
    "assignableScopes": ["/subscriptions/<your-subscription-id>"],
    "permissions": [ { 
        "actions": ["Microsoft.CognitiveServices/*/read", "Microsoft.Authorization/*/read", "Microsoft.CognitiveServices/accounts/listkeys/action","Microsoft.Resources/deployments/*"], 
        "notActions": [], 
        "dataActions": ["Microsoft.CognitiveServices/accounts/AIServices/agents/*"], 
        "notDataActions": []     
    } ]
  }
}

カスタム ロールの作成の詳細については、次の記事を参照してください。

  • Azure Portal
  • Azure CLI
  • Azure PowerShell
  • Microsoft Foundry のプレビュー機能を無効にする。 この記事では、カスタム ロールを構築するときに使用できる、コントロールとデータ プレーン全体にわたる Foundry の特定のアクセス許可について詳しく説明します。

注意事項と制限事項

  • 削除された Foundry アカウントを表示および消去するには、サブスクリプション スコープで共同作成者ロールが割り当てられている必要があります。

  • 共同作成者ロールを持つユーザーは、Foundry でモデルをデプロイできます。

  • リソースにカスタム ロールを作成するには、リソースのスコープに対する所有者ロールが必要です。

  • Azureでロールを割り当てるアクセス許可 (アカウント スコープで割り当てられた所有者ロールなど) をユーザー プリンシパルに割り当て、Azure ポータルまたは Foundry ポータル UI から Foundry リソースをデプロイすると、Foundry ユーザー ロールがユーザー プリンシパルに自動的に割り当てられます。 SDK または CLI から Foundry をデプロイする場合、この割り当ては適用されません。

    Important

    Foundry RBAC ロールの名前が最近変更されました。 Foundry User, Foundry Owner, Foundry Account Owner、および Foundry Project Manager は、以前は、AZURE AI ユーザー、Azure AI 所有者、Azure AI アカウント所有者、および AZURE AI Project Manager という名前でした。 名前の変更がロールアウトされている間、以前の名前が表示される場合があります。ロール ID とコア アクセス許可は、名前の変更によって変更されません。

  • Foundry リソースを作成すると、組み込みのロールベースのアクセス制御 (RBAC) アクセス許可によってリソースにアクセスできるようになります。 Foundry の外部で作成されたリソースを使用するには、リソースにアクセスできるアクセス許可があることを確認します。 次に例をいくつか示します。

    • 新しいAzure Blob Storage アカウントを使用するには、Foundry アカウント リソースのマネージド ID を、そのストレージ アカウントのストレージ BLOB データ閲覧者ロールに追加します。
    • 新しいAzure AI 検索 ソースを使用するには、foundry を Azure AI 検索 ロールの割り当てに追加します。
  • Foundry でモデルを微調整するには、データ プレーンとコントロール プレーンの両方の権限が必要です。 微調整されたモデルをデプロイする場合は、コントロール プレーン アクセス許可。 そのため、データ プレーンとコントロール プレーンの両方のアクセス許可を持つ組み込みロールは Foundry 所有者 ロールだけです。 または、必要に応じて、データ プレーンのアクセス許可に Foundry ユーザー ロールを割り当て、コントロール プレーンのアクセス許可に Foundry アカウント所有者 ロールを割り当てることもできます。

付録

アクセス分離の例

企業内のユーザー ペルソナに応じて、組織ごとに異なるアクセス分離要件がある場合があります。 アクセスの分離とは、組み込みロールを使用したアクセス許可の分離または一元化された高度に制限されたロールに対して、どのロールの割り当てが企業のどのユーザーに付与されるかを指します。 Foundry には、アクセス分離の要件に応じて組織に対して選択できる 3 つのアクセス分離オプションがあります。

アクセスの分離はありません。 つまり、企業では、開発者、プロジェクト マネージャー、または管理者の間でアクセス許可を分離する要件はありません。これらのロールのアクセス許可は、チーム間で割り当てることができます。

そのため、次の手順を行う必要があります。

  • 組織内のすべてのユーザーに、リソース スコープで Foundry Owner ロールを付与する

    Important

    Foundry RBAC ロールの名前が最近変更されました。 Foundry User, Foundry Owner, Foundry Account Owner、および Foundry Project Manager は、以前は、AZURE AI ユーザー、Azure AI 所有者、Azure AI アカウント所有者、および AZURE AI Project Manager という名前でした。 名前の変更がロールアウトされている間、以前の名前が表示される場合があります。ロール ID とコア アクセス許可は、名前の変更によって変更されません。

部分的なアクセスの分離。 つまり、企業のプロジェクト マネージャーは、プロジェクト内で開発し、プロジェクトを作成できる必要があります。 ただし、管理者は Foundry 内で開発することはできず、Foundry プロジェクトとアカウントのみを作成する必要があります。

そのため、次の手順を行う必要があります。

  • 管理者に対し、リソース範囲で Foundry アカウント所有者権限を付与する
  • リソースに対する Foundry Project Manager ロールを開発者とprojectマネージャーに付与する

フルアクセス隔離 つまり、管理者、プロジェクト マネージャー、開発者には、企業内のさまざまな機能に重複しない明確なアクセス許可が割り当てられます。

そのため、次の手順を行う必要があります。...

  • リソース スコープで Foundry アカウント所有者 を管理者に付与する
  • 開発者に Foundry リソース スコープの 閲覧者 ロールを付与し、プロジェクト スコープで Foundry ユーザー に付与する
  • プロジェクト マネージャーに、リソース スコープで Foundry Project Manager ロールを付与してください
  • プロジェクト スコープ (またはエージェントごとの制御のエージェント スコープ) に対する Foundry Agent Consumer ロールをエージェント コンシューマーに付与する

Foundry で Microsoft Entra グループを使用する

Microsoft Entra IDには、リソース、アプリケーション、タスクへのアクセスを管理するいくつかの方法が用意されています。 Microsoft Entra グループを使用すると、個々のユーザーではなく、ユーザーのグループにアクセスとアクセス許可を付与できます。 エンタープライズ IT 管理者は、Azure ポータルでMicrosoft Entra グループを作成して、開発者のロールの割り当てプロセスを簡略化できます。 Microsoft Entra グループを作成するときに、Foundry プロジェクトで作業する新しい開発者に必要なロールの割り当ての数を最小限に抑えるには、グループに必要なロールの割り当てを必要なリソースに割り当てます。

Foundry で Microsoft Entra ID グループを使用するには、次の手順を実行します。

  1. Azure ポータルの Groups に Security グループを作成します。
  2. 共有アクセスが必要な所有者とユーザー プリンシパルを組織内に追加します。
  3. ターゲット リソースを開き、 アクセス制御 (IAM) に移動します。
  4. 必要なロールを ユーザー、グループ、またはサービス プリンシパルに割り当てて、新しいセキュリティ グループを選択します。
  5. ロールをグループのすべてのメンバーに割り当てるには、[確認と割り当て] を選択してください。

一般的な例:

  • エージェントを構築し、トレースを実行し、主要な Foundry 機能を使用するには、Microsoft Entra グループに Foundry User を割り当てます。
  • より広範な開発アクセス権を持たないエージェントとの対話を許可するには、Foundry Agent Consumer を Microsoft Entra グループに割り当てます。
  • トレース機能と監視機能を使用するには、接続されている Application Insights リソースの 閲覧者 を同じグループに割り当てます。

Microsoft Entra ID グループ、前提条件、および制限事項の詳細については、以下を参照してください。

  • グループ、グループ メンバーシップ、Microsoft Entra
  • Microsoft Entra