適用於 MongoDB 的 Azure Cosmos DB 會公開內建的角色型存取控制系統,可讓您使用精細的角色型許可權模型來授權資料要求。 使用者和角色位於資料庫內,並使用 Azure CLI、Azure PowerShell 或 Azure Resource Manager (ARM) 進行管理。
核心概念
在適用於 MongoDB 的 Azure Cosmos DB 中使用角色型存取控制之前,您必須先瞭解一組核心概念。
Resource
資源是我們套用存取控制規則的集合或資料庫。
Privileges
權限是可以在特定資源上執行的動作。 例如,「集合 xyz 的讀取存取權」。權限會指派給特定角色。
Role
角色具有一或多個權限。 角色會指派給使用者 (零個或多個),以讓他們執行這些權限中定義的動作。 角色儲存在單一資料庫中。
診斷記錄稽核
另一個名為 userId 的資料行會出現在 Azure 入口網站診斷功能的資料表中 MongoRequests 。 此欄顯示哪個使用者執行了每個資料計劃作業。 當未啟用角色型存取控制時,此資料行中的值會保持空白。
Privileges
此清單包含適用於 MongoDB 的 Azure Cosmos DB 中角色可用的所有許可權。
- 查詢和寫入
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 |
✖️ 不 | ✅ 是 | ✖️ 不 | ✅ 是 |