Üzembehelyezési vermek (előzetes verzió)

Az Azure-beli üzembehelyezési verem az Azure-erőforrások egy olyan típusa, amely lehetővé teszi az Azure-erőforrások egy csoportjának felügyeletét atomi egységként. Amikor egy Bicep-fájlt vagy EGY ARM JSON-sablont küld egy üzembehelyezési verembe, meghatározza a verem által felügyelt erőforrásokat. Ha egy korábban a sablonban szereplő erőforrás el lesz távolítva, akkor a rendszer leválasztja vagy törli az üzembe helyezési verem megadott actionOnUnmanage viselkedése alapján. A többi Azure-erőforráshoz hasonlóan az üzembehelyezési veremhez való hozzáférés az Azure szerepköralapú hozzáférés-vezérlésével (Azure RBAC) korlátozható.

Az üzembehelyezési verem létrehozásához és frissítéséhez használhatja az Azure CLI-t, az Azure PowerShellt vagy az Azure Portalt a Bicep-fájlokkal együtt. Ezek a Bicep-fájlok ARM JSON-sablonokra vannak lefordítva, amelyeket aztán üzembehelyezési objektumként helyez üzembe a verem. Az üzembe helyezési verem további képességeket kínál a jól ismert üzembehelyezési erőforrásokon túl, amelyek ezen képességek szuperhalmazaként szolgálnak.

Microsoft.Resources/deploymentStacks az üzembehelyezési veremek erőforrástípusa. Ez egy fő sablonból áll, amely 1-a-többhöz frissítést hajthat végre az általa leírt erőforrások hatókörei között, és letilthatja az erőforrások nem kívánt módosításait.

Az üzembe helyezés tervezésekor és annak meghatározásakor, hogy mely erőforráscsoportoknak kell ugyanahhoz a veremhez tartoznia, fontos figyelembe venni az erőforrások felügyeleti életciklusát, amely magában foglalja a létrehozást, a frissítést és a törlést is. Tegyük fel például, hogy teszt virtuális gépeket kell kiépítenie különböző alkalmazáscsoportok számára különböző erőforráscsoport-hatókörökben. Ebben az esetben az üzembe helyezési verem használható ezeknek a tesztkörnyezeteknek a létrehozására és a teszt virtuálisgép-konfigurációk frissítésére az üzembe helyezési verem későbbi frissítésével. A projekt befejezése után előfordulhat, hogy el kell távolítania vagy törölnie kell a létrehozott erőforrásokat, például a teszt virtuális gépeket. Az üzembe helyezési verem használatával a felügyelt erőforrások egyszerűen eltávolíthatók a megfelelő törlési jelző megadásával. Ez az egyszerűsített megközelítés időt takarít meg a környezet megtisztítása során, mivel a veremerőforrás egyetlen frissítését igényli ahelyett, hogy egyenként módosítaná vagy eltávolítaná az egyes teszt virtuális gépeket különböző erőforráscsoport-hatókörökben.

Az üzembehelyezési vermekhez az Azure PowerShell 10.1.0-s vagy újabb verziója, illetve az Azure CLI 2.50.0-s vagy újabb verziója szükséges.

Az első üzembehelyezési verem létrehozásához a rövid útmutatót használva hozza létre az üzembe helyezési vermet.

Miért érdemes üzembehelyezési vermet használni?

Az üzembehelyezési veremek a következő előnyöket biztosítják:

  • Az erőforrások egyszerűsített kiépítése és kezelése különböző hatókörökben, mint egy összetartó entitás.
  • Megtagadási beállítások használatával megakadályozhatja a felügyelt erőforrások nem kívánt módosításait.
  • Hatékony környezettisztítás a törlési jelzők alkalmazásával az üzembehelyezési verem frissítései során.
  • Standard sablonokat, például Bicep-, ARM-sablonokat vagy sablon-specifikációkat használ az üzembehelyezési veremekhez.

Ismert korlátozások

  • Az implicit módon létrehozott erőforrásokat nem a verem kezeli. Ezért nem lehet megtagadni a hozzárendeléseket vagy a törlést.
  • A megtagadási hozzárendelések nem támogatják a címkéket.
  • A megtagadási hozzárendelések nem támogatottak a felügyeleti csoport hatókörében.
  • Az üzembehelyezési vermek nem tudják törölni a Key Vault titkos kulcsait. Ha kulcstartó titkos kulcsokat távolít el egy sablonból, győződjön meg arról, hogy leválasztási móddal is végrehajtja az üzembehelyezési verem frissítési/törlési parancsát.

Ismert problémák

  • Az erőforráscsoportok törlése jelenleg áthalad a megtagadási hozzárendeléseken. Amikor üzembehelyezési vermet hoz létre az erőforráscsoport hatókörében, a Bicep-fájl nem tartalmazza az erőforráscsoport definícióját. A megtagadási hozzárendelési beállítás ellenére lehetséges törölni az erőforráscsoportot és a benne lévő vermet. Ha azonban a zárolás aktív a csoport bármely erőforrásán, a törlési művelet sikertelen lesz.
  • A Lehetőség nem érhető el az előzetes verzióban.
  • A felügyeleti csoportok hatókörébe tartozó veremek nem helyezhetők üzembe egy másik felügyeleti csoportban. Csak a verem felügyeleti csoportjában vagy egy gyermek-előfizetésben telepíthető.

Üzembehelyezési vermek létrehozása

Az üzembehelyezési veremerőforrás az erőforráscsoport, az előfizetés vagy a felügyeleti csoport hatókörében hozható létre. Az üzembe helyezési verembe átadott sablon határozza meg a létrehozandó vagy frissítendő erőforrásokat a sablon üzembe helyezéséhez megadott céltartományban.

  • Az erőforráscsoport hatókörében lévő verem üzembe helyezheti az átadott sablont ugyanarra az erőforráscsoport-hatókörre, ahol az üzembe helyezési verem létezik.
  • Az előfizetési hatókörben lévő verem üzembe helyezheti az átadott sablont egy erőforráscsoport-hatókörben (ha van megadva), vagy ugyanazt az előfizetési hatókört, ahol az üzembe helyezési verem létezik.
  • A felügyeleti csoport hatókörében lévő verem üzembe helyezheti az átadott sablont a megadott előfizetési hatókörben.

Fontos megjegyezni, hogy ahol az üzembehelyezési verem létezik, a megtagadási hozzárendelés is a megtagadási beállítások funkcióval jön létre. Ha például létrehoz egy üzembe helyezési vermet az előfizetés hatókörében, amely telepíti a sablont az erőforráscsoport hatókörébe, és letiltja a beállításokat DenyDelete, egyszerűen kiépítheti a felügyelt erőforrásokat a megadott erőforráscsoporthoz, és letilthatja az erőforrások törlési kísérleteit. Ezzel a megközelítéssel az üzembehelyezési verem biztonságát is növelheti úgy, hogy az előfizetés szintjén különíti el, nem pedig az erőforráscsoport szintjén. Ez az elkülönítés biztosítja, hogy a kiépített erőforrásokkal dolgozó fejlesztői csapatok csak láthatósági és írási hozzáféréssel rendelkezzenek az erőforráscsoportokhoz, míg az üzembehelyezési verem magasabb szinten elszigetelt maradjon. Ez minimalizálja az üzembehelyezési verem szerkesztésére és a megtagadási hozzárendelés módosítására jogosult felhasználók számát. További információ: Felügyelt erőforrás védelme a törlés ellen.

A létrehozási veremparancsok az üzembehelyezési veremek frissítésére is használhatók.

Üzembehelyezési verem létrehozása az erőforráscsoport hatókörében:

New-AzResourceGroupDeploymentStack `
  -Name "<deployment-stack-name>" `
  -ResourceGroupName "<resource-group-name>" `
  -TemplateFile "<bicep-file-name>" `
  -DenySettingsMode "none"

Üzembehelyezési verem létrehozása az előfizetés hatókörében:

New-AzSubscriptionDeploymentStack `
  -Name "<deployment-stack-name>" `
  -Location "<location>" `
  -TemplateFile "<bicep-file-name>" `
  -DeploymentResourceGroupName "<resource-group-name>" `
  -DenySettingsMode "none"

A DeploymentResourceGroupName paraméter a felügyelt erőforrások tárolásához használt erőforráscsoportot adja meg. Ha a paraméter nincs megadva, a felügyelt erőforrások az előfizetés hatókörében lesznek tárolva.

Üzembehelyezési verem létrehozása a felügyeleti csoport hatókörében:

New-AzManagmentGroupDeploymentStack `
  -Name "<deployment-stack-name>" `
  -Location "<location>" `
  -TemplateFile "<bicep-file-name>" `
  -DeploymentSubscriptionId "<subscription-id>" `
  -DenySettingsMode "none"

A deploymentSubscriptionId paraméter megadja a felügyelt erőforrások tárolásához használt előfizetést. Ha a paraméter nincs megadva, a felügyelt erőforrások a felügyeleti csoport hatókörében lesznek tárolva.

Üzembe helyezési vermek listázása

Az üzembehelyezési verem erőforrásainak listázása az erőforráscsoport hatókörében:

Get-AzResourceGroupDeploymentStack `
  -ResourceGroupName "<resource-group-name>"

Az üzembehelyezési verem erőforrásainak listázása az előfizetés hatókörében:

Get-AzSubscriptionDeploymentStack

Az üzembehelyezési verem erőforrásainak listázása a felügyeleti csoport hatókörében:

Get-AzManagementGroupDeploymentStack `
  -ManagementGroupId "<management-group-id>"

Üzembehelyezési vermek frissítése

Az üzembehelyezési verem frissítéséhez, amely magában foglalhatja egy felügyelt erőforrás hozzáadását vagy törlését, módosítania kell a mögöttes Bicep-fájlokat. A módosítások után két lehetősége van az üzembe helyezési verem frissítésére: futtassa a frissítési parancsot, vagy futtassa újra a létrehozási parancsot.

A felügyelt erőforrások listája teljes mértékben szabályozható az infrastruktúra mint kód (IaC) tervezési mintával.

A Beállítás parancs használata

Üzembehelyezési verem frissítése az erőforráscsoport hatókörében:

Set-AzResourceGroupDeploymentStack `
  -Name "<deployment-stack-name>" `
  -ResourceGroupName "<resource-group-name>" `
  -TemplateFile "<bicep-file-name>" `
  -DenySettingsMode "none"

Üzembehelyezési verem frissítése az előfizetés hatókörében:

Set-AzSubscriptionDeploymentStack `
   -Name "<deployment-stack-name>" `
   -Location "<location>" `
   -TemplateFile "<bicep-file-name>" `
   -DeploymentResourceGroupName "<resource-group-name>" `
  -DenySettingsMode "none"

A DeploymentResourceGroupName paraméter az üzembehelyezési verem erőforrásainak tárolására használt erőforráscsoportot adja meg. Ha nem ad meg erőforráscsoportnevet, az üzembe helyezési verem szolgáltatás létrehoz egy új erőforráscsoportot.

Üzembehelyezési verem frissítése a felügyeleti csoport hatókörében:

Set-AzManagmentGroupDeploymentStack `
  -Name "<deployment-stack-name>" `
  -Location "<location>" `
  -TemplateFile "<bicep-file-name>" `
  -DeploymentSubscriptionId "<subscription-id>" `
  -DenySettingsMode "none"

Az Új parancs használata

A következőhöz hasonló figyelmeztetést kap:

The deployment stack 'myStack' you're trying to create already exists in the current subscription/management group/resource group. Do you want to overwrite it? Detaching: resources, resourceGroups (Y/N)

További információ: Üzembehelyezési vermek létrehozása.

Leválasztás és törlés szabályozása

A leválasztott erőforrások (vagy nem felügyelt erőforrások) olyan erőforrásra utalnak, amelyet nem követ nyomon vagy kezel az üzembe helyezési verem, de továbbra is létezik az Azure-ban.

Ha azt szeretné, hogy az Azure törölje a nem felügyelt erőforrásokat, frissítse a vermet a stack létrehozása paranccsal az alábbi törlési jelzők egyikével. További információ: Üzembe helyezési verem létrehozása.

  • DeleteAll: használjon törlést a felügyelt erőforrások és erőforráscsoportok leválasztása helyett.
  • DeleteResources: csak a felügyelt erőforrások leválasztása helyett használja a törlést.
  • DeleteResourceGroups: csak felügyelt erőforráscsoportok esetén használja a törlést a leválasztás helyett. Önmagában DeleteResourceGroups érvénytelen. DeleteResourceGroups együtt kell használni a DeleteResources.

Példa:

New-AzSubscriptionDeploymentStack `
  -Name "<deployment-stack-name" `
  -TemplateFile "<bicep-file-name>" `
  -DenySettingsMode "none" `
  -DeleteResourceGroups `
  -DeleteResources

Figyelmeztetés

Ha az erőforráscsoportokat vagy DeleteResourceGroups a DeleteAll tulajdonságokat tartalmazó erőforráscsoportokat törli, a felügyelt erőforráscsoportok és a bennük található összes erőforrás is törlődik.

Üzembehelyezési vermek törlése

Ha a törlési parancsokat a törlési jelzők nélkül futtatja, a nem felügyelt erőforrások le lesznek választva, de nem törlődnek. A nem felügyelt erőforrások törléséhez használja a következő kapcsolókat:

  • DeleteAll: Törölje az erőforrásokat és az erőforráscsoportokat is.
  • DeleteResources: Csak az erőforrások törlése.
  • DeleteResourceGroups: Csak az erőforráscsoportok törlése.

Még ha az összes kapcsoló törlését is megadja, akkor sem törlődik a nem felügyelt erőforrás és maga az erőforráscsoport sem, ha nem felügyelt erőforrások vannak abban az erőforráscsoportban, amelyben az üzembe helyezési verem található.

Az üzembehelyezési verem erőforrásainak törlése az erőforráscsoport hatókörében:

Remove-AzResourceGroupDeploymentStack `
  -name "<deployment-stack-name>" `
  -ResourceGroupName "<resource-group-name>" `
  [-DeleteAll/-DeleteResourceGroups/-DeleteResources]

Az üzembehelyezési verem erőforrásainak törlése az előfizetés hatókörében:

Remove-AzSubscriptionDeploymentStack `
  -Name "<deployment-stack-name>" `
  [-DeleteAll/-DeleteResourceGroups/-DeleteResources]

Az üzembehelyezési verem erőforrásainak törlése a felügyeleti csoport hatókörében:

Remove-AzManagementGroupDeploymentStack `
  -Name "<deployment-stack-name>" `
  -ManagementGroupId "<management-group-id>" `
  [-DeleteAll/-DeleteResourceGroups/-DeleteResources]

Felügyelt erőforrások megtekintése az üzembehelyezési veremben

A nyilvános előzetes verzióban az üzembehelyezési verem szolgáltatás még nem rendelkezik Azure Portal grafikus felhasználói felülettel (GUI). A felügyelt erőforrások üzembehelyezési veremben való megtekintéséhez használja az alábbi Azure PowerShell-/Azure CLI-parancsokat:

Felügyelt erőforrások megtekintése az erőforráscsoport hatókörében:

(Get-AzResourceGroupDeploymentStack -Name "<deployment-stack-name>" -ResourceGroupName "<resource-group-name>").Resources

Felügyelt erőforrások megtekintése az előfizetés hatókörében:

(Get-AzSubscriptionDeploymentStack -Name "<deployment-stack-name>").Resources

Felügyelt erőforrások megtekintése a felügyeleti csoport hatókörében:

(Get-AzManagementGroupDeploymentStack -Name "<deployment-stack-name>" -ManagementGroupId "<management-group-id>").Resources

Erőforrások hozzáadása az üzembehelyezési veremhez

Felügyelt erőforrás hozzáadásához adja hozzá az erőforrásdefiníciót a mögöttes Bicep-fájlokhoz, majd futtassa a frissítési parancsot, vagy futtassa újra a létrehozási parancsot. További információt az üzembehelyezési vermek frissítése című témakörben talál.

Felügyelt erőforrások törlése az üzembehelyezési veremből

Felügyelt erőforrás törléséhez távolítsa el az erőforrásdefiníciót a mögöttes Bicep-fájlokból, majd futtassa a frissítési parancsot, vagy futtassa újra a létrehozási parancsot. További információt az üzembehelyezési vermek frissítése című témakörben talál.

Felügyelt erőforrások védelme a törlés ellen

Üzembehelyezési verem létrehozásakor adott típusú engedélyek rendelhetők hozzá a felügyelt erőforrásokhoz, ami megakadályozza, hogy illetéktelen biztonsági tagok töröljék őket. Ezeket a beállításokat megtagadási beállításoknak nevezzük. A vermet szülőhatókörben szeretné tárolni.

Az Azure PowerShell ezeket a paramétereket tartalmazza a megtagadási hozzárendelés testreszabásához:

  • DenySettingsMode: Meghatározza a felügyelt erőforrásokon tiltott műveleteket, hogy védelmet nyújtson a törlésre vagy frissítésre irányuló jogosulatlan biztonsági tagok ellen. Ez a korlátozás mindenkire vonatkozik, kivéve, ha kifejezetten hozzáférést adott. Az értékek a következők: None, DenyDeleteés DenyWriteAndDelete.
  • DenySettingsApplyToChildScopes: A letiltási beállítások a felügyelt erőforrások alatti beágyazott erőforrásokra lesznek alkalmazva.
  • DenySettingsExcludedAction: A megtagadási beállításokból kizárt szerepköralapú felügyeleti műveletek listája. Legfeljebb 200 művelet engedélyezett.
  • DenySettingsExcludedPrincipal: A zárolásból kizárt Microsoft Entra egyszerű azonosítók listája. Legfeljebb öt tag engedélyezett.

Megtagadási beállítások alkalmazása az erőforráscsoport hatókörében:

New-AzResourceGroupDeploymentStack `
  -Name "<deployment-stack-name>" `
  -ResourceGroupName "<resource-group-name>" `
  -TemplateFile "<bicep-file-name>" `
  -DenySettingsMode "DenyDelete" `
  -DenySettingsExcludedAction "Microsoft.Compute/virtualMachines/write Microsoft.StorageAccounts/delete" `
  -DenySettingsExcludedPrincipal "<object-id>,<object-id>"

Megtagadási beállítások alkalmazása az előfizetés hatókörében:

New-AzSubscriptionDeploymentStack `
  -Name "<deployment-stack-name>" `
  -Location "<location>" `
  -TemplateFile "<bicep-file-name>" `
  -DenySettingsMode "DenyDelete" `
  -DenySettingsExcludedAction "Microsoft.Compute/virtualMachines/write Microsoft.StorageAccounts/delete" `
  -DenySettingsExcludedPrincipal "<object-id>,<object-id>"

DeploymentResourceGroupName A paraméter használatával adja meg az erőforráscsoport nevét, amelyen az üzembe helyezési vermet létrehozták. Ha nincs megadva hatókör, az üzembe helyezési verem hatókörét használja.

Megtagadási beállítások alkalmazása a felügyeleti csoport hatókörében:

New-AzManagmentGroupDeploymentStack `
  -Name "<deployment-stack-name>" `
  -Location "<location>" `
  -TemplateFile "<bicep-file-name>" `
  -DenySettingsMode "DenyDelete" `
  -DenySettingsExcludedActions "Microsoft.Compute/virtualMachines/write Microsoft.StorageAccounts/delete" `
  -DenySettingsExcludedPrincipal "<object-id>,<object-id>"

DeploymentSubscriptionId A paraméter használatával adja meg azt az előfizetés-azonosítót, amelyen az üzembe helyezési vermet létrehozták. Ha nincs megadva hatókör, az üzembe helyezési verem hatókörét használja.

Felügyelt erőforrások leválasztása az üzembehelyezési veremről

Alapértelmezés szerint az üzembehelyezési veremek leválasztják és nem törlik a nem felügyelt erőforrásokat, ha már nem szerepelnek a verem felügyeleti hatókörében. További információt az üzembehelyezési vermek frissítése című témakörben talál.

Sablonok exportálása üzembehelyezési veremekből

Az erőforrásokat exportálhatja egy üzembehelyezési veremből egy JSON-kimenetbe. A kimenetet egy fájlba is becsúszthatja.

Üzembehelyezési verem exportálása az erőforráscsoport hatókörében:

Save-AzResourceGroupDeploymentStack `
   -Name '<deployment-stack-name>' `
   -ResourceGroupName '<resource-group-name>' `

Üzembehelyezési verem exportálása az előfizetés hatókörében:

Save-AzSubscriptionDeploymentStack `
  -name '<deployment-stack-name>'

Üzembehelyezési verem exportálása a felügyeleti csoport hatókörében:

Save-AzManagmentGroupDeploymentStack `
  -Name '<deployment-stack-name>' `
  -ManagementGroupId '<management-group-id>'

Következő lépések

A rövid útmutató végighaladásához tekintse meg a rövid útmutatót: üzembehelyezési verem létrehozása.