你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn

通过 Azure Cosmos DB for MongoDB vCore 上的辅助用户提供的读取和读写权限(预览版)

Azure Cosmos DB for MongoDB vCore 现在支持具有专用读写角色的辅助用户。 此功能使辅助用户能够访问和修改数据,这样便可更轻松地委派职责,同时增强数据安全性。 通过允许精细的访问控制,团队可以自信地将数据访问权限扩展到各种利益干系人(如开发人员和分析师),而不会损害系统的完整性。

配置辅助用户

注意

你可以在预览阶段使用 ARM 模板或通过 Azure CLI 启用/禁用此功能。

"previewFeatures": {
            "value": [
                "EnableReadOnlyUser"
            ]
        }

支持的命令和示例

MongoDB vCore 现在支持针对具有读取写权限的辅助用户提供基于角色的访问控制 (RBAC)。 这样,管理员就可以通过分配角色授予对辅助数据库执行基本读取操作所需的访问权限,同时保护主要数据的完整性。

注意

你可以使用任何 MongoDB 驱动程序或 mongo 工具(如 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" }
        ]
    }
)

只读角色

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