Azure Cosmos DB for MongoDB 虛擬核心上的次要使用者讀取和讀取/寫入許可權 (預覽)
適用於 MongoDB 的 Azure Cosmos DB 虛擬核心現在支援具有特製化讀寫角色的次要使用者。 這項功能可讓次要使用者存取和修改數據,讓您更輕鬆地委派責任,同時增強數據安全性。 藉由允許細微的訪問控制,小組可以自信地將數據存取延伸至各種項目關係人,例如開發人員和分析師,而不會影響系統完整性。
設定次要使用者
注意
您可以在預覽階段使用ARM樣本或透過 Azure CLI 來啟用/停用此功能。
使用 Azure CLI
az resource patch --ids "/subscriptions/{SubscriptionId}/resourceGroups/{ResourceGroup}/providers/Microsoft.DocumentDB/mongoClusters/{ClusterName}" --api-version 2024-10-01-preview --properties "{\"previewFeatures\": [\"GeoReplicas\", \"EnableReadOnlyUser\"]}"
使用 ARM 範本
"previewFeatures": {
"value": [
"EnableReadOnlyUser"
]
}
支援的命令和範例
MongoDB 虛擬核心現在支援具有讀取和寫入許可權的次要使用者角色型 存取控制 (RBAC)。 這可讓系統管理員指派角色,授與輔助數據庫存取權以進行基本讀取作業,同時保護主要數據完整性。
注意
您可以使用任何 MongoDB 驅動程式或 mongotools,例如 mongosh 來執行這些作業。
透過 Mongosh 驗證和執行作業
mongosh mongodb+srv://<YOUR_USERNAME>:<YOUR_PASSWORD>@>YOUR_HOST>?tls=true&authMechanism=SCRAM-SHA-256&retrywrites=false&maxIdleTimeMS=120000
注意
請務必在 Azure 入口網站 上的網路設定下,將您的用戶端 IP 列入允許清單。
CreateUser
在您執行命令的資料庫上建立新的使用者。 如果使用者存在,此命令 createUser
會傳回重複的用戶錯誤。
數據管理員角色
use admin
db.runCommand(
{
createUser:"yourUserName",
pwd : "yourPassword",
roles : [
{ role:"clusterAdmin",db:"admin" },
{ role:"readWriteAnyDatabase", db:"admin" }
]
}
)
ReadOnly 角色
use admin
db.runCommand(
{
createUser:"yourUserName",
pwd : "yourPassword",
roles : [
{ role:"readAnyDatabase",db:"admin" }
]
}
)
更新使用者
在執行命令的資料庫上更新使用者。 命令 updateUser
僅支援更新密碼。
use admin
db.runCommand(
{
updateUser:"<username>",
pwd : "<new cleartext password>"
}
)
卸除使用者
從您執行命令的資料庫移除使用者。
use admin
db.runCommand(
{
dropUser:"<username>"
}
)
列出使用者
傳回一或多個用戶的相關信息。 它也支援將單一用戶傳入usersInfo。 在此情況下,它會傳回使用者的相關信息、其角色等。
use admin
db.runCommand(
{
usersInfo:1
}
)
限制
- 每個叢集最多可以建立10個使用者/角色。 如果您需要新增更多使用者,請開啟 支援票證。
- 命令
Updateuser
現在只支持密碼更新,而且無法修改其他物件欄位。 Roleinfo
預覽版不支援命令。 或者,您可以使用usersInfo
。- 尚未支援將角色指派給特定資料庫或集合的 RBAC 支援。