Az Azure Blueprints erőforrás-zárolásának ismertetése

Fontos

2026. július 11-én a tervek (előzetes verzió) elavultak lesznek. Migrálja a meglévő tervdefiníciókat és -hozzárendeléseket a sablon specifikációiba és üzembehelyezési vermeibe. A tervösszetevőket ARM JSON-sablonokká vagy Az üzembehelyezési verem definiálásához használt Bicep-fájlokká kell konvertálni. Az összetevők ARM-erőforrásként való létrehozásához lásd:

A konzisztens környezetek nagy léptékű létrehozása csak akkor igazán értékes, ha van egy olyan mechanizmus, amely fenntartja ezt a konzisztenciát. Ez a cikk azt ismerteti, hogyan működik az erőforrás-zárolás az Azure Blueprintsben. Az erőforrás-zárolásra és a megtagadási hozzárendelések alkalmazására vonatkozó példát az új erőforrások védelméről szóló oktatóanyagban tekintheti meg.

Megjegyzés:

Az Azure Blueprints által üzembe helyezett erőforrás-zárolások csak a terv-hozzárendelés által üzembe helyezett nem bővítmény típusú erőforrásokra lesznek alkalmazva. A meglévő erőforrások, például a már létező erőforráscsoportokban lévő erőforrások nem rendelkeznek zárolásokkal.

Zárolási módok és állapotok

A zárolási mód a terv-hozzárendelésre vonatkozik, és három lehetősége van: Ne zárolja, ne olvassa el vagy ne törölje. A zárolási mód az összetevők üzembe helyezése során konfigurálva van egy tervhozzárendelés során. A tervhozzárendelés frissítésével másik zárolási mód is beállítható. A zárolási módok azonban nem módosíthatók az Azure Blueprintsen kívül.

A terv-hozzárendelésben lévő összetevők által létrehozott erőforrások négy állapottal rendelkeznek: Nincs zárolva, Írásvédett, Nem szerkeszthető/ Törölhető vagy Nem törölhető. Minden összetevőtípus lehet nem zárolt állapotban. Az erőforrás állapotának meghatározásához az alábbi táblázat használható:

Mode Összetevő erőforrástípusa State Leírás
Nincs zárolás * Nincs zárolva Az erőforrásokat nem védik az Azure Blueprints. Ez az állapot az írásvédett vagy a nem törölt erőforráscsoport-összetevőhöz hozzáadott erőforrásokhoz is használatos a tervhozzárendelésen kívülről.
Csak olvasás Erőforráscsoport Nem szerkeszthető/törölhető Az erőforráscsoport írásvédett, és a címkék kivételével az összes tulajdonsága nem módosítható. A nem zárolt erőforrások hozzáadhatók, áthelyezhetők, módosíthatók vagy törölhetők ebből az erőforráscsoportból.
Csak olvasás Nem erőforráscsoport Csak olvasás A címkék kivételével az erőforrás nem tartható el, és nem törölhető és nem módosítható.
Ne töröljön * Nem törölhető Az erőforrások módosíthatók, de nem törölhetők. A nem zárolt erőforrások hozzáadhatók, áthelyezhetők, módosíthatók vagy törölhetők ebből az erőforráscsoportból.

Zárolási állapotok felülírása

Általában lehetséges, hogy valaki, aki rendelkezik megfelelő Azure szerepköralapú hozzáférés-vezérléssel (Azure RBAC) az előfizetésen, például a tulajdonosi szerepkörrel, bármely erőforrást módosíthat vagy törölhet. Ez a hozzáférés nem igaz, ha az Azure Blueprints egy üzembe helyezett hozzárendelés részeként alkalmazza a zárolást. Ha a hozzárendelés írásvédett vagy nem törölhető beállítással lett beállítva, még az előfizetés tulajdonosa sem tudja végrehajtani a letiltott műveletet a védett erőforráson.

Ez a biztonsági intézkedés védi a definiált terv és a környezet konzisztenciáját, amelyet véletlen vagy programozott törlésből vagy módosításból való létrehozásra terveztek.

Hozzárendelés a felügyeleti csoportban

Az előfizetés-tulajdonosok egyetlen lehetősége, hogy megakadályozzák a tervhozzárendelés eltávolítását, ha hozzárendelik a tervet egy felügyeleti csoporthoz. Ebben az esetben csak a felügyeleti csoport tulajdonosai rendelkeznek a tervhozzárendelés eltávolításához szükséges engedélyekkel.

Ha előfizetés helyett egy felügyeleti csoporthoz szeretné hozzárendelni a tervet, a REST API az alábbi módon hívja meg a módosításokat:

PUT https://management.azure.com/providers/Microsoft.Management/managementGroups/{assignmentMG}/providers/Microsoft.Blueprint/blueprintAssignments/{assignmentName}?api-version=2018-11-01-preview

Az általuk {assignmentMG} definiált felügyeleti csoportnak vagy a felügyeleti csoport hierarchiájának belül kell lennie, vagy ugyanabba a felügyeleti csoportba kell tartoznia, amelyben a tervdefiníció mentésre kerül.

A terv-hozzárendelés kérelemtörzse a következőképpen néz ki:

{
    "identity": {
        "type": "SystemAssigned"
    },
    "location": "eastus",
    "properties": {
        "description": "enforce pre-defined simpleBlueprint to this XXXXXXXX subscription.",
        "blueprintId": "/providers/Microsoft.Management/managementGroups/{blueprintMG}/providers/Microsoft.Blueprint/blueprints/simpleBlueprint",
        "scope": "/subscriptions/{targetSubscriptionId}",
        "parameters": {
            "storageAccountType": {
                "value": "Standard_LRS"
            },
            "costCenter": {
                "value": "Contoso/Online/Shopping/Production"
            },
            "owners": {
                "value": [
                    "johnDoe@contoso.com",
                    "johnsteam@contoso.com"
                ]
            }
        },
        "resourceGroups": {
            "storageRG": {
                "name": "defaultRG",
                "location": "eastus"
            }
        }
    }
}

Ebben a kérelemtörzsben és egy előfizetéshez hozzárendelt fő különbség a properties.scope tulajdonság. Ezt a szükséges tulajdonságot arra az előfizetésre kell beállítani, amelyre a tervhozzárendelés vonatkozik. Az előfizetésnek a felügyeleti csoport hierarchiájának közvetlen gyermekének kell lennie, ahol a tervhozzárendelést tárolja.

Megjegyzés:

A felügyeleti csoport hatóköréhez rendelt terv továbbra is előfizetési szintű tervhozzárendelésként működik. Az egyetlen különbség az, hogy a tervhozzárendelés tárolása megakadályozza, hogy az előfizetés-tulajdonosok eltávolítják a hozzárendelést és a kapcsolódó zárolásokat.

Zárolási állapotok eltávolítása

Ha szükségessé válik egy hozzárendelés által védett erőforrás módosítása vagy törlése, kétféleképpen teheti meg.

  • A terv hozzárendelésének frissítése a Nem zárolás zárolása zárolási módra
  • A terv-hozzárendelés törlése

A hozzárendelés eltávolításakor az Azure Blueprints által létrehozott zárolások törlődnek. Az erőforrás azonban hátra van hagyva, és normál módon kell törölni.

A tervzárolások működése

Az Azure RBAC megtagadási hozzárendeléseinek megtagadási művelete a terv hozzárendelése során alkalmazva lesz az összetevő-erőforrásokra, ha a hozzárendelés az Írásvédett vagy a Törlés tiltása lehetőséget választotta. A megtagadási műveletet a terv-hozzárendelés felügyelt identitása adhatja hozzá, és csak ugyanazzal a felügyelt identitással távolítható el az összetevő-erőforrásokból. Ez a biztonsági intézkedés kikényszeríti a zárolási mechanizmust, és megakadályozza a tervzár eltávolítását az Azure Blueprintsen kívül.

Screenshot of the Access control (I A M) page and the Deny assignments tab for a resource group.

Az egyes módok megtagadási hozzárendelési tulajdonságai a következők:

Mode Permissions.Actions Permissions.NotActions Tagok[i]. Típus ExcludePrincipals[i]. Id DoNotApplyToChildScopes
Csak olvasás * */Olvasni
Microsoft.Authorization/locks/delete
Microsoft.Network/virtualNetwork/alhálózatok/csatlakozás/művelet
SystemDefined (Mindenki) terv hozzárendelése és felhasználó által definiált kizártprincipalokban Erőforráscsoport – igaz; Erőforrás – hamis
Ne töröljön */Töröl Microsoft.Authorization/locks/delete
Microsoft.Network/virtualNetwork/alhálózatok/csatlakozás/művelet
SystemDefined (Mindenki) terv hozzárendelése és felhasználó által definiált kizártprincipalokban Erőforráscsoport – igaz; Erőforrás – hamis

Fontos

Az Azure Resource Manager legfeljebb 30 percig gyorsítótárazza a szerepkör-hozzárendelés részleteit. Ennek eredményeképpen előfordulhat, hogy a megtagadási hozzárendelések megtagadják a terverőforrásokra vonatkozó műveletet, nem feltétlenül lesz azonnal teljes hatásuk. Ebben az időszakban lehetséges lehet törölni egy tervzárokkal védett erőforrást.

Tag kizárása megtagadási hozzárendelésből

Bizonyos tervezési vagy biztonsági forgatókönyvekben előfordulhat, hogy ki kell zárni egy tagot a terv-hozzárendelés által létrehozott megtagadási hozzárendelésből . Ezt a lépést a REST API-ban végezheti el, ha a hozzárendelés létrehozásakor legfeljebb öt értéket ad hozzá a locks tulajdonság kizártPrincipals tömbjének. A következő hozzárendelés-definíció egy példa a kizártPrincipalokat tartalmazó kérelemtörzsre:

{
  "identity": {
    "type": "SystemAssigned"
  },
  "location": "eastus",
  "properties": {
    "description": "enforce pre-defined simpleBlueprint to this XXXXXXXX subscription.",
    "blueprintId": "/providers/Microsoft.Management/managementGroups/{mgId}/providers/Microsoft.Blueprint/blueprints/simpleBlueprint",
    "locks": {
        "mode": "AllResourcesDoNotDelete",
        "excludedPrincipals": [
            "7be2f100-3af5-4c15-bcb7-27ee43784a1f",
            "38833b56-194d-420b-90ce-cff578296714"
        ]
    },
    "parameters": {
      "storageAccountType": {
        "value": "Standard_LRS"
      },
      "costCenter": {
        "value": "Contoso/Online/Shopping/Production"
      },
      "owners": {
        "value": [
          "johnDoe@contoso.com",
          "johnsteam@contoso.com"
        ]
      }
    },
    "resourceGroups": {
      "storageRG": {
        "name": "defaultRG",
        "location": "eastus"
      }
    }
  }
}

Művelet kizárása megtagadási hozzárendelésből

A terv-hozzárendelésben lévő megtagadási hozzárendelésben szereplő tag kizárásához hasonlóan bizonyos Azure-erőforrás-szolgáltatói műveleteket is kizárhat. A properties.locks blokkon belül, ugyanazon a helyen, ahol a kizártPrincipals található, egy kizártActions is hozzáadható:

"locks": {
    "mode": "AllResourcesDoNotDelete",
    "excludedPrincipals": [
        "7be2f100-3af5-4c15-bcb7-27ee43784a1f",
        "38833b56-194d-420b-90ce-cff578296714"
    ],
    "excludedActions": [
        "Microsoft.ContainerRegistry/registries/push/write",
        "Microsoft.Authorization/*/read"
    ]
},

Míg a kizártPrincipal-értékeknek explicitnek kell lenniük , a kizártActions-bejegyzések használhatják * az erőforrás-szolgáltatói műveletek helyettesítő karakteres egyeztetését.

További lépések