Fiók visszaállítására vonatkozó engedélyek Azure Cosmos DB kezelése

A következőkre vonatkozik: SQL API Azure Cosmos db API a MongoDB

Azure Cosmos DB lehetővé teszi a folyamatos biztonsági mentési fiók visszaállítási engedélyeinek elkülönítését és egy adott szerepkörre vagy rendszerbiztonsági tagra való korlátozását. A fiók tulajdonosa visszaállítást aktiválhat, és hozzárendelhet egy szerepkört más rendszerbiztonsági taghoz a visszaállítási művelet végrehajtásához. Ezek az engedélyek az előfizetés hatókörében vagy részletesebben is alkalmazhatók a forrásfiók hatókörében, ahogy az alábbi képen látható:

A visszaállítási művelet végrehajtásához szükséges szerepkörök listája.

A hatókör olyan erőforrások halmaza, amelyek hozzáféréssel rendelkezik. A hatókörökről további információt az Azure RBAC dokumentációjában talál. A Azure Cosmos DB legtöbb esetben a megfelelő hatókörök a forrás-előfizetés és az adatbázisfiók. A visszaállítási műveleteket végző rendszerbiztonsági tagnak írási engedéllyel kell rendelkeznie a cél erőforráscsoporthoz.

Szerepkörök hozzárendelése visszaállításhoz a Azure Portal

Visszaállítás végrehajtásához egy felhasználónak vagy rendszerbiztonsági tagnak visszaállítási engedélyre (vagyis visszaállítási/műveletengedélyre) és új fiók (vagyis írási engedély) végrehajtásához szükséges engedélyre van szüksége. Az engedélyek megadásához a tulajdonos hozzárendelheti a és beépített szerepköröket CosmosRestoreOperator Cosmos DB Operator egy rendszerbiztonsági taghoz.

  1. Jelentkezzen be a Azure Portal

  2. Lépjen az előfizetéséhez, lépjen a Hozzáférés-vezérlés (IAM) lapra, és válassza a Szerepkör-hozzárendelés > hozzáadása lehetőséget.

  3. A Szerepkör-hozzárendelés hozzáadása panel Szerepkör mezőjében válassza a CosmosRestoreOperator szerepkör lehetőséget. A Hozzáférés hozzárendelése mezőben válassza a Felhasználó, csoport vagy szolgáltatásnév lehetőséget, és keresse meg a felhasználó nevét vagy e-mail-azonosítóját az alábbi képen látható módon:

    Rendelje hozzá a CosmosRestoreOperator és Cosmos DB operátori szerepköröket.

  4. Válassza a Mentés lehetőséget a visszaállítási/műveletengedély megadásához.

  5. Ismételje meg a 3. lépést Cosmos DB operátori szerepkörhöz az írási engedély megadásához. Amikor ezt a szerepkört a Azure Portal hozzárendeli, visszaállítási engedélyt ad a teljes előfizetésnek.

Engedélyek hatókörei

Hatókör Példa
Előfizetés /subscriptions/00000000-0000-0000-0000-00000000000
Erőforráscsoport /subscriptions/00000000-0000-0000-0000-00000000000/resourceGroups/Example-cosmosdb-rg
A CosmosDB visszaállítható fiókerőforrása /subscriptions/00000000-0000-0000-0000-0000000000/providers/Microsoft.DocumentDB/locations/West US/restorableDatabaseAccounts/23e99a35-cd36-4df4-9614-f767a03b9995

A visszaállítható fiókerőforrás kinyerhető a parancs kimenetből a parancssori felületről vagy a az cosmosdb restorable-database-account list --name <accountname> Get-AzCosmosDBRestorableDatabaseAccount -DatabaseAccountName <accountname> PowerShell-parancsmagból. A kimenet névattribútuma a instanceID visszaállítható fiók tulajdonságát jelöli.

Engedélyek

A folyamatos biztonsági mentési módú fiókok visszaállítására vonatkozó különböző tevékenységek végrehajtásához a következő engedélyek szükségesek:

Megjegyzés

Az engedélyek a visszaállítható adatbázisfiókhoz a fiók vagy az előfizetés hatókörében rendelhetők hozzá. Az engedélyek erőforráscsoporti hatókörben való hozzárendelése nem támogatott.

Engedély Hatás Minimális hatókör Maximális hatókör
Microsoft.Resources/deployments/validate/action, Microsoft.Resources/deployments/write Ezekre az engedélyekre szükség van az ARM-sablon üzembe helyezéséhez a visszaállított fiók létrehozásához. A szerepkör beállításához tekintse meg az alábbi RestorableAction mintaengedélyt. Nem alkalmazható Nem alkalmazható
Microsoft.DocumentDB/databaseAccounts/write Ez az engedély szükséges egy fiók erőforráscsoportba való visszaállításához Az erőforráscsoport, amelyben a visszaállított fiók létrejön. Előfizetés, amelyben a visszaállított fiók létrejön
Microsoft.DocumentDB/locations/restorableDatabaseAccounts/restore/action
Nem választhat erőforráscsoportot engedélyhatókörként.
Erre az engedélyre a forrásként visszaállítható adatbázisfiók hatókörében van szükség, hogy visszaállítási műveleteket hajthatók végre rajta. A visszaállított forrásfiókhoz tartozó RestoreableDatabaseAccount erőforrás. Ezt az értéket a visszaállítható adatbázisfiók-erőforrás ID tulajdonsága is megszabadja. Visszaállítható fiók például a következő: /subscriptions/subscriptionId/providers/Microsoft.DocumentDB/locations/regionName/restorableDatabaseAccounts/ <guid-instanceid> A visszaállítható adatbázisfiókot tartalmazó előfizetés.
Microsoft.DocumentDB/locations/restorableDatabaseAccounts/read
Nem választhat erőforráscsoportot engedélyhatókörként.
Erre az engedélyre a forrásként visszaállítható adatbázisfiók hatókörében van szükség a visszaállítható adatbázisfiókok listához. A visszaállított forrásfiókhoz tartozó RestoreableDatabaseAccount erőforrás. Ezt az értéket a visszaállítható adatbázisfiók-erőforrás ID tulajdonsága is megszabadja. Visszaállítható fiók például a következő: /subscriptions/subscriptionId/providers/Microsoft.DocumentDB/locations/regionName/restorableDatabaseAccounts/ <guid-instanceid> A visszaállítható adatbázisfiókot tartalmazó előfizetés.
Microsoft.DocumentDB/locations/restorableDatabaseAccounts/*/read
Nem választhat erőforráscsoportot engedélyhatókörként.
Erre az engedélyre a visszaállítható forrásfiók hatókörében van szükség, hogy lehetővé tegye a visszaállítható erőforrások( például adatbázisok és tárolók listájának) olvasását a visszaállítható fiókokhoz. A visszaállított forrásfiókhoz tartozó RestoreableDatabaseAccount erőforrás. Ezt az értéket a visszaállítható adatbázisfiók-erőforrás ID tulajdonsága is megszabadja. Visszaállítható fiók például a következő: /subscriptions/subscriptionId/providers/Microsoft.DocumentDB/locations/regionName/restorableDatabaseAccounts/ <guid-instanceid> A visszaállítható adatbázisfiókot tartalmazó előfizetés.

Az Azure CLI szerepkör-hozzárendelési forgatókönyvei különböző hatókörökben való visszaállításhoz

Az engedéllyel rendelkező szerepkörök különböző hatókörökhöz rendelhetők, így részletesen szabályozható, hogy ki hajthatja végre a visszaállítási műveletet egy előfizetésen vagy egy adott fiókon belül.

Az előfizetés bármely visszaállítható fiókjából való visszaállítási képesség hozzárendelése

A beépített CosmosRestoreOperator szerepkör hozzárendelése előfizetési szinten

az role assignment create --role "CosmosRestoreOperator" --assignee <email> –scope /subscriptions/<subscriptionId>

Képesség hozzárendelése egy adott fiókból való visszaállításhoz

  • Rendeljen hozzá egy felhasználói írási műveletet az adott erőforráscsoporthoz. Ez a művelet szükséges egy új fiók létrehozásához az erőforráscsoportban.

  • Rendelje hozzá a CosmosRestoreOperator beépített szerepkört a visszaállítani szükséges visszaállítható adatbázisfiókhoz. A következő parancsban a RestorableDatabaseAccount hatóköre a kimenetének tulajdonságából lesz lekérve (cli használata ID az cosmosdb restorable-database-account esetén) vagy Get-AzCosmosDBRestorableDatabaseAccount (Ha a PowerShellt használja).

    az role assignment create --role "CosmosRestoreOperator" --assignee <email> –scope <RestorableDatabaseAccount>
    

Az erőforráscsoportban bármely forrásfiókból való visszaállítási képesség hozzárendelése.

Ez a művelet jelenleg nem támogatott.

Egyéni szerepkör létrehozása visszaállítási művelethez a CLI-val

Az előfizetés tulajdonosa engedélyt nyújthat bármely más Azure AD-identitásra való visszaállításra. A visszaállítási engedély a műveleten alapul: , és bele kell foglalni a visszaállítási Microsoft.DocumentDB/locations/restorableDatabaseAccounts/restore/action engedélyükbe. Van egy CosmosRestoreOperator nevű beépített szerepkör, amely tartalmazza ezt a szerepkört. Ehhez a beépített szerepkörhöz hozzárendelheti az engedélyt, vagy létrehozhat egy egyéni szerepkört.

Az alábbi RestorableAction egy egyéni szerepkört képvisel. Ezt a szerepkört explicit módon kell létrehoznia. A következő JSON-sablon létrehoz egy visszaállítási engedéllyel rendelkező egyéni RestoreableAction szerepkört:

{
  "assignableScopes": [
    "/subscriptions/23587e98-b6ac-4328-a753-03bcd3c8e744"
  ],
  "description": "Can do a restore request for any 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"
}

Ezután a következő sablontelepítési paranccsal hozzon létre egy visszaállítási engedéllyel rendelkező szerepkört az ARM-sablon használatával:

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

Következő lépések