Azure Cosmos DB for NoSQL は、ネイティブロールベースのアクセス制御実装内で、一意のデータ アクションとロールのセットを公開します。 この記事には、これらのアクションとロールの一覧と、各リソースに付与されるアクセス許可の説明が含まれています。
警告
Azure Cosmos DB for NoSQL のネイティブ ロールベースのアクセス制御は、notDataActions
プロパティをサポートしていません。 許可された dataAction
として指定されていないアクションは、自動的に除外されます。
組み込みアクション
ロール定義で個別に設定できるデータ アクションの一覧を次に示します。
説明 | |
---|---|
Microsoft.DocumentDB/databaseAccounts/readMetadata |
データ プレーン操作 アカウントから取得されたメタデータ を読み取ります |
Microsoft.DocumentDB/databaseAccounts/sqlDatabases/containers/items/create |
新しい項目を作成します |
Microsoft.DocumentDB/databaseAccounts/sqlDatabases/containers/items/read |
パーティション キーと一意識別子を使用してポイント読み取りを実行して、特定の項目を読み取ります |
Microsoft.DocumentDB/databaseAccounts/sqlDatabases/containers/items/replace |
既存の項目を置き換えます |
Microsoft.DocumentDB/databaseAccounts/sqlDatabases/containers/items/upsert |
新しい項目が存在しない場合、または既存の項目を置き換える場合に新しい項目を作成します |
Microsoft.DocumentDB/databaseAccounts/sqlDatabases/containers/items/delete |
アイテムを削除します |
Microsoft.DocumentDB/databaseAccounts/sqlDatabases/containers/executeQuery |
NoSQL クエリを実行します |
Microsoft.DocumentDB/databaseAccounts/sqlDatabases/containers/readChangeFeed |
コンテナーの変更フィードからの読み取り |
Microsoft.DocumentDB/databaseAccounts/sqlDatabases/containers/executeStoredProcedure |
ストアド プロシージャを実行します |
Microsoft.DocumentDB/databaseAccounts/sqlDatabases/containers/manageConflicts |
競合フィードを使用してアカウントの競合を管理する |
注
ソフトウェア開発キット (SDK) を使用して NoSQL クエリを実行するには、 Microsoft.DocumentDB/databaseAccounts/sqlDatabases/containers/executeQuery
と Microsoft.DocumentDB/databaseAccounts/sqlDatabases/containers/readChangeFeed
の両方のアクセス許可が必要です。
データ アクションのワイルドカード
ワイルドカードは、コンテナーレベルと項目レベルの両方でサポートされています。
説明 | |
---|---|
Microsoft.DocumentDB/databaseAccounts/sqlDatabases/containers/* |
クエリの実行、変更フィードの読み取り、競合の管理、ストアド プロシージャの実行など、コンテナー固有のすべての操作を実行する |
Microsoft.DocumentDB/databaseAccounts/sqlDatabases/containers/items/* |
アイテムの作成、読み取り、更新、置換、削除など、アイテム固有のすべての操作を実行する |
組み込みロール
Azure Cosmos DB for NoSQL では、データ プレーン固有のロール定義が定義されています。 これらのロールは、Azure ロールベースのアクセス制御ロール定義とは異なります。
Cosmos DB 組み込みデータ リーダー
ID: 00000000-0000-0000-0000-000000000001
-
含まれるアクション
Microsoft.DocumentDB/databaseAccounts/readMetadata
Microsoft.DocumentDB/databaseAccounts/sqlDatabases/containers/items/read
Microsoft.DocumentDB/databaseAccounts/sqlDatabases/containers/executeQuery
Microsoft.DocumentDB/databaseAccounts/sqlDatabases/containers/readChangeFeed
Cosmos DB 組み込みデータ共同作成者
ID: 00000000-0000-0000-0000-000000000002
-
含まれるアクション
Microsoft.DocumentDB/databaseAccounts/readMetadata
Microsoft.DocumentDB/databaseAccounts/sqlDatabases/containers/*
Microsoft.DocumentDB/databaseAccounts/sqlDatabases/containers/items/*
必須メタデータ
Azure Cosmos DB ソフトウェア開発キット (SDK) は、初期化中に読み取り専用メタデータ要求を発行し、特定のデータ要求を処理します。 これらの要求により、次のようなさまざまな構成の詳細がフェッチされます。
- アカウントのグローバル構成(アカウントが使用可能な Azure リージョンが含まれます)
- コンテナーまたはそのインデックス作成ポリシーのパーティション キー
- コンテナーとそのアドレスを作成する物理パーティションの一覧
- アカウントに格納されているデータはフェッチされません。
アクセス許可モデルの透明性を最大限に高めるために、これらのメタデータ要求は、 Microsoft.DocumentDB/databaseAccounts/readMetadata
データ アクションによって明示的にカバーされます。 このアクションは、Azure Cosmos DB SDK のいずれかを介して Azure Cosmos DB アカウントにアクセスするすべての状況で許可する必要があります。
アクションは、アカウント、データベース、コンテナーなど、Azure Cosmos DB アカウントの階層内の任意のレベルで割り当てることができます。 許可される実際のメタデータ要求は、スコープによって異なります。
-
アカウント
- アカウントの下にデータベースを一覧表示する
- アカウントの下のデータベースごとに、データベース スコープで許可されるアクション
-
データベース
- データベース メタデータの読み取り
- データベースの下のコンテナーを一覧表示する
- データベースの下のコンテナーごとに、コンテナー スコープで許可されるアクション
-
コンテナー
- コンテナー メタデータの読み取り
- コンテナーの下に物理パーティションを一覧表示する
- 各物理パーティションのアドレスの解決
重要
Microsoft.DocumentDB/databaseAccounts/readMetadata
データ アクションではスループットを管理できません。