Uprawnienia do odczytu i zapisu przy użyciu użytkowników pomocniczych w usłudze Azure Cosmos DB dla rdzeni wirtualnych bazy danych MongoDB (wersja zapoznawcza)
Rdzenie wirtualne usługi Azure Cosmos DB dla bazy danych MongoDB obsługują teraz użytkowników pomocniczych z wyspecjalizowanymi rolami odczytu i zapisu. Ta funkcja umożliwia użytkownikom pomocniczym uzyskiwanie dostępu do danych i modyfikowanie ich, co ułatwia delegowanie obowiązków przy jednoczesnym zwiększeniu bezpieczeństwa danych. Dzięki umożliwieniu szczegółowej kontroli dostępu zespoły mogą bezpiecznie rozszerzyć dostęp do danych do różnych uczestników projektu, takich jak deweloperzy i analitycy, bez naruszania integralności systemu.
Konfigurowanie użytkowników pomocniczych
Uwaga
Tę funkcję można włączyć/wyłączyć przy użyciu szablonu usługi ARM lub interfejsu wiersza polecenia platformy Azure w fazie wersji zapoznawczej.
Korzystanie z interfejsu wiersza polecenia platformy Azure
az resource patch --ids "/subscriptions/{SubscriptionId}/resourceGroups/{ResourceGroup}/providers/Microsoft.DocumentDB/mongoClusters/{ClusterName}" --api-version 2024-10-01-preview --properties "{\"previewFeatures\": [\"GeoReplicas\", \"EnableReadOnlyUser\"]}"
Korzystanie z szablonu usługi ARM
"previewFeatures": {
"value": [
"EnableReadOnlyUser"
]
}
Obsługiwane polecenia i przykłady
Rdzenie wirtualne bazy danych MongoDB obsługują teraz kontrolę dostępu opartą na rolach (RBAC) dla użytkowników pomocniczych z uprawnieniami do odczytu i zapisu. Dzięki temu administratorzy mogą przypisywać role, które udzielają dostępu do pomocniczych baz danych na potrzeby podstawowych operacji odczytu przy jednoczesnym ochronie podstawowej integralności danych.
Uwaga
Aby wykonać te operacje, można użyć dowolnego sterownika bazy danych MongoDB lub narzędzia mongotools, takiego jak mongosh.
Uwierzytelnianie i wykonywanie operacji za pośrednictwem protokołu Mongosh
mongosh mongodb+srv://<YOUR_USERNAME>:<YOUR_PASSWORD>@>YOUR_HOST>?tls=true&authMechanism=SCRAM-SHA-256&retrywrites=false&maxIdleTimeMS=120000
Uwaga
Upewnij się, że adres IP klienta jest dozwolony w obszarze ustawień sieci w witrynie Azure Portal.
CreateUser
Tworzy nowego użytkownika w bazie danych, w której uruchamiasz polecenie. Polecenie createUser
zwraca zduplikowany błąd użytkownika, jeśli użytkownik istnieje.
Rola administratora danych
use admin
db.runCommand(
{
createUser:"yourUserName",
pwd : "yourPassword",
roles : [
{ role:"clusterAdmin",db:"admin" },
{ role:"readWriteAnyDatabase", db:"admin" }
]
}
)
Rola ReadOnly
use admin
db.runCommand(
{
createUser:"yourUserName",
pwd : "yourPassword",
roles : [
{ role:"readAnyDatabase",db:"admin" }
]
}
)
Aktualizowanie użytkownika
Aktualizuje użytkownika w bazie danych, w której jest uruchamiane polecenie. Polecenie updateUser
obsługuje tylko aktualizowanie hasła.
use admin
db.runCommand(
{
updateUser:"<username>",
pwd : "<new cleartext password>"
}
)
Usuwanie użytkownika
Usuwa użytkownika z bazy danych, na której jest uruchamiane polecenie.
use admin
db.runCommand(
{
dropUser:"<username>"
}
)
Wyświetlanie listy użytkowników
Zwraca informacje o co najmniej jednym użytkowniku. Obsługuje również przekazywanie pojedynczego użytkownika do informacji o użytkownikach. W takim przypadku zwraca informacje o użytkowniku, jego roli itp.
use admin
db.runCommand(
{
usersInfo:1
}
)
Ograniczenia
- W klastrze można utworzyć maksymalnie 10 użytkowników/ról. Jeśli musisz dodać więcej użytkowników, otwórz bilet pomocy technicznej.
- Polecenie
Updateuser
obsługuje teraz tylko aktualizacje haseł i nie może modyfikować innych pól obiektów. - Polecenie
Roleinfo
nie jest obsługiwane w wersji zapoznawczej. Alternatywnie możesz użyć poleceniausersInfo
. - Obsługa kontroli dostępu opartej na rolach na potrzeby przypisywania ról do określonych baz danych lub kolekcji nie jest jeszcze obsługiwana.