次の方法で共有


Microsoft Foundry のロールベースのアクセス制御

この記事では、スコープ、組み込みロール、一般的なエンタープライズ割り当てパターンなど、Microsoft Foundry のロールベースのaccess control (RBAC) の主要な概念について説明します。

ヒント

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

Microsoft Foundry での認証と承認の詳細については、「 認証と承認」を参照してください。

開始するための最小限のロール割り当て

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

現在の割り当てを確認するには、単一のAzureリソースに対するユーザーのアクセスをチェックしてください。

  • Foundry リソースの Azure AI User ロールを user プリンシパルに割り当てます。
  • Foundry リソースの Azure AI User ロールを project のマネージド ID に割り当てます。

projectを作成したユーザーがロールを割り当てることができる場合 (たとえば、サブスクリプションまたはリソース グループ スコープで Azure Owner ロールを持つなど)、両方の割り当てが自動的に追加されます。

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

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

Azure portalで Foundry リソースを開き、Access control (IAM) に移動します。 Azure AI ユーザーのロールの割り当てを作成します。 MembersUser,group, or service principal に設定し、ユーザー プリンシパルを選択して、Review + assign を選択します。

projectのマネージド ID にロールを割り当てる

Azure portalで Foundry projectを開き、Access control (IAM) に移動します。 Azure AI ユーザーのロールの割り当てを作成します。 MembersManaged ID に設定し、projectのマネージド ID を選択してから、Review + assign を選択します。

Foundryにおけるロールベースアクセス制御の用語

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

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

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

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

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

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

  • Foundry リソース: Microsoft Foundry 環境の管理、セキュリティ、および監視の境界を定義する最上位レベルのスコープ。
  • Foundry project: Foundry リソース内のサブスコープ。Foundry API、ツール、および開発者ワークフローの作業の整理とaccess controlの適用に使用されます。

組み込みのロール

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

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

Role [説明]
Azure AI ユーザー Foundryプロジェクト、Foundryリソース、およびFoundryプロジェクトのデータアクションに対する閲覧者アクセス権を付与します。 ロールを割り当てることができる場合、このロールは自動的に割り当てられます。 それ以外の場合は、サブスクリプション所有者またはロールの割り当てアクセス許可を持つユーザーが付与されます。 Foundryの最小権限アクセスロール。
Azure AI Project Manager Foundry プロジェクトに対して管理アクションを実行し、プロジェクトを使用してビルドおよび開発し、条件付きで Azure AI ユーザー ロールを他のユーザー プリンシパルに割り当てることができます。
Azure AI アカウント所有者 プロジェクトとリソースを管理するための完全なaccessを付与し、Azure AI ユーザー ロールを条件付きで他のユーザー プリンシパルに割り当てることができます。
Azure AI 所有者 マネージド プロジェクトとリソースに完全なaccessを付与し、プロジェクトを使用してビルドおよび開発します。 デジタルネイティブ向けに設計された高い特権を持つセルフサービスロール。

各組み込みロールの権限

次の表と図を使用して、Foundryの組み込みロールごとに許可されている権限、および主要なAzure組み込みロールについて確認します。

組み込みロール Foundry プロジェクトを作成する Foundry アカウントを作成する プロジェクトでビルドし開発する(データ アクションを活用して) ロールの割り当てを完了する プロジェクトとアカウントへのアクセス権 モデルを管理する
Azure AI ユーザー
Azure AI Project Manager ✔ (Azure AI ユーザー ロールだけを割り当てる)
Azure AI アカウント所有者 ✔ (Azure AI ユーザー ロールだけを割り当てる)
Azure AI 所有者
Owner ✔ (任意のユーザーに任意のロールを割り当てる)
投稿者
Reader

Foundry の組み込みロールの図。

Azure および Foundry の組み込みロールの詳細については、「Azure組み込みロールを参照してください。 Azure AI アカウント所有者ロールと Azure AI プロジェクトマネージャー ロールで使用されている条件付き委任の詳細については、条件付きで他のユーザーに Azure ロールの割り当て管理を委任する を参照してください。

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

エンタープライズ Foundry リソースのロールベースのaccess control (RBAC) を実装する方法の例を次に示します。

ペルソナ 役割と範囲 目的
IT 管理者 サブスクリプション範囲の所有者 IT 管理者は、Foundry リソースがエンタープライズ標準を満たしていることを確認します。 マネージャーにリソースの Azure AI アカウント所有者 ロールを割り当てて、新しい Foundry アカウントを作成できるようにします。 マネージャーにリソースの Azure AI Project Manager ロールを割り当てて、アカウント内にプロジェクトを作成できるようにします。
Managers Azure AI アカウント所有者の Foundry リソース スコープ マネージャーは、Foundry リソースの管理、モデルのデプロイ、コンピューティング リソースの監査、接続の監査、共有接続の作成を行います。 プロジェクトでビルドすることはできませんが、Azure AI User ロールを自分や他のユーザーに割り当ててビルドを開始できます。
チーム リーダーまたはリード開発者 FoundryリソーススコープでのAzure AIプロジェクトマネージャー リード開発者はチームのプロジェクトを作成し、それらのプロジェクトでビルドを開始します。 プロジェクトを作成した後、プロジェクトの所有者が他のメンバーを招待し、Azure AI User ロールを割り当てます。
チーム メンバーまたは開発者 Azure AI ユーザー(Foundryプロジェクトスコープ内)および Foundryリソーススコープの閲覧者 開発者は、事前にデプロイされた Foundry モデルと事前構築済みの接続を使用して、projectでエージェントを構築します。

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

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

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

  1. AdminページをFoundryで開き、Operate>Adminを選択します。
  2. プロジェクト名を選択します。
  3. project accessを管理するにはユーザーの追加を選択します。 このアクションは、ロールの割り当てアクセス許可がある場合にのみ使用できます。
  4. Foundryリソースレベルのアクセスに同じフローを適用します。

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

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

az role assignment create --role "Azure AI User" --assignee "joe@contoso.com" --scope /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/this-rg 

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

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

{
  "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": []     
    } ]
  }
}

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

注意事項と制限事項

  • 削除された Foundry アカウントを表示および消去するには、サブスクリプション スコープで共同作成者ロールが割り当てられている必要があります。
  • 共同作成者ロールを持つユーザーは、Foundry でモデルをデプロイできます。
  • リソースにカスタム ロールを作成するには、リソースのスコープに対する所有者ロールが必要です。
  • Azureでロールを割り当てるアクセス許可 (アカウント スコープで割り当てられた所有者ロールなど) をユーザー プリンシパルに割り当て、Azure portalまたは Foundry ポータル UI から Foundry リソースをデプロイすると、Azure AI ユーザー ロールがユーザー プリンシパルに自動的に割り当てられます。 SDK または CLI から Foundry をデプロイする場合、この割り当ては適用されません。
  • Foundry リソースを作成すると、組み込みのロールベースアクセス制御 (RBAC) 権限によってリソースにアクセスできるようになります。 Foundry の外部で作成されたリソースを使用するには、リソースにaccessできるアクセス許可があることを確認します。 次に例をいくつか示します。
    • 新しいAzure Blob Storage アカウントを使用するには、Foundry アカウント リソースのマネージド ID を、そのstorage アカウントのStorage BLOB データ閲覧者ロールに追加します。
    • 新しいAzure AI Search ソースを使用するには、foundry を Azure AI Search ロールの割り当てに追加します。
  • Foundry でモデルを微調整するには、データ プレーンとコントロール プレーンの両方の権限が必要です。 微調整されたモデルのデプロイは、コントロールプレーンの権限です。 そのため、データ プレーンとコントロール プレーンの両方のアクセス許可を持つ唯一の組み込みロールは、Azure AI 所有者 ロールです。 または、必要に応じて、データ プレーンのアクセス許可に Azure AI User ロールを割り当て、コントロール プレーンのアクセス許可に対する Azure AI アカウント所有者 ロールを割り当てることもできます。

付録

アクセスアイソレーションの例

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

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

そのため、あなたはそうすべきです。

  • エンタープライズのすべてのユーザーに、リソース スコープの Azure AI 所有者 ロールを付与する

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

そのため、あなたはそうすべきです。

  • 管理者にリソース スコープでのAzure AI アカウント所有者を付与する
  • リソースに対する Azure AI Project Manager ロールを開発者とprojectマネージャーに付与する

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

このため、以下の手順を実行してください。

  • リソース スコープで Azure AI アカウント所有者を管理者に付与する
  • Foundry リソース スコープに対して開発者にReaderロールを付与し、プロジェクト スコープではAzure AIユーザーロールを開発者に付与してください。
  • リソース スコープに対して、project マネージャーに Azure AI Project Manager ロールを付与する

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

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

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

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

一般的な例:

  • エージェントを構築し、トレースを実行し、主要な Foundry 機能を使用するには、Azure AI User を Microsoft Entra グループに割り当てます。
  • トレース機能と監視機能を使用するには、接続されている Application Insights リソースの 閲覧者 を同じグループに割り当てます。

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