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.
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
- Kövesse az új erőforrások védelme oktatóanyagot.
- Tudnivalók a tervek életciklusáról.
- A statikus és dinamikus paraméterek használatának elsajátítása.
- A tervekkel kapcsolatos műveleti sorrend testreszabásának elsajátítása.
- A meglévő hozzárendelések frissítésének elsajátítása.
- A tervek hozzárendelése során felmerülő problémák megoldása általános hibaelhárítással.