共用方式為


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 支援。