Azure Cosmos DB for MongoDB では、ロールベースのアクセス制御システムが組み込まれており、きめ細かいロールベースのアクセス許可モデルを使用してデータ要求を承認できます。 ユーザーとロールはデータベース内にあり、Azure CLI、Azure PowerShell、または Azure Resource Manager (ARM) を使用して管理されます。
主要な概念
Azure Cosmos DB for MongoDB でロールベースのアクセス制御を使用する前に理解しておく必要がある一連の主要な概念があります。
Resource
リソースは、アクセス制御規則を適用するコレクションまたはデータベースです。
特権
特権は、特定のリソースに対して実行できるアクションです。 たとえば、"コレクション xyz への読み取りアクセス" などです。特権は特定のロールに割り当てられます。
Role
ロールには 1 つ以上の特権があります。 ロールはユーザーに割り当てられ (0 個以上)、それらの特権で定義されているアクションを実行できます。 ロールは 1 つのデータベース内に格納されます。
診断ログの監査
userIdという名前の別の列が、Azure portal の診断機能のMongoRequests テーブルに表示されます。 この列には、各データ プラン操作を実行したユーザーが表示されます。 ロールベースのアクセス制御が有効になっていない場合、この列の値は空のままです。
特権
この一覧には、Azure Cosmos DB for MongoDB のロールで使用できるすべての特権が含まれています。
- クエリと書き込み
findinsertremoveupdate
- ストリームの変更
changeStream
- データベース管理
createCollectioncreateIndexdropCollectionkillCursorskillAnyCursor
- サーバー管理
dropDatabasedropIndexreIndex
- 診断
collStatsdbStatslistDatabaseslistCollectionslistIndexes
組み込みのロール
これらのロールは、すべてのデータベースに既に存在するため、作成する必要はありません。
read |
readWrite |
dbAdmin |
dbOwner |
|
|---|---|---|---|---|
changeStream |
✅ はい | ✅ はい | ✅ はい | ✅ はい |
collStats |
✅ はい | ✅ はい | ✅ はい | ✅ はい |
listCollections |
✅ はい | ✅ はい | ✅ はい | ✅ はい |
listIndexes |
✅ はい | ✅ はい | ✅ はい | ✅ はい |
createCollection |
✖️ いいえ | ✅ はい | ✅ はい | ✅ はい |
createIndex |
✖️ いいえ | ✅ はい | ✅ はい | ✅ はい |
dropCollection |
✖️ いいえ | ✅ はい | ✅ はい | ✅ はい |
dbStats |
✖️ いいえ | ✖️ いいえ | ✅ はい | ✅ はい |
dropDatabase |
✖️ いいえ | ✖️ いいえ | ✅ はい | ✅ はい |
reIndex |
✖️ いいえ | ✖️ いいえ | ✅ はい | ✅ はい |
find |
✅ はい | ✅ はい | ✖️ いいえ | ✅ はい |
killCursors |
✅ はい | ✅ はい | ✖️ いいえ | ✅ はい |
dropIndex |
✖️ いいえ | ✅ はい | ✅ はい | ✅ はい |
insert |
✖️ いいえ | ✅ はい | ✖️ いいえ | ✅ はい |
remove |
✖️ いいえ | ✅ はい | ✖️ いいえ | ✅ はい |
update |
✖️ いいえ | ✅ はい | ✖️ いいえ | ✅ はい |