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:
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.
Logga in på Azure Portal och gå till din prenumeration. Rollen
CosmosRestoreOperator
är tillgänglig på prenumerationsnivå.Välj Åtkomstkontroll (IAM) .
Välj Lägg till>rolltilldelning för att öppna sidan Lägg till rolltilldelning.
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> 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ångetRestorableDatabaseAccount
för egenskapen förID
resultatet av körningen avaz cosmosdb restorable-database-account list
(om du använder CLI) ellerGet-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
- Etablera kontinuerlig säkerhetskopiering med hjälp av Azure Portal, PowerShell, CLI eller Azure Resource Manager.
- Hämta den senaste återställningsbara tidsstämpeln för SQL- och MongoDB-konton.
- Återställ ett konto med hjälp av Azure Portal, PowerShell, CLI eller Azure Resource Manager.
- Migrera till ett konto från periodisk säkerhetskopiering till kontinuerlig säkerhetskopiering.
- Resursmodell för läget för kontinuerlig säkerhetskopiering