Az Azure Blueprints erőforrás-zárolásának ismertetése
Fontos
2026. július 11-én a Tervek (előzetes verzió) elavult. Migrálja a meglévő tervdefiníciókat és -hozzárendeléseket sablonspecifikációkba és üzembehelyezési vermekbe. A tervösszetevőket ARM JSON-sablonokká vagy Bicep-fájlokká kell konvertálni, amelyek az üzembehelyezési vermek meghatározására szolgálnak. Ha meg szeretné tudni, hogyan hozhat létre összetevőt ARM-erőforrásként, tekintse meg az alábbiakat:
A konzisztens környezetek nagy léptékű létrehozása csak akkor igazán értékes, ha létezik egy olyan mechanizmus, amely fenntartja ezt a konzisztenciát. Ez a cikk bemutatja, 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édelme 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ással.
Zárolási módok és állapotok
A zárolási mód a tervhozzárendelésre vonatkozik, és három lehetőség közül választhat: Ne zárolja, csak olvasható vagy Ne törölje. A zárolási mód az összetevő üzembe helyezése során van konfigurálva a tervhozzárendelés során. A tervhozzárendelés frissítésével más 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 tervhozzárendelés összetevői á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 Nincs zárolva állapotban. Az erőforrás állapotának meghatározásához az alábbi táblázat használható:
Mód | Összetevő erőforrástípusa | Állam | 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ölhető erőforráscsoport-összetevőhöz hozzáadott erőforrásokhoz is használatos tervhozzárendelésen kívülről. |
Csak olvasási engedély | Erőforráscsoport | Nem szerkeszthető/törölhető | Az erőforráscsoport írásvédett, és az erőforráscsoport címkéi nem módosítható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. |
Csak olvasási engedély | Nem erőforráscsoport | Csak olvasási engedély | Az erőforrás semmilyen módon nem módosítható. Nincsenek módosítások, és nem törölhetők. |
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 az előfizetésen megfelelő Azure szerepköralapú hozzáférés-vezérléssel (Azure RBAC) rendelkező személy , például a "Tulajdonos" szerepkörrel rendelkező személy módosíthat vagy törölhet bármilyen erőforrást. 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 az Írásvédett vagy a 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 egyetlen lehetőség, amely megakadályozza, hogy az előfizetés-tulajdonosok eltávolítsanak egy tervhozzárendelést, a terv hozzárendelése egy felügyeleti csoporthoz. Ebben a forgatókönyvben csak a felügyeleti csoport tulajdonosai rendelkeznek a tervhozzárendelés eltávolításához szükséges engedélyekkel.
Ha a tervet nem előfizetéshez, hanem felügyeleti csoporthoz szeretné hozzárendelni, a REST API-hívás a következőképpen módosul:
PUT https://management.azure.com/providers/Microsoft.Management/managementGroups/{assignmentMG}/providers/Microsoft.Blueprint/blueprintAssignments/{assignmentName}?api-version=2018-11-01-preview
A által definiált {assignmentMG}
felügyeleti csoportnak vagy a felügyeleti csoport hierarchiájában kell lennie, vagy ugyanabban a felügyeleti csoportban kell lennie, amelyben a tervdefiníciót menti.
A tervhozzá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"
}
}
}
}
A kérelem törzsében é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ügyeleticsoport-hierarchia közvetlen gyermekének kell lennie, ahol a tervhozzárendelést tárolja.
Megjegyzés
A felügyeleti csoport hatóköréhez rendelt tervek továbbra is előfizetésszintű tervhozzárendelésként működnek. 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ég lesz egy hozzárendelés által védett erőforrás módosítására vagy törlésére, kétféleképpen teheti meg.
- A tervhozzárendelés frissítése a Nem zárolt állapotú zárolási módra
- Tervhozzá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ések megtagadási művelete a terv hozzárendelése során az összetevő-erőforrásokra lesz alkalmazva, ha a hozzárendelés az Írásvédett vagy a Törlés tiltása beállítást választotta. A megtagadási műveletet a tervhozzá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 ké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:
Mód | Permissions.Actions | Permissions.NotActions | Tagok[i]. Típus | ExcludePrincipals[i]. Id | DoNotApplyToChildScopes |
---|---|---|---|---|---|
Csak olvasási engedély | * | */read Microsoft.Authorization/locks/delete Microsoft.Network/virtualNetwork/subnets/join/action |
SystemDefined (Mindenki) | tervhozzárendelés és felhasználó által definiált a excludedPrincipalsban | Erőforráscsoport – igaz; Erőforrás – hamis |
Ne töröljön | */Töröl | Microsoft.Authorization/locks/delete Microsoft.Network/virtualNetwork/subnets/join/action |
SystemDefined (Mindenki) | tervhozzárendelés és felhasználó által definiált a excludedPrincipalsban | 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 terverőforrások megtagadási hozzárendelési műveletei nem lesznek azonnal teljes körűen érvényben. Ebben az időszakban lehetséges lehet törölni egy tervzárolással védeni kívánt erőforrást.
Tag kizárása megtagadási hozzárendelésből
Egyes 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 . Ez a lépés a REST API-ban történik, ha a hozzárendelés létrehozásakor legfeljebb öt értéket ad hozzá a locks tulajdonság kizártPrincipals tömbjéhez. A következő hozzárendelés-definíció egy példa egy kérelemtörzsre, amely tartalmazza a kizártPrincipal-elemeket:
{
"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ésekben a megtagadási hozzárendelésektagjára vonatkozó kizáráshoz 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ó, hozzáadható egy kizártActions elem:
"locks": {
"mode": "AllResourcesDoNotDelete",
"excludedPrincipals": [
"7be2f100-3af5-4c15-bcb7-27ee43784a1f",
"38833b56-194d-420b-90ce-cff578296714"
],
"excludedActions": [
"Microsoft.ContainerRegistry/registries/push/write",
"Microsoft.Authorization/*/read"
]
},
Bár a kizártPrincipal-elemeknek explicitnek kell lenniük, a excludedActions bejegyzések használhatók *
az erőforrás-szolgáltatói műveletek helyettesítő karakteres egyeztetéséhez.
Következő 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.