Zarządzanie uprawnieniami do przywracania konta usługi Azure Cosmos DB
DOTYCZY: NoSQL MongoDB Gremlin Stół
Usługa Azure Cosmos DB umożliwia izolowanie i ograniczanie uprawnień przywracania dla konta ciągłej kopii zapasowej do określonej roli lub podmiotu zabezpieczeń. Te uprawnienia można zastosować w zakresie subskrypcji lub bardziej szczegółowo w zakresie konta źródłowego, jak pokazano na poniższej ilustracji:
Zakres to zestaw zasobów, które mają dostęp, aby dowiedzieć się więcej na temat zakresów, zobacz dokumentację RBAC platformy Azure. W usłudze Azure Cosmos DB odpowiednie zakresy to źródłowa subskrypcja i konto bazy danych dla większości przypadków użycia. Podmiot zabezpieczeń wykonujący akcje przywracania powinien mieć uprawnienia do zapisu do docelowej grupy zasobów.
Przypisywanie ról do przywracania przy użyciu witryny Azure Portal
Aby wykonać przywracanie, użytkownik lub podmiot zabezpieczeń musi mieć uprawnienie do przywracania (czyli uprawnienia do przywracania/ działania) i uprawnienia do aprowizacji nowego konta (czyli uprawnienia do zapisu ). Aby przyznać te uprawnienia, właściciel subskrypcji może przypisać CosmosRestoreOperator
role wbudowane i Cosmos DB Operator
do podmiotu zabezpieczeń.
Zaloguj się do witryny Azure Portal i przejdź do subskrypcji. Rola
CosmosRestoreOperator
jest dostępna na poziomie subskrypcji.Wybierz pozycję Kontrola dostępu (IAM).
Wybierz pozycję Dodaj>przypisanie roli, aby otworzyć stronę Dodawanie przypisania roli.
Przypisz następującą rolę. Aby uzyskać szczegółowe instrukcje, zobacz Przypisywanie ról platformy Azure przy użyciu witryny Azure Portal.
Ustawienie Wartość Rola CosmosRestoreOperator Przypisz dostęp do Użytkownik, grupa lub jednostka usługi Elementy członkowskie <Wybrany użytkownik> Powtórz krok 4 z rolą Operator usługi Cosmos DB, aby przyznać uprawnienie do zapisu. Podczas przypisywania tej roli z witryny Azure Portal udziela uprawnień przywracania do całej subskrypcji.
Zakresy uprawnień
Scope | Przykład |
---|---|
Subskrypcja | /subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeee4e4e4e4e |
Grupa zasobów | /subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeee4e4e4e/resourceGroups/Example-cosmosdb-rg |
Zasób konta możliwego do przywrócenia w usłudze CosmosDB | /subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeee4e4e4e/providers/Microsoft.DocumentDB/locations/West US/restorableDatabaseAccounts/aaaa0a0a-bb1b-cc2c-dd3d-e4e4e4e4e |
Zasób konta możliwego do przywrócenia można wyodrębnić z danych wyjściowych az cosmosdb restorable-database-account list --account-name <accountname>
polecenia w interfejsie wiersza polecenia lub Get-AzCosmosDBRestorableDatabaseAccount -DatabaseAccountName <accountname>
w programie PowerShell. Atrybut name w danych wyjściowych reprezentuje instanceID
konto możliwe do przywrócenia.
Uprawnienia do konta źródłowego
Do wykonania różnych działań odnoszących się do przywracania dla kont trybu ciągłej kopii zapasowej są wymagane następujące uprawnienia:
Uwaga
Uprawnienie można przypisać do możliwego do przywrócenia konta bazy danych w zakresie konta lub zakresie subskrypcji. Przypisywanie uprawnień w zakresie grupy zasobów nie jest obsługiwane.
Uprawnienie | Wpływ | Minimalny zakres | Maksymalny zakres |
---|---|---|---|
Microsoft.Resources/deployments/validate/action , Microsoft.Resources/deployments/write |
Te uprawnienia są wymagane do wdrożenia szablonu usługi ARM w celu utworzenia przywróconego konta. Zapoznaj się z przykładowym uprawnieniem RestorableAction poniżej, aby dowiedzieć się, jak ustawić tę rolę. | Nie dotyczy | Nie dotyczy |
Microsoft.DocumentDB/databaseAccounts/write |
To uprawnienie jest wymagane do przywrócenia konta do grupy zasobów | Grupa zasobów, w ramach której zostało utworzone przywrócone konto. | Subskrypcja, w ramach której zostało utworzone przywrócone konto |
Microsoft.DocumentDB/locations/restorableDatabaseAccounts/restore/action Nie można wybrać grupy zasobów jako zakresu uprawnień. |
To uprawnienie jest wymagane w zakresie źródłowego konta bazy danych z możliwością przywracania, aby umożliwić wykonywanie na nim akcji przywracania. | Zasób RestorableDatabaseAccount należący do przywracanego konta źródłowego. Ta wartość jest również podawana ID przez właściwość zasobu konta bazy danych możliwego do przywrócenia. Przykładem możliwego do przywrócenia konta jest /subscriptions/subscriptionId/providers/Microsoft.DocumentDB/locations/regionName/restorableDatabaseAccounts/<guid-instanceid> |
Subskrypcja zawierająca konto bazy danych, które można przywrócić. |
Microsoft.DocumentDB/locations/restorableDatabaseAccounts/read Nie można wybrać grupy zasobów jako zakresu uprawnień. |
To uprawnienie jest wymagane w zakresie źródłowego konta bazy danych, które można przywrócić, aby wyświetlić listę kont bazy danych, które można przywrócić. | Zasób RestorableDatabaseAccount należący do przywracanego konta źródłowego. Ta wartość jest również podawana ID przez właściwość zasobu konta bazy danych możliwego do przywrócenia. Przykładem możliwego do przywrócenia konta jest /subscriptions/subscriptionId/providers/Microsoft.DocumentDB/locations/regionName/restorableDatabaseAccounts/<guid-instanceid> |
Subskrypcja zawierająca konto bazy danych, które można przywrócić. |
Microsoft.DocumentDB/locations/restorableDatabaseAccounts/*/read Nie można wybrać grupy zasobów jako zakresu uprawnień. |
To uprawnienie jest wymagane w zakresie konta możliwego do przywrócenia źródła, aby umożliwić odczytywanie zasobów możliwych do przywrócenia, takich jak lista baz danych i kontenerów dla konta możliwego do przywrócenia. | Zasób RestorableDatabaseAccount należący do przywracanego konta źródłowego. Ta wartość jest również podawana ID przez właściwość zasobu konta bazy danych możliwego do przywrócenia. Przykładem możliwego do przywrócenia konta jest /subscriptions/subscriptionId/providers/Microsoft.DocumentDB/locations/regionName/restorableDatabaseAccounts/<guid-instanceid> |
Subskrypcja zawierająca konto bazy danych, które można przywrócić. |
Uprawnienia na koncie docelowym
Do wykonania różnych działań odnoszących się do przywracania dla kont trybu ciągłej kopii zapasowej są wymagane następujące uprawnienia:
Uprawnienie | Wpływ |
---|---|
Microsoft.Resources/deployments/validate/action , Microsoft.Resources/deployments/write |
Te uprawnienia są wymagane do wdrożenia szablonu usługi ARM w celu utworzenia przywróconego konta. Zapoznaj się z przykładowym uprawnieniem RestorableAction poniżej, aby dowiedzieć się, jak ustawić tę rolę. |
Microsoft.DocumentDB/databaseAccounts/write |
To uprawnienie jest wymagane do przywrócenia konta do grupy zasobów |
Scenariusze przypisywania ról interfejsu wiersza polecenia platformy Azure do przywracania w różnych zakresach
Role z uprawnieniami można przypisać do różnych zakresów, aby uzyskać szczegółową kontrolę nad tym, kto może wykonać operację przywracania w ramach subskrypcji lub danego konta.
Przypisywanie możliwości przywracania z dowolnego konta możliwego do przywrócenia w subskrypcji
- Przypisywanie wbudowanej
CosmosRestoreOperator
roli do określonego poziomu subskrypcji
az role assignment create --role "CosmosRestoreOperator" --assignee <email> --scope /subscriptions/<subscriptionId>
Przypisywanie możliwości przywracania z określonego konta
- Przypisz akcję zapisu użytkownika dla określonej grupy zasobów. Ta akcja jest wymagana do utworzenia nowego konta w grupie zasobów.
- Przypisz wbudowaną
CosmosRestoreOperator
rolę do określonego przywracalnego konta bazy danych, które należy przywrócić. W poniższym poleceniu zakres właściwościRestorableDatabaseAccount
jest wyodrębniany zID
właściwości wyniku wykonaniaaz cosmosdb restorable-database-account list
(jeśli używasz interfejsu wiersza polecenia) lubGet-AzCosmosDBRestorableDatabaseAccount
(w przypadku korzystania z programu PowerShell)
az role assignment create --role "CosmosRestoreOperator" --assignee <email> --scope <RestorableDatabaseAccount>
Przypisz możliwość przywracania z dowolnego konta źródłowego w grupie zasobów.
Ta operacja nie jest obecnie obsługiwana.
Niestandardowe tworzenie roli na potrzeby akcji przywracania za pomocą interfejsu wiersza polecenia
Właściciel subskrypcji może udzielić uprawnień do przywracania do dowolnej innej tożsamości firmy Microsoft Entra. Uprawnienie do przywracania jest oparte na akcji : Microsoft.DocumentDB/locations/restorableDatabaseAccounts/restore/action
, i powinno zostać uwzględnione w ich uprawnieniach do przywracania. Istnieje wbudowana rola o nazwie CosmosRestoreOperator , która ma tę rolę. Uprawnienie można przypisać przy użyciu tej wbudowanej roli lub utworzyć rolę niestandardową.
Poniższa funkcja RestorableAction reprezentuje rolę niestandardową. Musisz jawnie utworzyć tę rolę. Poniższy szablon JSON tworzy niestandardową rolę RestoreableAction z uprawnieniem do przywracania:
{
"assignableScopes": [
"/subscriptions/bbbb1b1b-cc2c-dd3d-ee4e-ffffff5f5f5f"
],
"description": "Can do a restore request for any Azure Cosmos DB database account with continuous backup",
"permissions": [
{
"actions": [
"Microsoft.Resources/deployments/validate/action",
"Microsoft.DocumentDB/databaseAccounts/write",
"Microsoft.Resources/deployments/write",
"Microsoft.DocumentDB/locations/restorableDatabaseAccounts/restore/action",
"Microsoft.DocumentDB/locations/restorableDatabaseAccounts/read",
"Microsoft.DocumentDB/locations/restorableDatabaseAccounts/*/read"
],
"dataActions": [],
"notActions": [],
"notDataActions": []
}
],
"Name": "RestorableAction",
"roleType": "CustomRole"
}
Następnie użyj następującego polecenia wdrażania szablonu, aby utworzyć rolę z uprawnieniem do przywracania przy użyciu szablonu usługi ARM:
az role definition create --role-definition <JSON_Role_Definition_Path>
Następne kroki
- Aprowizuj ciągłą kopię zapasową przy użyciu witryny Azure Portal, programu PowerShell, interfejsu wiersza polecenia lub usługi Azure Resource Manager.
- Pobierz najnowszy znacznik czasu możliwy do przywrócenia dla kont SQL i MongoDB.
- Przywróć konto przy użyciu witryny Azure Portal, programu PowerShell, interfejsu wiersza polecenia lub usługi Azure Resource Manager.
- Migrowanie do konta z okresowej kopii zapasowej do ciągłej kopii zapasowej.
- Model zasobów trybu ciągłej kopii zapasowej