Správa oprávnění k obnovení účtu služby Azure Cosmos DB

Azure Cosmos DB umožňuje izolovat a omezit oprávnění k obnovení průběžného zálohovacího účtu na konkrétní roli nebo objekt zabezpečení. Tato oprávnění se dají použít v oboru předplatného nebo podrobněji v oboru zdrojového účtu, jak je znázorněno na následujícím obrázku:

Seznam rolí potřebných k provedení operace obnovení

Scope je sada prostředků, které mají přístup. Další informace o scopes najdete v dokumentaci k Azure RBAC. V Azure Cosmos DB je pro většinu případů použití zdrojové předplatné a databázový účet považováno za příslušné obory. Uživatel provádějící akce obnovení by měl mít oprávnění k zápisu do cílové skupiny prostředků.

Přiřazení rolí pro obnovení pomocí webu Azure Portal

K obnovení potřebuje uživatel nebo oprávněná osoba oprávnění k obnovení (tedy oprávnění restore/action) a oprávnění k zřízení nového účtu (tedy oprávnění write). Vlastník předplatného může přidělit principálu vestavěné role CosmosRestoreOperator a Cosmos DB Operator k udělení těchto oprávnění.

  1. Přihlaste se k webu Azure Portal a přejděte ke svému předplatnému. Role CosmosRestoreOperator je dostupná na úrovni předplatného.

  2. Vyberte Řízení přístupu (IAM).

  3. Výběrem možnosti Přidat>Přidat přiřazení role otevřete stránku Přidat přiřazení role.

  4. Přiřaďte následující roli. Podrobný postup najdete v tématu Přiřazování rolí Azure s využitím webu Azure Portal.

    Nastavení Value
    Úloha CosmosRestoreOperator
    Přiřadit přístup k Uživatel, skupina nebo principál služby
    Members <Uživatel podle vašeho výběru>

    Snímek obrazovky se stránkou Přidat přiřazení role na webu Azure Portal

  5. Opakováním kroku 4 s rolí Operátor služby Cosmos DB udělte oprávnění k zápisu. Při přiřazování této role z webu Azure Portal udělí oprávnění k obnovení celému předplatnému.

Obory oprávnění

Scope Example
Subscription /subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e
Skupina zdrojů /subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/resourceGroups/Example-cosmosdb-rg
Prostředek obnovitelného účtu Cosmos DB /subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/providers/Microsoft.DocumentDB/locations/West US/restorableDatabaseAccounts/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e

Prostředek obnovitelného účtu lze extrahovat z výstupu příkazu az cosmosdb restorable-database-account list --account-name <accountname> v CLI nebo rutiny Get-AzCosmosDBRestorableDatabaseAccount -DatabaseAccountName <accountname> v PowerShellu. Atribut name ve výstupu představuje instanceID obnovitelného účtu.

Oprávnění ke zdrojovému účtu

K provádění různých aktivit souvisejících s obnovením účtů režimu průběžného zálohování se vyžadují následující oprávnění:

Note

Lze přiřadit oprávnění k databázovému účtu, který lze obnovit, na úrovni účtu nebo předplatného. Přiřazení oprávnění na úrovni skupiny prostředků není podporováno.

Povolení Impact Minimální rozsah Maximální rozsah
Microsoft.Resources/deployments/validate/action, Microsoft.Resources/deployments/write Tato oprávnění jsou vyžadována pro nasazení šablony ARM k vytvoření obnoveného účtu. Postup nastavení této role najdete v ukázce oprávnění RestorableAction níže. Není relevantní Není relevantní
Microsoft.DocumentDB/databaseAccounts/write Toto oprávnění se vyžaduje k obnovení účtu do skupiny prostředků. Skupina prostředků, ve které se obnovený účet vytvoří. Předplatné, ve kterém se obnovený účet vytvoří
Microsoft.DocumentDB/locations/restorableDatabaseAccounts/restore/action
Skupinu prostředků nelze zvolit jako obor oprávnění.
Toto oprávnění je vyžadováno v oboru zdrojového obnovitelného databázového účtu, aby se s ním mohly provádět akce obnovení. Obnovovatelný prostředekDatabaseAccount patřící do zdrojového účtu, který se obnovuje. Tato hodnota je také dána vlastností ID prostředku obnovitelného databázového účtu. Příkladem obnovovatelného účtu je /subscriptions/subscriptionId/providers/Microsoft.DocumentDB/locations/regionName/restorableDatabaseAccounts/<guid-instanceid.> Předplatné obsahující obnovovatelný databázový účet.
Microsoft.DocumentDB/locations/restorableDatabaseAccounts/read
Skupinu prostředků nelze zvolit jako obor oprávnění.
Toto oprávnění je vyžadováno v oboru obnovitelného databázového účtu zdroje k výpisu databázových účtů, které je možné obnovit. Obnovovatelný prostředekDatabaseAccount patřící do zdrojového účtu, který se obnovuje. Tato hodnota je také dána vlastností ID prostředku obnovitelného databázového účtu. Příkladem obnovovatelného účtu je /subscriptions/subscriptionId/providers/Microsoft.DocumentDB/locations/regionName/restorableDatabaseAccounts/<guid-instanceid.> Předplatné obsahující obnovovatelný databázový účet.
Microsoft.DocumentDB/locations/restorableDatabaseAccounts/*/read
Skupinu prostředků nelze zvolit jako obor oprávnění.
Toto oprávnění je vyžadováno v rozsahu zdrojového obnovitelného účtu, aby bylo možné číst obnovitelné prostředky, jako je seznam databází a kontejnerů pro obnovitelný účet. Obnovovatelný prostředekDatabaseAccount patřící do zdrojového účtu, který se obnovuje. Tato hodnota je také dána vlastností ID prostředku obnovitelného databázového účtu. Příkladem obnovovatelného účtu je /subscriptions/subscriptionId/providers/Microsoft.DocumentDB/locations/regionName/restorableDatabaseAccounts/<guid-instanceid.> Předplatné obsahující obnovovatelný databázový účet.

Oprávnění k cílovému účtu

K provádění různých aktivit souvisejících s obnovením účtů režimu průběžného zálohování se vyžadují následující oprávnění:

Povolení Impact
Microsoft.Resources/deployments/validate/action, Microsoft.Resources/deployments/write Tato oprávnění jsou vyžadována pro nasazení šablony ARM k vytvoření obnoveného účtu. Postup nastavení této role najdete v ukázce oprávnění RestorableAction níže.
Microsoft.DocumentDB/databaseAccounts/write Toto oprávnění se vyžaduje k obnovení účtu do skupiny prostředků.

Scénáře přiřazení rolí Azure CLI k obnovení v různých oborech

Role s oprávněním se dají přiřadit k různým oborům, aby bylo možné dosáhnout podrobné kontroly nad tím, kdo může provádět operaci obnovení v rámci předplatného nebo daného účtu.

Přiřaďte možnost obnovit z libovolného obnovitelného účtu v rámci předplatného.

  • CosmosRestoreOperator Přiřazení předdefinované role ke konkrétní úrovni předplatného
az role assignment create --role "CosmosRestoreOperator" --assignee <email> --scope /subscriptions/<subscriptionId>

Přiřazení možnosti obnovení z konkrétního účtu

  • Přiřaďte uživateli akci zápisu pro konkrétní skupinu prostředků. Tato akce se vyžaduje k vytvoření nového účtu ve skupině prostředků.
  • CosmosRestoreOperator Přiřaďte předdefinované role konkrétnímu obnovitelnému databázovému účtu, který je potřeba obnovit. V následujícím příkazu se rozsah objektu RestorableDatabaseAccount extrahuje z ID vlastnosti výsledku provádění az cosmosdb restorable-database-account list(pokud používáte rozhraní příkazového řádku) nebo Get-AzCosmosDBRestorableDatabaseAccount(pokud používáte PowerShell).
az role assignment create --role "CosmosRestoreOperator" --assignee <email> --scope  <RestorableDatabaseAccount>

Přiřaďte možnost obnovení z libovolného zdrojového účtu ve skupině prostředků.

Tato operace se v současné době nepodporuje.

Vytvoření vlastní role pro akci obnovení pomocí rozhraní příkazového řádku

Vlastník předplatného může poskytnout oprávnění k obnovení do jakékoli jiné identity Microsoft Entra. Oprávnění k obnovení je založené na akci: Microsoft.DocumentDB/locations/restorableDatabaseAccounts/restore/actiona mělo by být součástí jejich oprávnění k obnovení. Existuje předdefinovaná role s názvem CosmosRestoreOperator , která má tuto roli. Oprávnění můžete přiřadit pomocí této předdefinované role nebo vytvořit vlastní roli.

Níže je uvedena akce RestorableAction, která představuje vlastní roli. Tuto roli musíte explicitně vytvořit. Následující šablona JSON vytvoří vlastní roli RestoreableAction s oprávněním k obnovení:

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

Pak pomocí následujícího příkazu nasazení šablony vytvořte roli s oprávněním k obnovení pomocí šablony ARM:

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

Další kroky