Hantera behörigheter för att återställa ett Azure Cosmos DB-konto

GÄLLER FÖR: Nosql Mongodb Gremlin Tabell

Med Azure Cosmos DB kan du isolera och begränsa återställningsbehörigheterna för kontot för kontinuerlig säkerhetskopiering till en specifik roll eller ett huvudnamn. Dessa behörigheter kan tillämpas i prenumerationsomfånget eller mer detaljerat i källkontots omfång enligt följande bild:

List of roles required to perform restore operation.

Omfång är en uppsättning resurser som har åtkomst. Mer information om omfång finns i Azure RBAC-dokumentationen. I Azure Cosmos DB är tillämpliga omfång källprenumeration och databaskonto för de flesta användningsfall. Huvudnamnet som utför återställningsåtgärderna ska ha skrivbehörighet till målresursgruppen.

Tilldela roller för återställning med hjälp av Azure-portalen

För att kunna utföra en återställning behöver en användare eller ett huvudnamn behörigheten att återställa (dvs . återställnings-/åtgärdsbehörighet ) och behörighet att etablera ett nytt konto (dvs . skrivbehörighet ). För att bevilja dessa behörigheter kan prenumerationens ägare tilldela och CosmosRestoreOperatorCosmos DB Operator inbyggda roller till ett huvudnamn.

  1. Logga in på Azure-portalen och gå till din prenumeration. Rollen CosmosRestoreOperator är tillgänglig på prenumerationsnivå.

  2. Välj Åtkomstkontroll (IAM) .

  3. Välj Lägg till>rolltilldelning för att öppna sidan Lägg till rolltilldelning.

  4. Tilldela följande roll. Läs mer om att tilldela roller i Tilldela Azure-roller via Azure Portal.

    Inställning Värde
    Roll CosmosRestoreOperator
    Tilldela åtkomst till Användaren, gruppen eller tjänstens huvudnamn
    Members <Valfri användare>

    Screenshot that shows Add role assignment page in Azure portal.

  5. Upprepa steg 4 med rollen Cosmos DB-operator för att bevilja skrivbehörigheten. När du tilldelar den här rollen från Azure-portalen ger den återställningsbehörighet till hela prenumerationen.

Omfattning för behörighet

Omfång Exempel
Prenumeration /subscriptions/00000000-0000-0000-0000-000000000000
Resursgrupp /subscriptions/00000000-0000-0000-0000-0000000000000/resourceGroups/Example-cosmosdb-rg
CosmosDB-återställningsbar kontoresurs /subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/West US/restorableDatabaseAccounts/23e99a35-cd36-4df4-9614-f767a03b9995

Den återställningsbara kontoresursen kan extraheras från utdata az cosmosdb restorable-database-account list --account-name <accountname> från kommandot i CLI eller Get-AzCosmosDBRestorableDatabaseAccount -DatabaseAccountName <accountname> cmdleten i PowerShell. Namnattributet i utdata representerar instanceID det återställningsbara kontot.

Behörigheter för källkontot

Följande behörigheter krävs för att utföra de olika aktiviteter som rör återställning för konton för kontinuerligt säkerhetskopieringsläge:

Kommentar

Behörighet kan tilldelas till ett återställningsbart databaskonto i kontoomfånget eller prenumerationsomfånget. Det går inte att tilldela behörigheter i resursgruppsomfånget.

Behörighet Påverkan Minsta omfång Maximalt omfång
Microsoft.Resources/deployments/validate/action, Microsoft.Resources/deployments/write Dessa behörigheter krävs för distributionen av ARM-mallen för att skapa det återställde kontot. Se exempelbehörigheten RestorableAction nedan för hur du anger den här rollen. Gäller inte Gäller inte
Microsoft.DocumentDB/databaseAccounts/write Den här behörigheten krävs för att återställa ett konto till en resursgrupp Resursgrupp under vilken det återställde kontot skapas. Prenumeration under vilken det återställde kontot skapas
Microsoft.DocumentDB/locations/restorableDatabaseAccounts/restore/action
Du kan inte välja resursgrupp som behörighetsomfång.
Den här behörigheten krävs för omfånget för källåterställningsbara databaskonton för att återställningsåtgärder ska kunna utföras på den. Resursen RestoreableDatabaseAccount som tillhör källkontot som återställs. Det här värdet anges också av ID egenskapen för den återställningsbara databaskontoresursen. Ett exempel på ett återställningsbart konto är /subscriptions/subscriptionId/providers/Microsoft.DocumentDB/locations/regionName/restorableDatabaseAccounts/<guid-instanceid> Prenumerationen som innehåller det återställningsbara databaskontot.
Microsoft.DocumentDB/locations/restorableDatabaseAccounts/read
Du kan inte välja resursgrupp som behörighetsomfång.
Den här behörigheten krävs för omfånget för källåterställningsbara databaskonton för att lista de databaskonton som kan återställas. Resursen RestoreableDatabaseAccount som tillhör källkontot som återställs. Det här värdet anges också av ID egenskapen för den återställningsbara databaskontoresursen. Ett exempel på ett återställningsbart konto är /subscriptions/subscriptionId/providers/Microsoft.DocumentDB/locations/regionName/restorableDatabaseAccounts/<guid-instanceid> Prenumerationen som innehåller det återställningsbara databaskontot.
Microsoft.DocumentDB/locations/restorableDatabaseAccounts/*/read
Du kan inte välja resursgrupp som behörighetsomfång.
Den här behörigheten krävs för källåterställbart kontoomfång för att tillåta läsning av återställningsbara resurser, till exempel lista över databaser och containrar för ett återställningsbart konto. Resursen RestoreableDatabaseAccount som tillhör källkontot som återställs. Det här värdet anges också av ID egenskapen för den återställningsbara databaskontoresursen. Ett exempel på ett återställningsbart konto är /subscriptions/subscriptionId/providers/Microsoft.DocumentDB/locations/regionName/restorableDatabaseAccounts/<guid-instanceid> Prenumerationen som innehåller det återställningsbara databaskontot.

Behörigheter för målkontot

Följande behörigheter krävs för att utföra de olika aktiviteter som rör återställning för konton för kontinuerligt säkerhetskopieringsläge:

Behörighet Påverkan
Microsoft.Resources/deployments/validate/action, Microsoft.Resources/deployments/write Dessa behörigheter krävs för distributionen av ARM-mallen för att skapa det återställde kontot. Se exempelbehörigheten RestorableAction nedan för hur du anger den här rollen.
Microsoft.DocumentDB/databaseAccounts/write Den här behörigheten krävs för att återställa ett konto till en resursgrupp

Scenarier för Azure CLI-rolltilldelning för återställning i olika omfång

Roller med behörighet kan tilldelas till olika omfång för att få detaljerad kontroll över vem som kan utföra återställningsåtgärden i en prenumeration eller ett visst konto.

Tilldela möjlighet att återställa från alla återställningsbara konton i en prenumeration

  • Tilldela den CosmosRestoreOperator inbyggda rollen till den specifika prenumerationsnivån
az role assignment create --role "CosmosRestoreOperator" --assignee <email> --scope /subscriptions/<subscriptionId>

Tilldela funktioner för att återställa från ett specifikt konto

  • Tilldela en användarskrivningsåtgärd för den specifika resursgruppen. Den här åtgärden krävs för att skapa ett nytt konto i resursgruppen.
  • Tilldela den CosmosRestoreOperator inbyggda rollen till det specifika återställningsbara databaskontot som måste återställas. I följande kommando extraheras omfånget RestorableDatabaseAccount för egenskapen för ID resultatet av körningen av az cosmosdb restorable-database-account list(om du använder CLI) eller Get-AzCosmosDBRestorableDatabaseAccount(om du använder PowerShell)
az role assignment create --role "CosmosRestoreOperator" --assignee <email> --scope  <RestorableDatabaseAccount>

Tilldela möjlighet att återställa från valfritt källkonto i en resursgrupp.

Den här åtgärden stöds för närvarande inte.

Skapa anpassad roll för återställningsåtgärd med CLI

Prenumerationsägaren kan ge behörighet att återställa till alla andra Microsoft Entra-identiteter. Återställningsbehörigheten baseras på åtgärden: Microsoft.DocumentDB/locations/restorableDatabaseAccounts/restore/action, och den bör ingå i deras återställningsbehörighet. Det finns en inbyggd roll med namnet CosmosRestoreOperator som har den här rollen inkluderad. Du kan antingen tilldela behörigheten med den här inbyggda rollen eller skapa en anpassad roll.

RestorableAction nedan representerar en anpassad roll. Du måste uttryckligen skapa den här rollen. Följande JSON-mall skapar en anpassad roll RestoreableAction med återställningsbehörighet:

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

Använd sedan följande malldistributionskommando för att skapa en roll med återställningsbehörighet med hjälp av ARM-mallen:

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

Nästa steg