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

PLATÍ PRO: NoSQL MongoDB Gremlin Tabulka

Azure Cosmos DB umožňuje izolovat a omezit oprávnění k obnovení účtu průběžného zálohování 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:

List of roles required to perform restore operation.

Obor je sada prostředků, které mají přístup, a další informace o oborech najdete v dokumentaci k Azure RBAC . V Azure Cosmos DB jsou příslušné obory zdrojovým předplatným a databázovým účtem pro většinu případů použití. Objekt zabezpečení 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 objekt zabezpečení oprávnění k obnovení (to je oprávnění k obnovení nebo akci ) a oprávnění k zřízení nového účtu (oprávnění k zápisu ). Pokud chcete těmto oprávněním udělit, může vlastník předplatného přiřadit instančnímu objektu a Cosmos DB Operator předdefinované CosmosRestoreOperator role.

  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ř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í Hodnota
    Role CosmosRestoreOperator
    Přiřadit přístup k Uživatel, skupina nebo instanční objekt
    Členové <Uživatel podle vašeho výběru>

    Screenshot that shows Add role assignment page in 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í

Obor Příklad
Předplatné /subscriptions/0000000-0000-0000-0000-00000000000000
Skupina prostředků /subscriptions/0000000-0000-0000-0000-000000000000/resourceGroups/Example-cosmosdb-rg
Prostředek obnovitelného účtu služby Cosmos DB /subscriptions/0000000-0000-0000-0000-0000000000/providers/Microsoft.DocumentDB/locations/West US/restorableDatabaseAccounts/23e99a35-cd36-4df4-9614-f767a03b9995

Prostředek obnovitelného účtu je možné extrahovat z výstupu az cosmosdb restorable-database-account list --account-name <accountname> příkazu v rozhraní příkazového řádku nebo Get-AzCosmosDBRestorableDatabaseAccount -DatabaseAccountName <accountname> rutině v PowerShellu. Atribut name ve výstupu představuje instanceID obnovitelný účet.

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í:

Poznámka:

Oprávnění je možné přiřadit k obnovitelnému databázovému účtu v oboru účtu nebo oboru předplatného. Přiřazení oprávnění v oboru skupiny prostředků se nepodporuje.

Oprávnění Dopad 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. Nelze použít Nelze použít
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
Jako obor oprávnění nemůžete zvolit skupinu prostředků.
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 ID vlastností obnovitelného prostředku 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
Jako obor oprávnění nemůžete zvolit skupinu prostředků.
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 ID vlastností obnovitelného prostředku 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
Jako obor oprávnění nemůžete zvolit skupinu prostředků.
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 ID vlastností obnovitelného prostředku 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í:

Oprávnění Dopad
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řazení možnosti obnovení z libovolného obnovitelného účtu v předplatném

  • 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 uvedená akce RestorableAction 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/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"
}

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