Zarządzanie uprawnieniami do przywracania konta usługi Azure Cosmos DB

DOTYCZY: Nosql Mongodb Gremlin Tabeli

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:

List of roles required to perform restore operation.

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ń.

  1. Zaloguj się do witryny Azure Portal i przejdź do subskrypcji. Rola CosmosRestoreOperator jest dostępna na poziomie subskrypcji.

  2. Wybierz pozycję Kontrola dostępu (IAM) .

  3. Wybierz pozycję Dodaj>przypisanie roli, aby otworzyć stronę Dodawanie przypisania roli.

  4. 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
    Członkowie <Wybrany użytkownik>

    Screenshot that shows Add role assignment page in Azure portal.

  5. 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ń

Zakres Przykład
Subskrypcja /subscriptions/000000000-0000-0000-0000-00000000000000
Grupa zasobów /subscriptions/000000000-0000-0000-0000-00000000000000/resourceGroups/Example-cosmosdb-rg
Zasób konta możliwego do przywrócenia w usłudze CosmosDB /subscriptions/00000000-0000-0000-0000-0000000000000/providers/Microsoft.DocumentDB/locations/West US/restorableDatabaseAccounts/23e99a35-cd36-4df4-9614-f767a03b9995

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ści RestorableDatabaseAccount jest wyodrębniany z ID właściwości wyniku wykonania az cosmosdb restorable-database-account list(jeśli używasz interfejsu wiersza polecenia) lub Get-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/23587e98-b6ac-4328-a753-03bcd3c8e744"
  ],
  "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