ロール ベースのアクセス制御 (RBAC) を使用する

完了

Azure ロールベースのアクセス制御 (RBAC) は、一般的な管理操作を実行するために Azure Cosmos DB で提供されます。 ロールベースのアクセス制御では、リソースへのアクセスと Azure Cosmos DB リソースの操作を許可または拒否します。 これらのロールは、Microsoft Entra アカウントを使用して、ユーザー、グループ、サービス プリンシパル、またはマネージド インスタンスに割り当てることができます。 ロールの割り当ては、データ プレーンの操作には使用されません。そのスコープは、Azure Cosmos DB アカウント、データベース、コンテナー、プラン (スループット) などのコントロール プレーン アクセスのみに設定されています。 Azure Cosmos DB でサポートされているこれらの組み込みロールを見てみましょう。

組み込みのロール

組み込みのロール 説明
DocumentDB Account Contributor Azure Cosmos DB アカウントを管理できます。
Cosmos DB アカウント閲覧者 Cosmos DB アカウントのデータを読み取ることができます。
Cosmos バックアップ オペレーター Azure portal から定期的バックアップ対応データベースまたはコンテナーについての復元要求を送信できます。 Azure portal でバックアップ間隔と保有期間を変更できます。 データにアクセスすることも、データ エクスプローラーを使用することもできません。
CosmosRestoreOperator 継続的バックアップモードで Azure Cosmos DB アカウントの復元操作を実行できます。
Cosmos DB オペレーター Azure Cosmos のアカウント、データベース、コンテナーをプロビジョニングできます。 データにアクセスすることも、データ エクスプローラーを使用することもできません。

ID およびアクセス管理 (IAM)

Azure Cosmos DB 上の Azure RBAC は、Azure portal の [アクセス制御 (IAM)] ペインを使用して設定します。 個人またはグループに対して、組み込みロールまたはカスタム ロールを割り当てることができます。

Diagram that shows the Azure Cosmos DB Identity and access management role-based access control options.

カスタム コントロール

カスタム ロールによって、ユーザーは、カスタムのリソース プロバイダー操作セットを使用して Azure ロール定義を作成できるようになります。 カスタム ロールは、Active Directory サービス プリンシパルに適用でき、組み込みロールと同じように RBAC を定義するために使用できます。

Azure Cosmos DB SDK からの変更の防止

Azure Cosmos DB SDK から接続しているクライアントをロック ダウンして、Azure Cosmos アカウント、データベース、コンテナー、およびスループットのプロパティを変更できないようにすることができます。 Cosmos コンテナー自体とのデータの読み取りと書き込みを含む操作は影響を受けません。 このロック ダウンは、運用環境に対してより高度な制御とガバナンスを実現するうえで望ましい場合があります。 この機能を有効にした場合、適切な Azure ロールと Active Directory 資格情報 (マネージド サービス ID を含む) が割り当てられたユーザーのみがリソースのプロパティを変更できます。

次のアクションのいずれかを実行するアプリケーションでは、Cosmos DB SDK、アカウント キーを介して接続するツール、または Azure portal を使用してこれらのアクションを実行できなくなります。 これらのアクションは、Azure Resource Manager テンプレート、PowerShell、Azure CLI、REST、または Azure 管理ライブラリから実行する必要があります。

  • プロパティを含めたり、リージョンを追加または削除したりする Cosmos アカウントに対する変更。
  • データベースやコンテナーなどの子リソースの作成、削除。
  • データベースまたはコンテナー レベルのリソースでのスループットの更新。
  • コンテナー プロパティ (インデックス ポリシー、TTL、一意キーなど) の変更。
  • ストアド プロシージャ、トリガー、またはユーザー定義関数の変更。