Azure OpenAI Service のロールベースのアクセス制御
Azure OpenAI Service では、Azure リソースへの個々のアクセスを管理するための認可システムである、Azure のロールベースのアクセス制御 (Azure RBAC) がサポートされています。 Azure RBAC を使用すると、特定のプロジェクトに対するニーズに応じて、チーム メンバーごとに異なるレベルのアクセス許可を割り当てることができます。 詳細については、Azure RBAC のドキュメントを参照してください。
Azure OpenAI リソースにロールの割り当てを追加する
Azure RBAC を Azure OpenAI リソースに割り当てることができます。 Azure リソースへのアクセス権を付与するには、ロールの割り当てを追加します。
Azure portal で Azure OpenAI を検索します。
[Azure OpenAI] を選択し、特定のリソースに移動します。
Note
また、リソース グループ、サブスクリプション、または管理グループ全体に対して Azure RBAC を設定することもできます。 これを行うには、目的のスコープ レベルを選択し、目的の項目に移動します。 たとえば、 [リソース グループ] を選択し、特定のリソース グループに移動します。
左側のナビゲーション ウィンドウで [アクセス制御 (IAM)] を選択します。
[追加] を選択し、 [ロールの割り当ての追加] を選択します。
次の画面の [ロール] タブで、追加するロールを選択します。
[メンバー] タブで、ユーザー、グループ、サービス プリンシパル、またはマネージド ID を選択します。
[確認と 割り当て] タブで、 [確認と割り当て] を選択して ロールを割り当てます。
数分以内に、選択したスコープで選択したロールがターゲットに割り当てられます。 これらの手順については、「Azure portal を使用して Azure ロールを割り当てる」を参照してください。
Azure OpenAI のロール
- Cognitive Services OpenAI ユーザー
- Cognitive Services OpenAI 共同作成者
- Cognitive Services 共同作成者
- Cognitive Services 使用状況閲覧者
Note
サブスクリプション レベルの "所有者" ロールと "共同作成者" ロールは継承され、リソース グループ レベルで適用されるカスタムの Azure OpenAI ロールよりも優先されます。
このセクションでは、各種アカウントおよび組み合わせたアカウントで Azure OpenAI リソースに対して実行できる一般的なタスクについて説明します。 Azure OpenAI リソースから個々のロールに付与されている使用可能な Actions と DataActions の全一覧を表示するには、[Access control (IAM)] (アクセス制御 (IAM))>[Roles] (ロール)>に移動し、目的のロールの [詳細] 列で [表示] を選択します。 既定では、[Actions] 放射状ボタンが選択されています。 ロールに割り当てられている機能を十分に理解するには、Actions と DataActions の両方を調べる必要があります。
Cognitive Services OpenAI ユーザー
Azure OpenAI リソースについてこのロールのみに対するロールベースのアクセスがユーザーに付与されている場合、ユーザーは次の一般的なタスクを実行できます。
✅Azure portal でリソースを表示する
✅[キーとエンドポイント] でリソース エンドポイントを表示する
✅ Azure OpenAI Studio でリソースおよび関連するモデル デプロイを表示する
✅ Azure OpenAI Studio で、デプロイに使用できるモデルを表示する
✅ チャット、入力候補、DALL-E (プレビュー) プレイグラウンド エクスペリエンスを使用して、この Azure OpenAI リソースに既にデプロイされているモデルでテキストとイメージを生成する
✅ Microsoft Entra ID を使用して推論 API 呼び出しを行います。
このロールのみが割り当てられているユーザーは、次のタスクを実行できません。
❌ 新しい Azure OpenAI リソースを作成する
❌[キーとエンドポイント] でキーを表示/コピー/再生成する
❌ 新しいモデル デプロイを作成するか、既存のモデル デプロイを編集する
❌ カスタムの微調整モデルを作成/デプロイする
❌ 微調整するためにデータセットをアップロードする
❌ クォータにアクセスする
❌ カスタマイズされたコンテンツ フィルターを作成する
❌ データ機能を使用するためにデータ ソースを追加する
Cognitive Services OpenAI 共同作成者
このロールには Cognitive Services OpenAI ユーザーのすべてのアクセス許可が含まれ、次のようなタスクを追加で実行できます。
✅ カスタムの微調整モデルを作成する
✅ 微調整するためにデータセットをアップロードする
✅ 新しいモデル デプロイを作成するか、既存のモデル デプロイを編集する [2023 年の秋に追加]
このロールのみが割り当てられているユーザーは、次のタスクを実行できません。
❌ 新しい Azure OpenAI リソースを作成する
❌[キーとエンドポイント] でキーを表示/コピー/再生成する
❌ クォータにアクセスする
❌ カスタマイズされたコンテンツ フィルターを作成する
❌ データ機能を使用するためにデータ ソースを追加する
Cognitive Services 共同作成者
通常、このロールには、追加のロールと組み合わせてユーザーのリソース グループ レベルでアクセス権が付与されます。 このロール自体は、ユーザーに次のタスクの実行を許可します。
✅ 割り当てられたリソース グループ内に新しい Azure OpenAI リソースを作成する
✅Azure portal で、割り当てられたリソース グループ内のリソースを表示する
✅[キーとエンドポイント] でリソース エンドポイントを表示する
✅[キーとエンドポイント] でキーを表示/コピー/再生成する
✅ Azure OpenAI Studio でデプロイに使用できるモデルを表示する機能
✅ チャット、入力候補、DALL-E (プレビュー) プレイグラウンド エクスペリエンスを使用して、この Azure OpenAI リソースに既にデプロイされているモデルでテキストとイメージを生成する
✅ カスタマイズされたコンテンツ フィルターを作成する
✅ データ機能を使用するためにデータ ソースを追加する
✅ 新しいモデル デプロイを作成するか、既存のモデル デプロイを編集する (API 経由)
✅ カスタムの微調整モデルを作成する [2023 年の秋に追加]
✅ 微調整するためにデータセットをアップロードする [2023 年の秋に追加]
✅ 新しいモデル デプロイを作成するか、既存のモデル デプロイを編集する (Azure OpenAI Studio 経由) [2023 年の秋に追加]
このロールのみが割り当てられているユーザーは、次のタスクを実行できません。
❌ クォータにアクセスする
❌ Microsoft Entra ID を使用して推論 API 呼び出しを行います。
Cognitive Services 使用状況閲覧者
クォータを表示するには、Cognitive Services 使用状況閲覧者ロールが必要です。 このロールは、Azure サブスクリプション全体のクォータの使用状況を表示するために必要な最小限のアクセス権を提供します。
このロールを表示するには、Azure portal で [Subscriptions] (サブスクリプション)> *[Access control (IAM)] (アクセス制御 (IAM))>[ロールの割り当てを追加]>Cognitive Services Usages Reader (Cognitive Services 使用状況閲覧者) を検索します。 ロールはサブスクリプション レベルで適用する必要があります。リソース レベルには存在しません。
このロールを使用しない場合、サブスクリプションの閲覧者 ロールで同等のアクセス権が提供されますが、クォータの表示に必要な範囲を超える読み取りアクセスも付与されます。 Azure OpenAI Studio でのモデル デプロイでも、このロールを部分的に使用します。
このロール自体はあまり有用ではないため、通常は前述の 1 つ以上のロールと組み合わせて割り当てられます。
Cognitive Services 使用状況閲覧者 + Cognitive Services OpenAI ユーザー
Cognitive Services OpenAI のすべての権限に加えて、次のタスクを実行できます。
✅ Azure OpenAI Studio でクォータの割り当てを表示する
Cognitive Services 使用状況閲覧者 + Cognitive Services OpenAI 共同作成者
Cognitive Services OpenAI 共同作成者のすべての権限に加えて、次のタスクを実行できます。
✅ Azure OpenAI Studio でクォータの割り当てを表示する
Cognitive Services 使用状況閲覧者 + Cognitive Services 共同作成者
Cognitive Services 共同作成者のすべての権限に加えて、次のタスクを実行できます。
✅ Azure OpenAI Studio でクォータの割り当てを表示および編集する
✅ 新しいモデル デプロイを作成するか、既存のモデル デプロイを編集する (Azure OpenAI Studio 経由)
まとめ
アクセス許可 | Cognitive Services OpenAI ユーザー | Cognitive Services OpenAI 共同作成者 | Cognitive Services 共同作成者 | Cognitive Services 使用状況閲覧者 |
---|---|---|---|---|
Azure portal でリソースを表示する | ✅ | ✅ | ✅ | ➖ |
"キーとエンドポイント" でリソース エンドポイントを表示する | ✅ | ✅ | ✅ | ➖ |
Azure OpenAI Studio でリソースおよび関連するモデル デプロイを表示する | ✅ | ✅ | ✅ | ➖ |
Azure OpenAI Studio でデプロイに使用できるモデルを表示する | ✅ | ✅ | ✅ | ➖ |
チャット、入力候補、DALL-E (プレビュー) プレイグラウンド エクスペリエンスと共に、この Azure OpenAI リソースに既にデプロイされているモデルを使用します。 | ✅ | ✅ | ✅ | ➖ |
モデル デプロイを作成または管理します | ❌ | ✅ | ✅ | ➖ |
カスタムの微調整モデルを作成またはデプロイする | ❌ | ✅ | ✅ | ➖ |
微調整するためにデータセットをアップロードする | ❌ | ✅ | ✅ | ➖ |
新しい Azure OpenAI リソースを作成する | ❌ | ❌ | ✅ | ➖ |
"キーとエンドポイント" でキーを表示/コピー/再生成する | ❌ | ❌ | ✅ | ➖ |
カスタマイズされたコンテンツ フィルターを作成する | ❌ | ❌ | ✅ | ➖ |
"On Your Data" 機能のデータ ソースを追加する | ❌ | ❌ | ✅ | ➖ |
クォータにアクセスする | ❌ | ❌ | ❌ | ✅ |
Microsoft Entra ID を使用して推論 API 呼び出しを行います。 | ✅ | ✅ | ❌ | ➖ |
一般的な問題
Azure OpenAI Studio で Azure Cognitive Search オプションを表示できない
問題:
既存の Azure Cognitive Search リソースを選択すると、検索インデックスは読み込まれません。読み込みホイールが回転している状態が続きます。 Azure OpenAI Studio のアシスタントのセットアップで、[Playground Chat] (プレイグラウンド チャット)>[Add your data (preview)] (データの追加 (プレビュー)) に移動します。 [Add a data source] (データ ソースの追加) を選択するとモーダルが開き、そこで Azure Cognitive Search または Blob Storage を介してデータ ソースを追加できます。 Azure Cognitive Search オプションと既存の Azure Cognitive Search リソースを選択すると、選択可能な Azure Cognitive Search インデックスが読み込まれます。
根本原因
Azure Cognitive Search サービスを一覧表示するための汎用 API 呼び出しを行うには、次の呼び出しを行います。
https://management.azure.com/subscriptions/{subscriptionId}/providers/Microsoft.Search/searchServices?api-version=2021-04-01-Preview
{subscriptionId} は実際のサブスクリプション ID に置き換えます。
この API 呼び出しには、サブスクリプション レベルのスコープ ロールが必要です。 読み取り専用アクセスには閲覧者ロールを、読み取り/書き込みアクセスには共同作成者ロールを使用できます。 Azure Cognitive Search サービスへのアクセスのみが必要な場合は、Azure Cognitive Search サービス共同作成者ロールまたは Azure Cognitive Search サービス閲覧者ロールを使用できます。
ソリューションのオプション
サブスクリプションの管理者または所有者に問い合わせる: Azure サブスクリプションを管理しているユーザーに連絡し、適切なアクセス権を要求します。 要件と必要な特定のロール (閲覧者、共同作成者、Azure Cognitive Search サービス共同作成者、Azure Cognitive Search サービス閲覧者など) について説明します。
サブスクリプション レベルまたはリソース グループ レベルのアクセス権を要求する: 特定のリソースへのアクセス権が必要な場合は、サブスクリプション所有者に適切なレベル (サブスクリプションまたはリソース グループ) でアクセス権を付与するように依頼します。 これにより、関連のないリソースにアクセスすることなく、必要なタスクを実行できます。
Azure Cognitive Search に API キーを使用する: Azure Cognitive Search サービスの操作のみが必要な場合は、サブスクリプション所有者に管理者キーまたはクエリ キーを要求できます。 これらのキーを使用すると、Azure RBAC ロールなしで検索サービスに直接 API 呼び出しを行うことができます。 API キーを使用すると Azure RBAC アクセス制御がバイパスされるため、API キーは慎重に使用し、セキュリティのベスト プラクティスに従ってください。
On Your Data 用に Azure OpenAI Studio でファイルをアップロードできない
症状: Azure OpenAI Studio を使用して On Your Data 機能のストレージにアクセスできません。
根本原因:
Azure OpenAI Studio で BLOB ストレージにアクセスしようとしているユーザーのサブスクリプション レベルのアクセス権が不十分です。 Azure Management API エンドポイントを呼び出すために必要なアクセス許可がユーザーにない可能性があります。https://management.azure.com/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{accountName}/listAccountSas?api-version=2022-09-01
セキュリティ上の理由から、Azure サブスクリプションの所有者によって BLOB ストレージへのパブリック アクセスが無効にされています。
API 呼び出しに必要なアクセス許可: **Microsoft.Storage/storageAccounts/listAccountSas/action:**
このアクセス許可を使用すると、ユーザーは、指定されたストレージ アカウントの Shared Access Signature (SAS) トークンを一覧表示できます。
アクセス許可がユーザーにない可能性がある理由としては、以下が考えられます。
- ユーザーに、API 呼び出しに必要なアクセス許可が含まれない制限付きロールが Azure サブスクリプションで割り当てられている。
- ユーザーのロールが、セキュリティ上の懸念や組織のポリシーにより、サブスクリプションの所有者または管理者によって制限されている。
- ユーザーのロールが最近変更され、必要なアクセス許可が新しいロールで付与されていない。
ソリューションのオプション
- アクセス権の確認と更新: API 呼び出しに必要なアクセス許可 (Microsoft.Storage/storageAccounts/listAccountSas/action) が含まれる適切なサブスクリプション レベルのアクセス権がユーザーにあることを確認します。 必要に応じて、サブスクリプションの所有者または管理者に必要なアクセス権を付与するように要求します。
- 所有者または管理者にサポートを依頼する: 上記のソリューションが実行できない場合は、サブスクリプションの所有者または管理者に、代わりにデータ ファイルをアップロードするよう要求することを検討します。 この方法では、ユーザーが BLOB ストレージへのサブスクリプション レベルのアクセスやパブリック アクセスを必要とすることなく、Azure OpenAI Studio にデータをインポートできます。
次のステップ
- Azure ロールベースのアクセス制御 (Azure RBAC) について詳しく確認します。
- 「Azure portal を使用して Azure ロールを割り当てる」も確認します。