Oprávnění ke čtení a zápisu se sekundárními uživateli ve službě Azure Cosmos DB pro virtuální jádro MongoDB (Preview)
Virtuální jádro Azure Cosmos DB pro MongoDB teď podporuje sekundární uživatele se specializovanými rolemi pro čtení i zápis. Tato funkce umožňuje sekundárním uživatelům přístup k datům a jejich úpravu, což usnadňuje delegování zodpovědností při vylepšování zabezpečení dat. Díky povolení podrobného řízení přístupu můžou týmy s jistotou rozšířit přístup k datům různým zúčastněným stranám, jako jsou vývojáři a analytici, aniž by to ovlivnilo integritu systému.
Konfigurace sekundárních uživatelů
Poznámka:
Tuto funkci můžete povolit nebo zakázat pomocí šablony ARM nebo azure CLI během fáze Preview.
Pomocí 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\"]}"
Použití šablony Resource Manageru
"previewFeatures": {
"value": [
"EnableReadOnlyUser"
]
}
Podporované příkazy a příklady
Virtuální jádro MongoDB teď podporuje řízení přístupu na základě role (RBAC) pro sekundární uživatele s oprávněními ke čtení a zápisu. Správci tak můžou přiřazovat role, které udělují přístup sekundárním databázím pro základní operace čtení při ochraně integrity primárních dat.
Poznámka:
K provedení těchto operací můžete použít kterýkoli z ovladačů MongoDB nebo mongotools, jako je mongosh.
Ověřování a provádění operací přes Mongosh
mongosh mongodb+srv://<YOUR_USERNAME>:<YOUR_PASSWORD>@>YOUR_HOST>?tls=true&authMechanism=SCRAM-SHA-256&retrywrites=false&maxIdleTimeMS=120000
Poznámka:
Ujistěte se, že jste ip adresu klienta povolili v nastavení sítě na webu Azure Portal.
CreateUser
Vytvoří nového uživatele v databázi, ve které příkaz spustíte. Příkaz createUser
vrátí duplicitní chybu uživatele, pokud uživatel existuje.
Role správce dat
use admin
db.runCommand(
{
createUser:"yourUserName",
pwd : "yourPassword",
roles : [
{ role:"clusterAdmin",db:"admin" },
{ role:"readWriteAnyDatabase", db:"admin" }
]
}
)
Role Jen pro čtení
use admin
db.runCommand(
{
createUser:"yourUserName",
pwd : "yourPassword",
roles : [
{ role:"readAnyDatabase",db:"admin" }
]
}
)
Aktualizace uživatele
Aktualizuje uživatele v databázi, ve které příkaz spustíte. Příkaz updateUser
podporuje pouze aktualizaci hesla.
use admin
db.runCommand(
{
updateUser:"<username>",
pwd : "<new cleartext password>"
}
)
Přetažení uživatele
Odebere uživatele z databáze, na které příkaz spustíte.
use admin
db.runCommand(
{
dropUser:"<username>"
}
)
Vypsání uživatelů
Vrátí informace o jednom nebo více uživatelích. Podporuje také předávání jednoho uživatele do usersInfo. V takovém případě vrátí informace o uživateli, jeho roli atd.
use admin
db.runCommand(
{
usersInfo:1
}
)
Omezení
- Pro každý cluster můžete vytvořit až 10 uživatelů a rolí. Pokud potřebujete přidat další uživatele, otevřete lístek podpory.
- Příkaz
Updateuser
teď podporuje pouze aktualizace hesel a nemůže upravovat jiná pole objektů. - Příkaz
Roleinfo
není ve verzi Preview podporovaný. Alternativně můžete použítusersInfo
. - Podpora RBAC pro přiřazování rolí konkrétním databázím nebo kolekcím se zatím nepodporuje.