Dela via


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

GÄLLER FÖR: NoSQL MongoDB Gremlin Bord

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:

Lista över roller som krävs för att utföra återställningsåtgärden.

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 Portal

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 CosmosRestoreOperator Cosmos DB Operator inbyggda roller till ett huvudnamn.

  1. Logga in på Azure Portal 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
    Medlemmar <Valfri användare>

    Skärmbild som visar sidan Lägg till rolltilldelning i 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 Portal ger den återställningsbehörighet till hela prenumerationen.

Omfattning för behörighet

Omfattning Exempel
Prenumeration /subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e4e
Resursgrupp /subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e4e/resourceGroups/Example-cosmosdb-rg
CosmosDB-återställningsbar kontoresurs /subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/providers/Microsoft.DocumentDB/locations/West US/restorableDatabaseAccounts/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e4e

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. Ej tillämpligt Ej tillämpligt
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/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"
}

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