Školení
Modul
Správa životního cyklu prostředků pomocí zásobníků nasazení - Training
Zjistěte, jak zásobníky nasazení spravují prostředky vaším jménem a jak se mění prostředky při nasazování, aktualizaci a odebírání zásobníků.
Tento prohlížeč se už nepodporuje.
Upgradujte na Microsoft Edge, abyste mohli využívat nejnovější funkce, aktualizace zabezpečení a technickou podporu.
Zásobník nasazení Azure je prostředek, který umožňuje spravovat skupinu prostředků Azure jako jednu jednotce, která je soudržná. Když do zásobníku nasazení odešlete soubor Bicep nebo šablonu JSON ARM, definuje prostředky, které tento zásobník spravuje. Pokud se prostředek dříve zahrnutý v šabloně odebere, odpojí se nebo odstraní na základě zadaného chování actionOnUnmanage zásobníku nasazení. Přístup ke zásobníku nasazení je možné omezit pomocí řízení přístupu na základě role v Azure (Azure RBAC), podobně jako u jiných prostředků Azure.
K vytvoření a aktualizaci zásobníku nasazení můžete společně se soubory Bicep využít Azure CLI, Azure PowerShell nebo Azure Portal. Tyto soubory Bicep se přeloží do šablon JSON ARM, které se pak nasadí jako objekt nasazení v zásobníku. Zásobník nasazení nabízí další možnosti nad rámec známých prostředků nasazení, které slouží jako nadmnožina těchto funkcí.
Microsoft.Resources/deploymentStacks
je typ prostředku pro zásobníky nasazení. Skládá se z hlavní šablony, která může provádět 1:N aktualizací napříč rozsahy prostředků, které popisuje, a blokovat všechny nežádoucí změny těchto prostředků.
Při plánování nasazení a určení skupin prostředků, které by měly být součástí stejného zásobníku, je důležité zvážit životní cyklus správy těchto prostředků, včetně vytváření, aktualizace a odstranění. Předpokládejme například, že potřebujete zřídit testovací virtuální počítače pro různé aplikační týmy v různých oborech skupin prostředků. V tomto případě lze zásobník nasazení využít k vytvoření těchto testovacích prostředí a aktualizaci konfigurací testovacích virtuálních počítačů prostřednictvím následných aktualizací zásobníku nasazení. Po dokončení projektu může být nutné odebrat nebo odstranit všechny vytvořené prostředky, jako jsou testovací virtuální počítače. Pomocí zásobníku nasazení je možné spravované prostředky snadno odebrat zadáním příslušného příznaku odstranění. Tento zjednodušený přístup šetří čas během čištění prostředí, protože zahrnuje jednu aktualizaci prostředku zásobníku místo individuální úpravy nebo odebrání každého testovacího virtuálního počítače v různých oborech skupin prostředků.
Zásobníky nasazení vyžadují Azure PowerShell verze 12.0.0 nebo novější nebo Azure CLI verze 2.61.0 nebo novější.
Pokud chcete vytvořit první zásobník nasazení, projděte si rychlý start: vytvoření zásobníku nasazení.
Zásobníky nasazení poskytují následující výhody:
ActionOnUnmanage
je uvedena DeleteResourcesAndResourcesGroups
hodnota přepínače. Při použití této hodnoty příkaz odpojte spravované prostředky a skupiny prostředků. Tato hodnota se odebere v další aktualizaci. Tuto hodnotu nepoužívejte.Upozornění
Vynucování oprávnění RBAC Microsoft.Resources/deploymentStacks/manageDenySetting/action se zavádí napříč oblastmi, včetně cloudů pro státní správu.
Pro zásobník nasazení existují dvě předdefinované role:
Prostředek zásobníku nasazení je možné vytvořit v oboru skupiny prostředků, předplatného nebo skupiny pro správu. Šablona předaná do zásobníku nasazení definuje prostředky, které se mají vytvořit nebo aktualizovat v cílovém oboru určeném pro nasazení šablony.
Je důležité si uvědomit, že pokud existuje zásobník nasazení, takže je vytvořené přiřazení zamítnutí s možností nastavení zamítnutí. Například vytvořením zásobníku nasazení v oboru předplatného, který nasadí šablonu do oboru skupiny prostředků a s režimem DenyDelete
odepřít nastavení , můžete snadno zřídit spravované prostředky pro zadanou skupinu prostředků a blokovat pokusy o odstranění těchto prostředků. Pomocí tohoto přístupu také zvýšíte zabezpečení zásobníku nasazení tím, že ho oddělíte na úrovni předplatného, a ne na úrovni skupiny prostředků. Toto oddělení zajišťuje, že vývojářské týmy, které pracují se zřízenými prostředky, budou mít k skupinám prostředků přístup pouze k viditelnosti a zápisu, zatímco zásobník nasazení zůstane izolovaný na vyšší úrovni. Tím se minimalizuje počet uživatelů, kteří můžou upravit zásobník nasazení a provádět změny přiřazení zamítnutí. Další informace najdete v tématu Ochrana spravovaného prostředku před odstraněním.
Příkazy pro vytváření zásobníku je také možné použít k aktualizaci zásobníků nasazení.
Vytvoření zásobníku nasazení v oboru skupiny prostředků:
New-AzResourceGroupDeploymentStack `
-Name "<deployment-stack-name>" `
-ResourceGroupName "<resource-group-name>" `
-TemplateFile "<bicep-file-name>" `
-ActionOnUnmanage "detachAll" `
-DenySettingsMode "none"
Vytvoření zásobníku nasazení v oboru předplatného:
New-AzSubscriptionDeploymentStack `
-Name "<deployment-stack-name>" `
-Location "<location>" `
-TemplateFile "<bicep-file-name>" `
-DeploymentResourceGroupName "<resource-group-name>" `
-ActionOnUnmanage "detachAll" `
-DenySettingsMode "none"
Parametr DeploymentResourceGroupName
určuje skupinu prostředků použitou k ukládání spravovaných prostředků. Pokud parametr není zadaný, spravované prostředky se ukládají v oboru předplatného.
Vytvoření zásobníku nasazení v oboru skupiny pro správu:
New-AzManagementGroupDeploymentStack `
-Name "<deployment-stack-name>" `
-Location "<location>" `
-TemplateFile "<bicep-file-name>" `
-DeploymentSubscriptionId "<subscription-id>" `
-ActionOnUnmanage "detachAll" `
-DenySettingsMode "none"
Parametr deploymentSubscriptionId
určuje předplatné použité k ukládání spravovaných prostředků. Pokud parametr není zadaný, spravované prostředky se ukládají do oboru skupiny pro správu.
Seznam prostředků zásobníku nasazení v oboru skupiny prostředků:
Get-AzResourceGroupDeploymentStack `
-ResourceGroupName "<resource-group-name>"
Zobrazení seznamu prostředků zásobníku nasazení v oboru předplatného:
Get-AzSubscriptionDeploymentStack
Seznam prostředků zásobníku nasazení v oboru skupiny pro správu:
Get-AzManagementGroupDeploymentStack `
-ManagementGroupId "<management-group-id>"
Pokud chcete aktualizovat zásobník nasazení, který může zahrnovat přidání nebo odstranění spravovaného prostředku, musíte provést změny v podkladových souborech Bicep. Po provedení změn máte dvě možnosti aktualizace zásobníku nasazení: spusťte příkaz update nebo spusťte příkaz create znovu.
Seznam spravovaných prostředků lze plně ovládat prostřednictvím vzoru návrhu infrastruktury jako kódu (IaC).
Aktualizace zásobníku nasazení v oboru skupiny prostředků:
Set-AzResourceGroupDeploymentStack `
-Name "<deployment-stack-name>" `
-ResourceGroupName "<resource-group-name>" `
-TemplateFile "<bicep-file-name>" `
-ActionOnUnmanage "detachAll" `
-DenySettingsMode "none"
Aktualizace zásobníku nasazení v oboru předplatného:
Set-AzSubscriptionDeploymentStack `
-Name "<deployment-stack-name>" `
-Location "<location>" `
-TemplateFile "<bicep-file-name>" `
-DeploymentResourceGroupName "<resource-group-name>" `
-ActionOnUnmanage "detachAll" `
-DenySettingsMode "none"
Parametr DeploymentResourceGroupName
určuje skupinu prostředků použitou k uložení prostředků zásobníku nasazení. Pokud nezadáte název skupiny prostředků, služba zásobníku nasazení za vás vytvoří novou skupinu prostředků.
Aktualizace zásobníku nasazení v oboru skupiny pro správu:
Set-AzManagementGroupDeploymentStack `
-Name "<deployment-stack-name>" `
-Location "<location>" `
-TemplateFile "<bicep-file-name>" `
-DeploymentSubscriptionId "<subscription-id>" `
-ActionOnUnmanage "detachAll" `
-DenySettingsMode "none"
Zobrazí se upozornění podobné následujícímu:
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)
Další informace najdete v tématu Vytváření zásobníků nasazení.
Odpojený prostředek (nebo nespravovaný prostředek) odkazuje na prostředek, který není sledován nebo spravován zásobníkem nasazení, ale stále existuje v Rámci Azure.
Pokud chcete Azure instruovat, aby odstranila nespravované prostředky, aktualizujte zásobník příkazem create stack následujícím přepínačem. Další informace najdete v tématu Vytvoření zásobníku nasazení.
ActionOnUnmanage
Pomocí přepínače můžete definovat, co se stane s prostředky, které se už nespravují po aktualizaci nebo odstranění zásobníku. Povolené hodnoty jsou následující:
deleteAll
: Používejte odstranění místo odpojení spravovaných prostředků a skupin prostředků.deleteResources
: Používejte odstranění místo odpojení jenom pro spravované prostředky.detachAll
: Odpojte spravované prostředky a skupiny prostředků.Příklad:
New-AzSubscriptionDeploymentStack `
-Name "<deployment-stack-name" `
-TemplateFile "<bicep-file-name>" `
-DenySettingsMode "none" `
-ActionOnUnmanage "deleteAll"
Upozornění
Při odstraňování skupin prostředků s přepínačem nespravovaných akcí nastaveným na DeleteAll
spravované skupiny prostředků a všechny prostředky obsažené v nich budou také odstraněny.
Při aktualizaci nebo odstranění zásobníku nasazení se může zobrazit následující chyba při synchronizaci, která značí, že seznam prostředků zásobníku není správně synchronizovaný.
The deployment stack '{0}' may not have an accurate list of managed resources. To ensure no resources are accidentally deleted, please check that the managed resource list does not have any additional values. If there is any uncertainty, we recommend redeploying the stack with the same template and parameters as the current iteration. To bypass this warning, please specify the 'BypassStackOutOfSyncError' flag.
Seznam prostředků můžete získat z webu Azure Portal nebo znovu nasadit aktuálně nasazený soubor Bicep se stejnými parametry. Výstup zobrazuje spravované prostředky.
...
Resources: /subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/resourceGroups/demoRg/providers/Microsoft.Network/virtualNetworks/vnetthmimleef5fwk
/subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/resourceGroups/demoRg/providers/Microsoft.Storage/storageAccounts/storethmimleef5fwk
Po kontrole a ověření seznamu prostředků v zásobníku můžete příkaz znovu spustit pomocí BypassStackOutOfSyncError
přepínače v Azure PowerShellu (nebo bypass-stack-out-of-sync-error
v Azure CLI). Tento přepínač by se měl použít až po důkladné kontrole seznamu prostředků v zásobníku před opětovným spuštěním příkazu. Tento přepínač by neměl být ve výchozím nastavení nikdy používán.
Přepínač ActionOnUnmanage
definuje akci na prostředky, které už nejsou spravovány. Přepínač má následující hodnoty:
DeleteAll
: Odstraňte prostředky i skupiny prostředků.DeleteResources
: Odstraňte pouze prostředky.DetachAll
: Odpojte prostředky.I když zadáte přepínač delete-all, nespravované prostředky ve skupině prostředků, ve které se nachází zásobník nasazení, zabrání odstranění nespravovaných prostředků i samotné skupiny prostředků.
Odstranění prostředků zásobníku nasazení v oboru skupiny prostředků:
Remove-AzResourceGroupDeploymentStack `
-name "<deployment-stack-name>" `
-ResourceGroupName "<resource-group-name>" `
-ActionOnUnmanage "<deleteAll/deleteResources/detachAll>"
Odstranění prostředků zásobníku nasazení v oboru předplatného:
Remove-AzSubscriptionDeploymentStack `
-Name "<deployment-stack-name>" `
-ActionOnUnmanage "<deleteAll/deleteResources/detachAll>"
Odstranění prostředků zásobníku nasazení v oboru skupiny pro správu:
Remove-AzManagementGroupDeploymentStack `
-Name "<deployment-stack-name>" `
-ManagementGroupId "<management-group-id>" `
-ActionOnUnmanage "<deleteAll/deleteResources/detachAll>"
Služba zásobníku nasazení zatím nemá grafické uživatelské rozhraní (GUI) na webu Azure Portal. Pokud chcete zobrazit spravované prostředky v zásobníku nasazení, použijte následující příkazy Azure PowerShellu nebo Azure CLI:
Zobrazení spravovaných prostředků v oboru skupiny prostředků:
(Get-AzResourceGroupDeploymentStack -Name "<deployment-stack-name>" -ResourceGroupName "<resource-group-name>").Resources
Zobrazení spravovaných prostředků v oboru předplatného:
(Get-AzSubscriptionDeploymentStack -Name "<deployment-stack-name>").Resources
Zobrazení spravovaných prostředků v oboru skupiny pro správu:
(Get-AzManagementGroupDeploymentStack -Name "<deployment-stack-name>" -ManagementGroupId "<management-group-id>").Resources
Pokud chcete přidat spravovaný prostředek, přidejte definici prostředku do podkladových souborů Bicep a pak spusťte příkaz update nebo spusťte příkaz create znovu. Další informace najdete v tématu Aktualizace zásobníků nasazení.
Pokud chcete odstranit spravovaný prostředek, odeberte definici prostředku ze základních souborů Bicep a pak spusťte příkaz update nebo spusťte příkaz create znovu. Další informace najdete v tématu Aktualizace zásobníků nasazení.
Ke spravovaným prostředkům zásobníku nasazení můžete přiřadit konkrétní oprávnění, abyste zabránili neoprávněnému objektu zabezpečení v jejich odstranění nebo aktualizaci. Tato oprávnění se označují jako nastavení zamítnutí. Chcete ukládat zásobníky v nadřazené oblasti. Pokud chcete například chránit prostředky v předplatném, musíte umístit zásobník do nadřazeného oboru, což je okamžitá nadřazená skupina pro správu.
Nastavení zamítnutí se vztahuje pouze na operace řídicí roviny, ne na operace roviny dat. Účty úložiště a trezory klíčů se například vytvářejí prostřednictvím řídicí roviny, což umožňuje jejich správu pomocí zásobníku nasazení. Podřízené prostředky, jako jsou tajné kódy nebo kontejnery objektů blob vytvořené prostřednictvím roviny dat, však není možné spravovat pomocí zásobníku nasazení.
Nastavení zamítnutí se vztahuje pouze na explicitně vytvořené prostředky, nikoli implicitně vytvořené prostředky. Spravovaný cluster AKS například vytvoří několik dalších služeb, které ho podporují, například virtuální počítač. V tomto případě, protože virtuální počítač není definován v souboru Bicep a je implicitně vytvořený prostředek, není předmětem nastavení odepření zásobníku nasazení.
Poznámka
Nejnovější verze vyžaduje konkrétní oprávnění v oboru zásobníku, aby:
None
.None
.K udělení oprávnění použijte předdefinované role sady nasazení.
Azure PowerShell obsahuje tyto parametry pro přizpůsobení přiřazení zamítnutí:
DenySettingsMode
: Definuje operace, které jsou zakázány na spravovaných prostředcích, aby se chránily před neoprávněnými objekty zabezpečení, které se pokouší odstranit nebo aktualizovat. Toto omezení platí pro všechny uživatele, pokud explicitně nepodělíte přístup. Mezi hodnoty patří: None
, DenyDelete
a DenyWriteAndDelete
.DenySettingsApplyToChildScopes
: Při zadání se konfigurace režimu odepření vztahuje také na podřízený obor spravovaných prostředků. Například soubor Bicep definuje prostředek Microsoft.Sql/servers (nadřazený) a prostředek Microsoft.Sql/servers/databases (podřízený). Pokud je sada nasazení vytvořená pomocí souboru Bicep s povoleným DenySettingsApplyToChildScopes
nastavením a nastavenou DenyWriteAndDelete
na DenySettingsMode
, nemůžete do prostředku Microsoft.Sql/servers nebo prostředku Microsoft.Sql/servers/databases přidat žádné další podřízené prostředky.DenySettingsExcludedAction
: Seznam operací správy založených na rolích, které jsou vyloučené z nastavení zamítnutí. Je povoleno až 200 akcí.DenySettingsExcludedPrincipal
: Seznam ID objektu zabezpečení Microsoft Entra vyloučených z zámku. Je povoleno až pět objektů zabezpečení.Použití nastavení zamítnutí v oboru skupiny prostředků:
New-AzResourceGroupDeploymentStack `
-Name "<deployment-stack-name>" `
-ResourceGroupName "<resource-group-name>" `
-TemplateFile "<bicep-file-name>" `
-ActionOnUnmanage "detachAll" `
-DenySettingsMode "denyDelete" `
-DenySettingsExcludedAction "Microsoft.Compute/virtualMachines/write Microsoft.StorageAccounts/delete" `
-DenySettingsExcludedPrincipal "<object-id>,<object-id>"
Použití nastavení zamítnutí v oboru předplatného:
New-AzSubscriptionDeploymentStack `
-Name "<deployment-stack-name>" `
-Location "<location>" `
-TemplateFile "<bicep-file-name>" `
-ActionOnUnmanage "detachAll" `
-DenySettingsMode "denyDelete" `
-DenySettingsExcludedAction "Microsoft.Compute/virtualMachines/write Microsoft.StorageAccounts/delete" `
-DenySettingsExcludedPrincipal "<object-id>,<object-id>"
Pomocí parametru DeploymentResourceGroupName
zadejte název skupiny prostředků, ve které se vytvoří zásobník nasazení. Pokud není zadaný obor, použije obor zásobníku nasazení.
Použití nastavení zamítnutí v oboru skupiny pro správu:
New-AzManagementGroupDeploymentStack `
-Name "<deployment-stack-name>" `
-Location "<location>" `
-TemplateFile "<bicep-file-name>" `
-ActionOnUnmanage "detachAll" `
-DenySettingsMode "denyDelete" `
-DenySettingsExcludedActions "Microsoft.Compute/virtualMachines/write Microsoft.StorageAccounts/delete" `
-DenySettingsExcludedPrincipal "<object-id>,<object-id>"
Pomocí parametru DeploymentSubscriptionId
zadejte ID předplatného, ve kterém se vytvoří zásobník nasazení. Pokud není zadaný obor, použije obor zásobníku nasazení.
Ve výchozím nastavení se zásobníky nasazení odpojí a neodstraňují nespravované prostředky, pokud už nejsou obsažené v oboru správy zásobníku. Další informace najdete v tématu Aktualizace zásobníků nasazení.
Prostředky můžete exportovat ze zásobníku nasazení do výstupu JSON. Výstup můžete převést do souboru.
Export zásobníku nasazení v oboru skupiny prostředků:
Save-AzResourceGroupDeploymentStack `
-Name "<deployment-stack-name>" `
-ResourceGroupName "<resource-group-name>" `
Export zásobníku nasazení v oboru předplatného:
Save-AzSubscriptionDeploymentStack `
-name "<deployment-stack-name>"
Export zásobníku nasazení v oboru skupiny pro správu:
Save-AzManagementGroupDeploymentStack `
-Name "<deployment-stack-name>" `
-ManagementGroupId "<management-group-id>"
Pokud chcete projít rychlý start, podívejte se na rychlý start: Vytvoření zásobníku nasazení.
Školení
Modul
Správa životního cyklu prostředků pomocí zásobníků nasazení - Training
Zjistěte, jak zásobníky nasazení spravují prostředky vaším jménem a jak se mění prostředky při nasazování, aktualizaci a odebírání zásobníků.
Dokumentace
Vytvoření a nasazení specifikací šablon v Bicep - Azure Resource Manager
Naučte se vytvářet specifikace šablon v Bicep a sdílet je s dalšími uživateli ve vaší organizaci.
Výpis přiřazení zamítnutí Azure – Azure RBAC
Zjistěte, jak vypsat přiřazení odepření Azure v řízení přístupu na základě role v Azure (Azure RBAC).
Nasazení prostředků do předplatného - Azure Resource Manager
Popisuje, jak vytvořit skupinu prostředků v šabloně Azure Resource Manageru. Ukazuje také, jak nasadit prostředky v oboru předplatného Azure.