Share via


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

Note

Azure AI Studio は、現在、パブリック プレビュー段階です。 このプレビューはサービス レベル アグリーメントなしで提供されており、運用環境ではお勧めしません。 特定の機能はサポート対象ではなく、機能が制限されることがあります。 詳しくは、Microsoft Azure プレビューの追加使用条件に関するページをご覧ください。

この記事では、Azure AI ハブ リソースへのアクセス (認可) を管理する方法を学習します。 Azure ロールベースのアクセス制御は、Azure リソースへのアクセス (新しいリソースの作成や既存のリソースを使用する権利) を管理するために使用されます。 Microsoft Entra ID のユーザーには、リソースへのアクセス権を付与する特定のロールが割り当てられます。 Azure には、組み込みロールと、カスタム ロールを作成する機能の両方が用意されています。

警告

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

Azure AI ハブ リソースと Azure AI プロジェクト

Azure AI Studio には、Azure AI ハブと Azure AI プロジェクトという 2 つのレベルのアクセスが存在します。 AI ハブには、インフラストラクチャ (仮想ネットワークのセットアップ、カスタマー マネージド キー、マネージド ID、ポリシーを含む) と、Azure AI サービスを構成する場所が含まれます。 Azure AI ハブ アクセスを使用すると、インフラストラクチャの変更、新しい Azure AI ハブ リソースの作成、プロジェクトの作成を行うことができます。 Azure AI プロジェクトは、AI システムの構築とデプロイを可能にするワークスペースとして機能する Azure AI ハブ リソースのサブセットです。 プロジェクト内では、フローの開発、モデルのデプロイ、プロジェクト資産の管理を行うことができます。 プロジェクト アクセスを使用すると、Azure AI ハブ リソース上のインフラストラクチャのセットアップを利用しながら、AI をエンドツーエンドで開発できます。

AI Studio リソース間の関係の図。

AI ハブと AI プロジェクトの関係の主な利点の 1 つは、開発者が AI ハブのセキュリティ設定を継承する独自のプロジェクトを作成できることです。 また、プロジェクトの共同作成者であり、新しいプロジェクトを作成できない開発者がいる場合もあります。

Azure AI ハブ リソースの既定のロール

Azure AI Studio には、既定で使用できる組み込みロールがあります。 閲覧者、共同作成者、所有者のロールに加えて、Azure AI Studio には Azure AI 開発者という新しいロールがあります。 このロールは、ユーザーが接続、コンピューティング、プロジェクトを作成できるようにするために割り当てることができますが、ユーザーが新しい Azure AI ハブ リソースを作成したり、既存の Azure AI ハブ リソースのアクセス許可を変更したりすることは許可できません。

Azure AI ハブ リソースの組み込みロールとそのアクセス許可を次の表に示します。

ロール 説明
所有者 新しい Azure AI ハブ リソースの管理と作成、およびアクセス許可の割り当てを行う権限を含む、Azure AI ハブ リソースへのフル アクセス。 このロールは、Azure AI ハブ リソース作成者に自動的に割り当てられます
Contributor ユーザーは、新しい Azure AI ハブ リソースを作成する権限を含め、Azure AI ハブ リソースへのフル アクセスを持ちますが、既存のリソースに対する Azure AI ハブ リソースのアクセス許可を管理することはできません。
Azure AI 開発者 新しい Azure AI ハブ リソースの作成および Azure AI ハブ リソースのアクセス許可の管理を除く、すべてのアクションを実行します。 たとえば、ユーザーはプロジェクト、コンピューティング、接続を作成できます。 ユーザーは自分のプロジェクト内でアクセス許可を割り当てることができます。 ユーザーは、Azure OpenAI、Azure AI 検索、Azure AI サービスなどの既存の Azure AI リソースとやり取りできます。
Reader Azure AI ハブ リソースへの読み取り専用アクセス。 このロールは、Azure AI ハブ リソース内のすべてのプロジェクト メンバーに自動的に割り当てられます。

共同作成者と Azure AI 開発者の主な違いは、新しい Azure AI ハブ リソースを作成する権限です。 (クォータ、コスト、または単に存在する Azure AI ハブ リソースの数を管理するために) ユーザーに新しい Azure AI ハブ リソースを作成させたくない場合は、AI 開発者ロールを割り当てます。

Azure AI ハブ リソースを作成できるのは、所有者と共同作成者ロールだけです。 現時点では、カスタム ロールでは、Azure AI ハブ リソースを作成するためのアクセス許可は付与されません。

新しい "Azure AI 開発者" ロールのアクセス許可の完全なセットは次のとおりです。

{
    "Permissions": [ 
        { 
        "Actions": [ 
    
            "Microsoft.MachineLearningServices/workspaces/*/read", 
            "Microsoft.MachineLearningServices/workspaces/*/action", 
            "Microsoft.MachineLearningServices/workspaces/*/delete", 
            "Microsoft.MachineLearningServices/workspaces/*/write" 
        ], 
    
        "NotActions": [ 
            "Microsoft.MachineLearningServices/workspaces/delete", 
            "Microsoft.MachineLearningServices/workspaces/write", 
            "Microsoft.MachineLearningServices/workspaces/listKeys/action", 
            "Microsoft.MachineLearningServices/workspaces/hubs/write", 
            "Microsoft.MachineLearningServices/workspaces/hubs/delete", 
            "Microsoft.MachineLearningServices/workspaces/featurestores/write", 
            "Microsoft.MachineLearningServices/workspaces/featurestores/delete" 
        ], 
        "DataActions": [ 
            "Microsoft.CognitiveServices/accounts/OpenAI/*", 
            "Microsoft.CognitiveServices/accounts/SpeechServices/*", 
            "Microsoft.CognitiveServices/accounts/ContentSafety/*" 
        ], 
        "NotDataActions": [], 
        "Condition": null, 
        "ConditionVersion": null 
        } 
    ] 
}

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

Azure AI Studio のプロジェクトには、既定で使用できる組み込みロールがあります。 閲覧者、共同作成者、所有者のロールに加えて、プロジェクトには Azure AI 開発者ロールもあります。

Azure AI プロジェクトの組み込みロールとそのアクセス許可を次の表に示します。

ロール 説明
所有者 プロジェクト ユーザーにアクセス許可を割り当てる機能を含む、Azure AI プロジェクトへのフル アクセス。
共同作成者 ユーザーは Azure AI プロジェクトにフル アクセスできますが、プロジェクト ユーザーにアクセス許可を割り当てることはできません。
Azure AI 開発者 ユーザーはデプロイの作成など、ほとんどのアクションを実行できますが、プロジェクト ユーザーにアクセス許可を割り当てることはできません。
閲覧者 Azure AI プロジェクトへの読み取り専用アクセス。

ユーザーにプロジェクトへのアクセス権が付与されると (たとえば、AI Studio のアクセス許可管理を通じて)、さらに 2 つのロールがユーザーに自動的に割り当てられます。 最初のロールは、Azure AI ハブ リソースの閲覧者です。 2 番目のロールは Inference Deployment Operator ロールです。これにより、ユーザーはプロジェクトが存在するリソース グループにデプロイを作成できます。 このロールは、"Microsoft.Authorization/*/read""Microsoft.Resources/deployments/*" の 2 つのアクセス許可で構成されます。

エンド ツー エンドの AI の開発とデプロイを完了するために、ユーザーが必要とするのは、これら 2 つの自動割り当てロールと、プロジェクトの共同作成者または Azure AI 開発者ロールだけです。

AI プロジェクト リソースを作成するために必要な最小限のアクセス許可は、AI ハブ リソースで Microsoft.MachineLearningServices/workspaces/hubs/join のアクションを許可されたロールです。 Azure AI Developer の組み込みロールには、このアクセス許可があります。

依存関係サービスの RBAC アクセス許可

Azure AI ハブ リソースには、他の Azure サービスへの依存関係があります。 Azure AI ハブ リソースを作成する際に、これらのサービスに必要なアクセス許可を以下の表に示します。 これらのアクセス許可は、AI ハブを作成するユーザーが必要です。 AI ハブから AI プロジェクトを作成するユーザーは必要ありません。

アクセス許可 目的
Microsoft.Storage/storageAccounts/write 指定されたパラメーターを使用してストレージ アカウントを作成するか、プロパティまたはタグを更新します。または、指定されたストレージ アカウントのカスタム ドメインを追加します。
Microsoft.KeyVault/vaults/write 新しい Key Vault を作成するか、既存の Key Vault のプロパティを更新します。 プロパティによっては、より多くのアクセス許可が必要な場合があります。
Microsoft.CognitiveServices/accounts/write API アカウントを記述します。
Microsoft.Insights/Components/Write Application Insights コンポーネントの構成を書き込みます。
Microsoft.OperationalInsights/workspaces/write 新しいワークスペースを作成するか、既存のワークスペースの顧客 ID を指定して既存のワークスペースにリンクします。

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

企業向けの Azure AI Studio のロールベースのアクセス制御を設定する方法の例を次に示します。

ペルソナ ロール 目的
IT 管理者 Azure AI ハブ リソースの所有者 IT 管理者は、Azure AI ハブ リソースがエンタープライズ標準に準拠するように設定されていることを確認し、マネージャーが新しい Azure AI ハブ リソースを作成できるようにしたい場合には、マネージャーにリソースに対する共同作成者ロールを割り当て、新しい Azure AI ハブ リソースの作成を許可しないようにするためにはマネージャーにリソースに対する Azure AI 開発者ロールを割り当てることができます。
Managers Azure AI ハブ リソースの共同作成者または Azure AI 開発者 マネージャーは、AI ハブの管理、コンピューティング リソースの監査、接続の監査、共有接続の作成を行うことができます。
チーム リーダー/リード開発者 Azure AI ハブ リソースの Azure AI 開発者 リード開発者は、チームのプロジェクトを作成し、Azure AI ハブ リソース レベルで共有リソース (例: コンピューティングや接続) を作成できます。 プロジェクトの作成後、プロジェクト所有者は他のメンバーを招待できます。
チーム メンバー/開発者 Azure AI プロジェクトの共同作成者または Azure AI 開発者 開発者は、プロジェクト内で AI モデルを構築してデプロイし、コンピューティングや接続などの開発を可能にする資産を作成できます。

Azure AI ハブ リソースの外部で作成されたリソースへのアクセス

Azure AI ハブ リソースを作成すると、組み込みのロールベースのアクセス制御によるアクセス許可によって、そのリソースを使用するためのアクセス権が付与されます。 ただし、ユーザーに代わって作成されたもの以外のリソースを使用する場合は、次の両方を確認する必要があります。

  • 使用しようとしているリソースには、アクセス許可が設定されています。
  • 自分の Azure AI ハブ リソースがそれへのアクセスを許可されていること。

たとえば、新しい BLOB ストレージを使用しようとしている場合は、Azure AI ハブ リソースのマネージド ID がその BLOB の BLOB ストレージ閲覧者ロールに追加されていることを確認する必要があります。 新しい Azure AI 検索ソースを使用しようとしている場合は、その Azure AI 検索のロールの割り当てに Azure AI ハブ リソースを追加することが必要になる場合があります。

ロールでアクセスを管理する

Azure AI ハブ リソースの所有者であれば、Studio のロールの追加と削除を行うことができます。 Azure AI Studio 内で、[管理] に移動し、Azure AI ハブ リソースを選択します。 次に、[アクセス許可] を選択して、Azure AI ハブ リソースのユーザーの追加と削除を行います。 Azure portal のアクセス制御 (IAM) または Azure CLI を通じてアクセス許可を管理することもできます。 たとえば、Azure CLI を使用して、次のコマンドでリソース グループ "this-rg" の joe@contoso.com に Azure AI 開発者ロールを割り当てます。

az role assignment create --role "Azure AI Developer" --assignee "joe@contoso.com" --resource-group this-rg 

カスタム ロールを作成する

Note

新しい Azure AI ハブ リソースを作成するには、所有者または共同作成者ロールが必要です。 現時点では、すべてのアクションが許可されている場合でも、カスタム ロールでは Azure AI ハブ リソースを作成することはできません。

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

Note

そのリソース内のカスタム ロールを作成するには、そのレベルでのリソースの所有者でなければなりません。

シナリオ: カスタマー マネージド キーを使用する

カスタマー マネージド キー (CMK) を使用する場合、Azure Key Vault を使用してキーを格納します。 ワークスペースの作成に使用されるユーザーまたはサービス プリンシパルには、キー コンテナーへの所有者または共同作成者アクセス権が必要です。

Azure AI ハブがユーザー割り当てマネージド ID を使用して構成されている場合、ID に次のロールが付与されている必要があります。 これらのロールにより、マネージド ID は、カスタマー マネージド キーを使用するときに使用される Azure Storage、Azure Cosmos DB、および Azure Search リソースを作成できます。

  • Microsoft.Storage/storageAccounts/write
  • Microsoft.Search/searchServices/write
  • Microsoft.DocumentDB/databaseAccounts/write

キー コンテナー内では、ユーザーまたはサービス プリンシパルに、キー コンテナー アクセス ポリシーを使用してキーへの作成、取得、削除、および消去のアクセス権を付与する必要があります。 詳細については、「Azure Key Vault セキュリティ」を参照してください。

シナリオ: 既存の Azure OpenAI リソース

既存の Azure OpenAI リソースへの接続を作成するときは、ユーザーがリソースにアクセスできるようにロールをユーザーに割り当てる必要もあります。 実行する必要があるタスクに応じて、Cognitive Services OpenAI ユーザーまたは Cognitive Services OpenAI 共同作成者ロールのいずれかを割り当てる必要があります。 これらのロールとそれらが有効にするタスクの情報については、Azure OpenAI ロールに関するページを参照してください。

シナリオ: Azure Container Registry を使用する

Azure Container Registry インスタンスは、Azure AI Studio ハブとのオプションの依存関係があります。 次の表に、認証方法と Azure Container Registry の公衆ネットワーク アクセスの構成に応じた、Azure Container Registry へのハブに対する認証のサポート マトリックスを示します。

認証方法 パブリック ネットワーク アクセス
は無効
Azure Container Registry
公衆ネットワーク アクセスが有効
管理者ユーザー
AI Studio ハブのシステム割り当てマネージド ID
ACRPull ロールが ID に割り当てられている
AI Studio ハブのユーザー割り当てマネージド ID

システム割り当てマネージド ID は、Azure AI ハブの作成時に正しいロールに自動的に割り当てられます。 ユーザー割り当てマネージド ID を使用している場合は、その ID に対して ACRPull ロールを割り当てる必要があります。

次のステップ