Verwalten von Berechtigungen zum Wiederherstellen eines Azure Cosmos DB-Kontos

GILT FÜR: NoSQL MongoDB Gremlin Tabelle

Mit Azure Cosmos DB können Sie die Wiederherstellungsberechtigungen für ein Konto für die fortlaufende Sicherung auf eine bestimmte Rolle oder einen Prinzipal isolieren und einschränken. Diese Berechtigungen können im Abonnementbereich oder präziser im Quellkontobereich angewendet werden, wie in der folgenden Abbildung dargestellt:

List of roles required to perform restore operation.

Bei einem Bereich handelt es sich um einen Satz von Ressourcen, die Zugriff haben. Weitere Informationen zu Bereichen finden Sie in der Azure RBAC-Dokumentation. In Azure Cosmos DB stellen das Quellabonnement und das Datenbankkonto die anwendbaren Bereiche für die meisten Anwendungsfälle dar. Der Prinzipal, der die Wiederherstellungsaktionen ausführt, muss über Schreibberechtigungen für die Zielressourcengruppe verfügen.

Zuweisen von Rollen für die Wiederherstellung im Azure-Portal

Um eine Wiederherstellung ausführen zu können, benötigt ein Benutzer oder ein Prinzipal die Berechtigung zum Wiederherstellen (d. h. die Berechtigung restore/action) und die Berechtigung zum Bereitstellen eines neuen Kontos (die Berechtigung write). Um diese Berechtigungen zu erteilen, kann der*die Besitzer*in des Abonnements einem Prinzipal die integrierten Rollen CosmosRestoreOperator und Cosmos DB Operator zuweisen.

  1. Melden Sie sich beim Azure-Portal an, und navigieren Sie zu Ihrem Abonnement. Die Rolle CosmosRestoreOperator ist auf Abonnementebene verfügbar.

  2. Wählen Sie Zugriffssteuerung (IAM) aus.

  3. Wählen Sie Hinzufügen>Rollenzuweisung hinzufügen aus, um die Seite Rollenzuweisung hinzufügen zu öffnen.

  4. Weisen Sie die folgende Rolle zu. Ausführliche Informationen finden Sie unter Zuweisen von Azure-Rollen über das Azure-Portal.

    Einstellung Wert
    Rolle CosmosRestoreOperator
    Zugriff zuweisen zu Benutzer, Gruppe oder Dienstprinzipal
    Member <Benutzer Ihrer Wahl>

    Screenshot that shows Add role assignment page in Azure portal.

  5. Wiederholen Sie Schritt 4 zum Zuweisen der Rolle Cosmos DB-Operator, um die Schreibberechtigung („write“) zu erteilen. Wenn Sie diese Rolle im Azure-Portal zuweisen, wird die Berechtigung zum Wiederherstellen für das gesamte Abonnement erteilt.

Berechtigungsbereiche

`Scope` Beispiel
Subscription /subscriptions/00000000-0000-0000-0000-000000000000
Resource group /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/Example-cosmosdb-rg
Wiederherstellbare CosmosDB-Kontoressource /subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/West US/restorableDatabaseAccounts/23e99a35-cd36-4df4-9614-f767a03b9995

Die wiederherstellbare Kontoressource kann aus der Ausgabe des Befehls az cosmosdb restorable-database-account list --account-name <accountname> (in der Befehlszeilenschnittstelle) oder des Cmdlets Get-AzCosmosDBRestorableDatabaseAccount -DatabaseAccountName <accountname> (in PowerShell) extrahiert werden. Das name-Attribut in der Ausgabe stellt die Instanz-ID (instanceID) des wiederherstellbaren Kontos dar.

Berechtigungen für das Quellkonto

Die folgenden Berechtigungen sind zum Ausführen der verschiedenen Aktivitäten im Zusammenhang mit der Wiederherstellung für Konten im fortlaufenden Sicherungsmodus erforderlich:

Hinweis

Die Berechtigung kann dem wiederherstellbaren Datenbankkonto im Konto- oder Abonnementbereich zugewiesen werden. Das Zuweisen von Berechtigungen im Ressourcengruppenbereich wird nicht unterstützt.

Berechtigung Auswirkung Mindestumfang Maximaler Bereich
Microsoft.Resources/deployments/validate/action, Microsoft.Resources/deployments/write Diese Berechtigungen sind für die ARM-Vorlagenbereitstellung zum Erstellen des wiederhergestellten Kontos erforderlich. Informationen zum Festlegen dieser Rolle finden Sie unten in der Beispielberechtigung RestorableAction. Nicht zutreffend Nicht zutreffend
Microsoft.DocumentDB/databaseAccounts/write Diese Berechtigung ist erforderlich, um ein Konto in einer Ressourcengruppe wiederherstellen zu können. Die Ressourcengruppe, unter der das wiederhergestellte Konto erstellt wird. Das Abonnement, unter dem das wiederhergestellte Konto erstellt wird.
Microsoft.DocumentDB/locations/restorableDatabaseAccounts/restore/action
Sie können die Ressourcengruppe nicht als Berechtigungsbereich auswählen.
Diese Berechtigung ist für den Bereich des wiederherstellbaren Datenbankquellkontos erforderlich, damit Wiederherstellungsaktionen dafür ausgeführt werden können. Die RestorableDatabaseAccount-Ressource, die zum wiederherzustellenden Quellkonto gehört. Dieser Wert wird auch durch die Eigenschaft ID der wiederherstellbaren Datenbankkontoressource angegeben. Beispiel für ein wiederherstellbares Konto: /subscriptions/subscriptionId/providers/Microsoft.DocumentDB/locations/regionName/restorableDatabaseAccounts/<guid-instanceid> Das Abonnement, das das wiederherstellbare Datenbankkonto enthält.
Microsoft.DocumentDB/locations/restorableDatabaseAccounts/read
Sie können die Ressourcengruppe nicht als Berechtigungsbereich auswählen.
Diese Berechtigung ist für den Bereich des wiederherstellbaren Datenbankquellkontos erforderlich, um die wiederherstellbaren Datenbankkonten auflisten zu können. Die RestorableDatabaseAccount-Ressource, die zum wiederherzustellenden Quellkonto gehört. Dieser Wert wird auch durch die Eigenschaft ID der wiederherstellbaren Datenbankkontoressource angegeben. Beispiel für ein wiederherstellbares Konto: /subscriptions/subscriptionId/providers/Microsoft.DocumentDB/locations/regionName/restorableDatabaseAccounts/<guid-instanceid> Das Abonnement, das das wiederherstellbare Datenbankkonto enthält.
Microsoft.DocumentDB/locations/restorableDatabaseAccounts/*/read
Sie können die Ressourcengruppe nicht als Berechtigungsbereich auswählen.
Diese Berechtigung ist für den Bereich des wiederherstellbaren Quellkontos erforderlich, um das Lesen von wiederherstellbaren Ressourcen wie der Liste der Datenbanken und Container für ein wiederherstellbares Konto zuzulassen. Die RestorableDatabaseAccount-Ressource, die zum wiederherzustellenden Quellkonto gehört. Dieser Wert wird auch durch die Eigenschaft ID der wiederherstellbaren Datenbankkontoressource angegeben. Beispiel für ein wiederherstellbares Konto: /subscriptions/subscriptionId/providers/Microsoft.DocumentDB/locations/regionName/restorableDatabaseAccounts/<guid-instanceid> Das Abonnement, das das wiederherstellbare Datenbankkonto enthält.

Berechtigungen für das Zielkonto

Die folgenden Berechtigungen sind zum Ausführen der verschiedenen Aktivitäten im Zusammenhang mit der Wiederherstellung für Konten im fortlaufenden Sicherungsmodus erforderlich:

Berechtigung Auswirkung
Microsoft.Resources/deployments/validate/action, Microsoft.Resources/deployments/write Diese Berechtigungen sind für die ARM-Vorlagenbereitstellung zum Erstellen des wiederhergestellten Kontos erforderlich. Informationen zum Festlegen dieser Rolle finden Sie unten in der Beispielberechtigung RestorableAction.
Microsoft.DocumentDB/databaseAccounts/write Diese Berechtigung ist erforderlich, um ein Konto in einer Ressourcengruppe wiederherstellen zu können.

Azure CLI-Rollenzuweisungsszenarien für die Wiederherstellung in unterschiedlichen Bereichen

Rollen mit Berechtigungen können verschiedenen Bereichen zugewiesen werden, um eine präzise Kontrolle darüber zu erhalten, wer den Wiederherstellungsvorgang innerhalb eines Abonnements oder eines bestimmten Kontos ausführen kann.

Zuweisen der Fähigkeit zur Wiederherstellung von einem beliebigen wiederherstellbaren Konto in einem Abonnement

  • Zuweisen der integrierten Rolle CosmosRestoreOperator zur spezifischen Abonnementebene
az role assignment create --role "CosmosRestoreOperator" --assignee <email> --scope /subscriptions/<subscriptionId>

Zuweisen der Fähigkeit zur Wiederherstellung von einem bestimmten Konto

  • Weisen Sie einem Benutzer eine Schreibaktion für die entsprechende Ressourcengruppe zu. Diese Aktion ist erforderlich, um ein neues Konto in der Ressourcengruppe erstellen zu können.
  • Weisen Sie dem spezifischen wiederherstellbaren Datenbankkonto, das wiederhergestellt werden muss, die integrierte Rolle CosmosRestoreOperator zu. Im folgenden Befehl wird der Bereich für RestorableDatabaseAccount aus der ID-Eigenschaft des Ausführungsergebnisses von az cosmosdb restorable-database-account list (bei Verwendung der CLI) oder Get-AzCosmosDBRestorableDatabaseAccount (bei Verwendung von PowerShell) extrahiert
az role assignment create --role "CosmosRestoreOperator" --assignee <email> --scope  <RestorableDatabaseAccount>

Zuweisen der Fähigkeit zur Wiederherstellung von einem beliebigen Quellkonto in einer Ressourcengruppe

Dieser Vorgang wird derzeit nicht unterstützt.

Erstellen von benutzerdefinierten Rollen für Wiederherstellungsaktionen mit der CLI

Abonnementbesitzer*innen können die Berechtigung zum Wiederherstellen für jede andere Microsoft Entra-Identität bereitstellen. Die Berechtigung zum Wiederherstellen basiert auf der Aktion Microsoft.DocumentDB/locations/restorableDatabaseAccounts/restore/action, und sie sollte in die entsprechende „restore“-Berechtigung eingeschlossen werden. Es gibt eine integrierte Rolle namens CosmosRestoreOperator, die diese Rolle enthält. Sie können die Berechtigung entweder mithilfe dieser integrierten Rolle zuweisen oder eine benutzerdefinierte Rolle erstellen.

Die folgende Rolle „RestorableAction“ stellt eine benutzerdefinierte Rolle dar. Sie müssen diese Rolle explizit erstellen. Mit der folgenden JSON-Vorlage wird eine benutzerdefinierte Rolle RestorableAction mit der Berechtigung zum Wiederherstellen erstellt:

{
  "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"
}

Verwenden Sie als Nächstes den folgenden Vorlagenbereitstellungsbefehl, um mithilfe der ARM-Vorlage eine Rolle mit der Berechtigung zum Wiederherstellen zu erstellen:

az role definition create --role-definition <JSON_Role_Definition_Path>

Nächste Schritte