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

完了

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

組み込みのロール

組み込みロール 説明
DocumentDB アカウント共同作成者 Azure Cosmos DB アカウントを管理できます。
Cosmos DB アカウント閲覧者 Azure 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) ウィンドウを使用して設定されます。 個人またはグループに対して、組み込みロールまたはカスタム ロールを割り当てることができます。

Azure Cosmos DB ID とアクセス管理ロールベースのアクセス制御オプションを示す図。

カスタム コントロール

カスタム ロールを使用すると、ユーザーがカスタムのリソース プロバイダー操作セットを使用して 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、一意キーを含む) の変更。
  • ストアド プロシージャ、トリガー、またはユーザー定義関数に対する変更。