次の方法で共有


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

Note

ハブに重点を置いた代替 RBAC に関する記事があります。 Azure AI Foundry (ハブとプロジェクト) のロールベースのアクセス制御

この記事では、Azure AI Foundry リソースへのアクセスを管理する方法について説明します。 Azure ロールベースのアクセス制御 (Azure RBAC) を使用して、新しいリソースの作成や既存のリソースの使用など、Azure リソースへのアクセスを管理します。 Microsoft Entra ID で、リソースへのアクセスを許可するユーザー ロールを割り当てます。 Azure には組み込みのロールが用意されており、カスタム ロールを作成できます。

組み込みの Azure AI 開発者ロールがニーズを満たしていない場合は、 カスタム ロールを作成できます。

Warning

一部のロールを適用すると、他のユーザーが Azure AI Foundry ポータルを使用するときに UI 機能が制限される場合があります。 たとえば、ユーザーのロールにコンピューティング インスタンスを作成するアクセス許可がない場合、作成するオプションはポータルでは使用できません。 この動作は想定されており、アクセス拒否エラーを返すアクションをユーザーが開始できないようにします。

Azure AI Foundry プロジェクト ロール

Azure AI Foundry ポータルには、次の 2 つのレベルのアクセスがあります。

  • アカウント: アカウントは、Azure AI Foundry リソースのインフラストラクチャ (仮想ネットワークのセットアップ、カスタマー マネージド キー、マネージド ID、ポリシーを含む) のホームです。 Azure AI Foundry リソースには、アカウントとプロジェクトの両方で既定で使用できる組み込みロールがあります。 組み込みのロールとそのアクセス許可の表を次に示します。
Role Description
Azure AI ユーザー AI プロジェクトへの閲覧者アクセス、AI アカウントへの閲覧者アクセス、AI プロジェクトのデータ アクションを許可します。 ロールを割り当てることができる場合、このロールは自動的に割り当てられます。 それ以外の場合は、サブスクリプション所有者またはロールの割り当てアクセス許可を持つユーザーが付与されます。
Azure AI Project Manager Azure AI Foundry プロジェクトに対して管理アクションを実行し、プロジェクトを使用してビルドおよび開発し、条件付きで Azure AI ユーザー ロールを他のユーザー プリンシパルに割り当てることができます。
Azure AI アカウント所有者 AI プロジェクトとアカウントを管理するためのフル アクセスを許可し、条件付きで Azure AI ユーザー ロールを他のユーザー プリンシパルに割り当てることができます。

Note

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

Azure AI Project ManagerAzure AI アカウント所有者の主な違いは、次の機能です:

  • 新しい Azure AI Foundry アカウント リソースを作成します。 これを行うことができるのは Azure AI アカウント所有者のみです。 2 つ目の違いは、ロール定義に表示されます: データ アクション Microsoft.CognitiveServices/*。 このデータ アクションを使用すると、ユーザーはプロジェクト内のデータの読み取り、書き込み、または削除操作を完了できます。 Azure AI Project Manager はこのアクションを実行できますが、Azure AI アカウント所有者は実行できません。 AI プロジェクトのデータ アクションを取得できるのは、Azure AI ユーザーAzure AI Project Manager だけです。 Azure AI Project Manager は、管理者特権の Azure AI ユーザーと考えてください。

これらの組み込みのロールの割り当てに加えて、所有者、共同作成者、閲覧者などの Azure 特権管理者ロールがあります。 これらのロールは Azure AI Foundry リソースのアクセス許可に固有ではありません。そのため、最小限の特権アクセスには、前に説明した組み込みロールを使用します。

次の表を使用して、Azure 特権管理者ロールを含む、組み込みロールごとの特権を確認します:

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

プロジェクトの既定のロール

Azure AI ユーザー

Azure AI ユーザー ロールのアクセス許可を次に示します:

{
    "id": "/providers/Microsoft.Authorization/roleDefinitions/53ca6127-db72-4b80-b1b0-d745d6d5456d",
    "properties": {
        "roleName": "Azure AI User",
        "description": "Grants reader access to AI projects, reader access to AI accounts, and data actions for an AI project.",
        "assignableScopes": ["/"],
        "permissions": [
            {
                "actions": [
                    "Microsoft.CognitiveServices/*/read",
                    "Microsoft.CognitiveServices/accounts/listkeys/action",
                    "Microsoft.Insights/alertRules/read",
                    "Microsoft.Insights/diagnosticSettings/read",
                    "Microsoft.Insights/logDefinitions/read",
                    "Microsoft.Insights/metricdefinitions/read",
                    "Microsoft.Insights/metrics/read",
                    "Microsoft.ResourceHealth/availabilityStatuses/read",
                    "Microsoft.Resources/deployments/*",
                    "Microsoft.Resources/subscriptions/operationresults/read",
                    "Microsoft.Resources/subscriptions/read",
                    "Microsoft.Resources/subscriptions/resourceGroups/read",
                    "Microsoft.Support/*"
                ],
                "notActions": [],
                "dataActions": ["Microsoft.CognitiveServices/*"],
                "notDataActions": []
            }
        ]
    }
}

Note

Azure AI ユーザー ロールのみがユーザー プリンシパルに割り当てられ、他の Azure 組み込みロールが割り当てられていない場合は、Azure AI Foundry リソースの閲覧者ロールも割り当てて、Foundry ポータルで Foundry リソースを表示します。 これは Foundry Portal UX エクスペリエンスにのみ適用されます。

Azure AI プロジェクトマネージャー

Azure AI アカウント所有者ロールは、条件付き Azure ロールの割り当て委任を使用します。 条件付き委任では、ロールはリソース グループ内のユーザー プリンシパルに Azure AI ユーザー ロールのみを割り当てることができます。 条件付き委任を使用すると、管理者はロールの割り当てを委任して、チームが AI Foundry プロジェクトの構築を開始できるようになります。 詳細については、「条件を使用してAzure ロールの割り当て管理を他のユーザーに委任する」を参照してください。

Azure AI Project Manager ロールのアクセス許可を次に示します:

{
    "id": "/providers/Microsoft.Authorization/roleDefinitions/eadc314b-1a2d-4efa-be10-5d325db5065e",
    "properties": {
        "roleName": "Azure AI Project Manager",
        "description": "Lets you perform developer actions and management actions on Azure AI Foundry Projects. Allows for making role assignments, but limited to Cognitive Service User role.",
        "assignableScopes": [
            "/"
        ],
        "permissions": [
            {
                "actions": [
                    "Microsoft.Authorization/roleAssignments/write",
                    "Microsoft.Authorization/roleAssignments/delete",
                    "Microsoft.CognitiveServices/accounts/*/read",
                    "Microsoft.CognitiveServices/accounts/projects/*",
                    "Microsoft.CognitiveServices/locations/*/read",
                    "Microsoft.Authorization/*/read",
                    "Microsoft.Insights/alertRules/*",
                    "Microsoft.Resources/deployments/*",
                    "Microsoft.Resources/subscriptions/resourceGroups/read"
                ],
                "notActions": [],
                "dataActions": [
                    "Microsoft.CognitiveServices/*"
                ],
                "notDataActions": [],
                "conditionVersion": "2.0",
                "condition": "((!(ActionMatches{'Microsoft.Authorization/roleAssignments/write'})) OR (@Request[Microsoft.Authorization/roleAssignments:RoleDefinitionId] ForAnyOfAnyValues:GuidEquals{53ca6127-db72-4b80-b1b0-d745d6d5456d})) AND ((!(ActionMatches{'Microsoft.Authorization/roleAssignments/delete'})) OR (@Resource[Microsoft.Authorization/roleAssignments:RoleDefinitionId] ForAnyOfAnyValues:GuidEquals{53ca6127-db72-4b80-b1b0-d745d6d5456d}))"
            }
        ]
    }
}

Azure AI アカウント所有者

Azure AI アカウント所有者ロールは、委任された Azure ロールの割り当て管理を、条件を持つ他のユーザーに利用します。 条件付き委任により、Azure AI アカウント所有者ロールは、リソース グループ内の他のユーザー プリンシパルに Azure AI ユーザー ロールのみを割り当てることができます。 条件付き委任を使用すると、企業の管理者はロールの割り当ての作業を委任して、AI Foundry プロジェクトを使用したビルドと開発を開始できます。 条件を使用したロールの割り当ての詳細については、「条件を使用 して Azure ロールの割り当て管理を他のユーザーに委任する」を参照してください。

新しい Azure AI アカウント所有者ロールのアクセス許可の完全なセットは次のとおりです:

{
    "id": "/providers/Microsoft.Authorization/roleDefinitions/e47c6f54-e4a2-4754-9501-8e0985b135e1",
    "properties": {
        "roleName": "Azure AI Account Owner",
        "description": "Grants full access to manage AI projects and accounts. Grants conditional assignment of the Azure AI User role to other user principals.",
        "assignableScopes": [
            "/"
        ],
        "permissions": [
            {
                "actions": [
                    "Microsoft.Authorization/*/read",
                    "Microsoft.Authorization/roleAssignments/write",
                    "Microsoft.Authorization/roleAssignments/delete",
                    "Microsoft.CognitiveServices/*",
                    "Microsoft.Features/features/read",
                    "Microsoft.Features/providers/features/read",
                    "Microsoft.Features/providers/features/register/action",
                    "Microsoft.Insights/alertRules/*",
                    "Microsoft.Insights/diagnosticSettings/*",
                    "Microsoft.Insights/logDefinitions/read",
                    "Microsoft.Insights/metricdefinitions/read",
                    "Microsoft.Insights/metrics/read",
                    "Microsoft.ResourceHealth/availabilityStatuses/read",
                    "Microsoft.Resources/deployments/*",
                    "Microsoft.Resources/deployments/operations/read",
                    "Microsoft.Resources/subscriptions/operationresults/read",
                    "Microsoft.Resources/subscriptions/read",
                    "Microsoft.Resources/subscriptions/resourcegroups/deployments/*",
                    "Microsoft.Resources/subscriptions/resourceGroups/read",
                    "Microsoft.Support/*"
                ],
                "notActions": [],
                "dataActions": [],
                "notDataActions": [],
                "conditionVersion": "2.0",
                "condition": "((!(ActionMatches{'Microsoft.Authorization/roleAssignments/write'})) OR (@Request[Microsoft.Authorization/roleAssignments:RoleDefinitionId] ForAnyOfAnyValues:GuidEquals{53ca6127-db72-4b80-b1b0-d745d6d5456d})) AND ((!(ActionMatches{'Microsoft.Authorization/roleAssignments/delete'})) OR (@Resource[Microsoft.Authorization/roleAssignments:RoleDefinitionId] ForAnyOfAnyValues:GuidEquals{53ca6127-db72-4b80-b1b0-d745d6d5456d}))"
            }
        ]
    }
}

プロジェクトのエンタープライズ RBAC セットアップのサンプル

次の表は、エンタープライズ Azure AI Foundry リソースのロールベースのアクセス制御 (RBAC) の例を示しています。

Persona Role Purpose
IT 管理者 サブスクリプションの所有者 IT 管理者は、Azure AI Foundry リソースがエンタープライズ標準を満たしていることを確認します。 マネージャーにリソースの Azure AI アカウント所有者ロールを割り当てて、新しい Azure AI Foundry アカウントを作成できるようにします。 マネージャーにリソースに対する Azure AI Project Manager ロールを割り当てて、アカウント内にプロジェクトを作成できるようにします。
Managers Azure AI Foundry リソースの Azure AI アカウント所有者 マネージャーは、Azure AI Foundry リソースの管理、モデルのデプロイ、コンピューティング リソースの監査、接続の監査、共有接続の作成を行います。 プロジェクトでビルドすることはできませんが、Azure AI ユーザー ロールを自分や他のユーザーに割り当ててビルドを開始できます。
チーム リーダーまたはリード開発者 Azure AI Foundry リソース上の Azure AI Project Manager リード開発者はチームのプロジェクトを作成し、それらのプロジェクトでビルドを開始します。 プロジェクトを作成した後、プロジェクト所有者は他のメンバーを招待し、 Azure AI ユーザー ロールを割り当てます。
チーム メンバーまたは開発者 Azure AI Foundry リソース上の Azure AI ユーザー 開発者は、プロジェクトでエージェントをビルドします。

Important

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

AI Foundry の外部で作成されたリソースにアクセスする

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

  • そのリソースには、アクセスできるアクセス許可があります。 たとえば、新しい Azure Blob Storage アカウントを使用するには、そのストレージ アカウントのストレージ BLOB データ閲覧者ロールに AI Foundry アカウント リソースのマネージド ID を追加します。 新しい Azure AI Search ソースを使用するには、Azure AI Search ロールの割り当てに AI Foundry を追加します。

プロジェクトのロールを使用してアクセスを管理する

Azure AI Foundry アカウント リソースの所有者である場合は、ロールを追加または削除します。 1。 Azure AI Foundry[ホーム] ページで、Azure AI Foundry リソースを選択します。

  1. [ユーザー] を選択して、リソースのユーザーを追加または削除します。 また、アクセス制御 (IAM) または Azure CLI を使用して、Azure portal でアクセス許可を管理します。

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

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

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

組み込みロールが十分でない場合は、カスタム ロールを作成します。 カスタム ロールには、Azure AI Foundry リソースの読み取り、書き込み、削除、コンピューティングのアクセス許可を含めることができます。 プロジェクト、リソース グループ、またはサブスクリプション スコープでロールを使用できるようにします。

Note

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

カスタム ロールを作成するには、次のいずれかの記事を使用します:

カスタム ロールの詳細については、Azure カスタム ロールに関する記事を参照してください。

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

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

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

  1. Azure portal で [グループ] に移動します。

  2. グループ ポータルで新しい セキュリティ グループを作成します。

  3. Microsoft Entra グループの所有者を割り当て、組織内の個々のユーザー 原則をメンバーとしてグループに追加します。 グループを保存します。

  4. ロールの割り当てが必要なリソースに移動します。

    1. 例: Foundry でエージェントを構築したり、トレースを実行したりするには、最小限の特権 "Azure AI User" ロールをユーザー プリンシパルに割り当てる必要があります。 "Azure AI ユーザー" ロールを新しい Microsoft Entra グループに割り当て、企業内のすべてのユーザーが Foundry で構築できるようにします。
    2. 例: Azure AI Foundry でトレースと監視機能を使用するには、接続された Application Insights リソースに対する "閲覧者" ロールの割り当てが必要です。 社内のすべてのユーザーがトレースと監視機能を使用できるように、新しい Microsoft Entra グループに "閲覧者" ロールを割り当てます。
  5. アクセス制御 (IAM) に移動します。

  6. 割り当てるロールを選択します。

  7. "ユーザー、グループ、またはサービス プリンシパル" へのアクセスを割り当て、新しいセキュリティ グループを選択します。

  8. 確認して割り当てます。 ロールの割り当てが、グループに割り当てられているすべてのユーザー 原則に適用されるようになりました。

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