Freigeben über


Erstellen und Bereitstellen von Azure-Bereitstellungsstapeln in Bicep

Ein Azure-Bereitstellungsstapel ist eine Ressource, mit der Sie eine Gruppe von Azure-Ressourcen als einzelne, zusammenhängende Einheit verwalten können. Wenn Sie eine Bicep-Datei oder eine JSON-Vorlage für Azure Resource Manager (ARM JSON-Vorlage) an einen Bereitstellungsstapel übermitteln, definieren Sie die Vom Stapel verwalteten Ressourcen. Wenn Sie eine Ressource aus der Vorlage entfernen, kann sie basierend auf dem angegebenen ActionOnUnmanage-Verhalten des Bereitstellungsstapels getrennt oder gelöscht werden. Sie können den Zugriff auf den Bereitstellungsstapel mithilfe der rollenbasierten Zugriffssteuerung (Azure RBAC) einschränken, ähnlich wie andere Azure-Ressourcen.

Verwenden Sie zum Erstellen und Aktualisieren eines Bereitstellungsstapels die Azure CLI, Azure PowerShell oder das Azure-Portal mit Bicep-Dateien. Der Stapel transpiliert diese Bicep-Dateien in ARM-JSON-Vorlagen und stellt sie als Bereitstellungsobjekt bereit. Der Bereitstellungsstapel bietet zusätzliche Funktionen, die über die vertrauten Bereitstellungsressourcen hinausgehen und eine Obermenge dieser Funktionen sind.

Microsoft.Resources/deploymentStacks ist der Ressourcentyp für Bereitstellungsstapel. Er besteht aus einer Hauptvorlage, die bereichsübergreifend 1:n-Aktualisierungen für die darin beschriebenen Ressourcen durchführen und alle unerwünschten Änderungen an diesen Ressourcen blockieren kann.

Berücksichtigen Sie bei der Planung Der Bereitstellung und der Bestimmung, welche Ressourcengruppen Teil desselben Stapels sein sollen, den Verwaltungslebenszyklus dieser Ressourcen, einschließlich Erstellung, Aktualisierung und Löschung. Sie müssen beispielsweise einige virtuelle Testcomputer für verschiedene Anwendungsteams in verschiedenen Ressourcengruppenbereichen bereitstellen. Sie können einen Bereitstellungsstapel verwenden, um diese Testumgebungen zu erstellen und die Konfigurationen des virtuellen Testcomputers durch nachfolgende Updates für den Bereitstellungsstapel zu aktualisieren. Nach Abschluss des Projekts müssen Sie möglicherweise alle von Ihnen erstellten Ressourcen entfernen oder löschen, z. B. die virtuellen Testcomputer. Verwenden Sie einen Bereitstellungsstapel, um das entsprechende Löschkennzeichen anzugeben und verwaltete Ressourcen zu entfernen. Dieser optimierte Ansatz spart Zeit während der Umgebungsbereinigung, da es eine einzelne Aktualisierung der Stapelressource erfordert, anstatt jeden virtuellen Testcomputer in verschiedenen Ressourcengruppenbereichen einzeln zu ändern oder zu entfernen.

Bereitstellungsstapel erfordern Azure PowerShell Version 12.0.0 oder höher oder Azure CLI Version 2.61.0 oder höher.

Um Ihren ersten Bereitstellungsstapel zu erstellen, arbeiten Sie Schnellstart: Erstellen eines Bereitstellungsstapels durch.

Gründe für das Verwenden von Bereitstellungsstapeln

Bereitstellungsstapel bieten die folgenden Vorteile:

  • Optimierte Bereitstellung und Verwaltung von Ressourcen in verschiedenen Bereichen als vereinheitlichte Entität
  • Verhindern unerwünschter Änderungen an verwalteten Ressourcen durch Ablehnungseinstellungen
  • Effiziente Umgebungsbereinigung mithilfe von Löschflags während Aktualisierungen des Bereitstellungsstapels
  • Verwendung von Standardvorlagen wie Bicep, ARM-Vorlagen oder Vorlagenspezifikationen für Ihre Deployment-Stacks.

Bekannte Einschränkungen

  • Es gibt eine Beschränkung von 800 Bereitstellungsstapeln, die innerhalb eines einzigen Bereichs erstellt werden können.
  • Maximal 2.000 Verweigerungszuweisungen können in einem bestimmten Bereich vorhanden sein.
  • Der Bereitstellungsstapel verwaltet nicht implizit erstellte Ressourcen. Daher können Sie für diese Ressourcen keine Verweigerungszuweisungen oder Bereinigungen verwenden.
  • Ablehnungszuweisungen unterstützen keine Tags.
  • Ablehnungszuweisungen werden im Verwaltungsgruppenbereich nicht unterstützt. Sie werden jedoch in einem Verwaltungsgruppenstapel unterstützt, wenn die Bereitstellung auf den Abonnementbereich verweist.
  • Bereitstellungsstapel können Schlüsseltresorgeheimnisse nicht löschen. Wenn Sie Schlüsseltresorgeheimnisse aus einer Vorlage entfernen, stellen Sie sicher, dass Sie auch den Befehl zum Aktualisieren/Löschen des Bereitstellungsstapels mit dem Trennmodus ausführen.

Bekannte Probleme

  • Beim Löschen von Ressourcengruppen werden Ablehnungszuweisungen derzeit umgangen. Wenn Sie einen Bereitstellungsstapel im Ressourcengruppenbereich erstellen, enthält die Bicep-Datei nicht die Definition für die Ressourcengruppe. Trotz der Einstellung "Zuweisung verweigern" können Sie die Ressourcengruppe und den enthaltenen Stapel löschen. Wenn jedoch eine Sperre für eine Ressource innerhalb der Gruppe aktiv ist, schlägt der Löschvorgang fehl.
  • Was-wäre-wenn wird noch nicht unterstützt.
  • Ein Stack im Bereich einer Verwaltungsgruppe kann nicht an eine andere Verwaltungsgruppe bereitgestellt werden. Er kann nur für die Verwaltungsgruppe des Stapels selbst oder für ein untergeordnetes Abonnement bereitgestellt werden.
  • Die Azure PowerShell-Befehlshilfe listet einen DeleteResourcesAndResourcesGroups Wert für den ActionOnUnmanage Switch auf. Wenn Sie diesen Wert verwenden, trennt der Befehl die verwalteten Ressourcen und die Ressourcengruppen. Dieser Wert wird im nächsten Update entfernt. Verwenden Sie diesen Wert nicht.
  • In einigen Fällen geben die Cmdlets "New" und "Set Azure PowerShell" möglicherweise einen generischen Vorlagenüberprüfungsfehler zurück, der nicht eindeutig umsetzbar ist. Dieser Fehler wird in der nächsten Version behoben. Wenn der Fehler nicht eindeutig ist, führen Sie das Cmdlet im Debugmodus aus, um einen detaillierteren Fehler in der unformatierten Antwort anzuzeigen.
  • Der Microsoft Graph-Anbieter unterstützt keine Bereitstellungsstapel.

Integrierte Rollen

Warnung

Die Durchsetzung der RBAC-Berechtigung Microsoft.Resources/deploymentStacks/manageDenySetting/action wird in allen Regionen eingeführt, einschließlich Government Clouds.

Es gibt zwei integrierte Rollen für den Bereitstellungsstapel:

  • Azure Deployment Stack Contributor: Benutzer können Bereitstellungsstapel verwalten, aber sie können keine Ablehnungszuweisungen innerhalb der Bereitstellungsstapel erstellen oder löschen.
  • Besitzer des Azure-Bereitstellungsstapels: Benutzer können Bereitstellungsstapel verwalten, einschließlich jener Benutzer, die über Ablehnungszuweisungen verfügen.

Erstellen von Bereitstellungsstapeln

Sie können eine Bereitstellungsstapelressource im Bereich der Ressourcengruppe, des Abonnements oder der Verwaltungsgruppe erstellen. Die Vorlage, die Sie mit einem Bereitstellungsstapel bereitstellen, definiert die Ressourcen zum Erstellen oder Aktualisieren im Zielbereich.

  • Ein Stapel im Ressourcengruppenbereich kann die Vorlage in derselben Ressourcengruppe bereitstellen, in der der Bereitstellungsstapel vorhanden ist.
  • Ein Stapel im Abonnementbereich kann die Vorlage in einer Ressourcengruppe oder im selben Abonnement bereitstellen, in dem der Bereitstellungsstapel vorhanden ist.
  • Ein Stapel im Verwaltungsgruppenbereich kann die Vorlage im Abonnement bereitstellen.

Es ist wichtig zu beachten, dass dort, wo ein Bereitstellungsstapel vorhanden ist, auch die Ablehnungszuweisung mit möglichen Ablehnungseinstellungen erstellt wird. Wenn Sie beispielsweise einen Bereitstellungsstapel im Abonnementbereich erstellen, der die Vorlage im Ressourcengruppenbereich und im Ablehnungseinstellungsmodus DenyDelete bereitstellt, können Sie verwaltete Ressourcen ganz einfach in der angegebenen Ressourcengruppe bereitstellen und Löschversuche für diese Ressourcen blockieren. Dieser Ansatz hilft Ihnen, die Sicherheit des Bereitstellungsstapels zu verbessern, indem sie auf Abonnementebene und nicht auf Ressourcengruppenebene getrennt wird. Diese Trennung stellt sicher, dass die Entwicklerteams, die mit den bereitgestellten Ressourcen arbeiten, nur Sichtbarkeit und Schreibzugriff auf die Ressourcengruppen haben. Der Bereitstellungsstapel bleibt auf einer höheren Ebene isoliert. Diese Konfiguration minimiert die Anzahl der Benutzer, die einen Bereitstellungsstapel bearbeiten und Änderungen an der Verweigerungszuweisung vornehmen können. Weitere Informationen finden Sie unter Schützen einer verwalteten Ressource vor dem Löschen.

Sie können auch die Create-Stack-Befehle verwenden, um Bereitstellungsstapel zu aktualisieren.

So erstellen Sie einen Bereitstellungsstapel im Ressourcengruppenbereich

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

So erstellen Sie einen Bereitstellungsstapel im Abonnementbereich

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

Der DeploymentResourceGroupName-Parameter gibt die Ressourcengruppe an, die zum Speichern der verwalteten Ressourcen verwendet wird. Wenn Sie den Parameter nicht angeben, werden die verwalteten Ressourcen im Abonnementbereich gespeichert.

So erstellen Sie einen Bereitstellungsstapel im Verwaltungsgruppenbereich

New-AzManagementGroupDeploymentStack `
  -Name "<deployment-stack-name>" `
  -Location "<___location>" `
  -TemplateFile "<bicep-file-name>" `
  -DeploymentSubscriptionId "<subscription-id>" `
  -ActionOnUnmanage "detachAll" `
  -DenySettingsMode "none"

Der deploymentSubscriptionId-Parameter gibt das Abonnement an, das zum Speichern der verwalteten Ressourcen verwendet wird. Wenn Sie den Parameter nicht angeben, werden die verwalteten Ressourcen im Verwaltungsgruppenbereich gespeichert.

Auflisten von Bereitstellungsstapeln

So listen Sie Ressourcen des Bereitstellungsstapels im Ressourcengruppenbereich auf

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

So listen Sie Ressourcen des Bereitstellungsstapels im Abonnementbereich auf

Get-AzSubscriptionDeploymentStack

So listen Sie Ressourcen des Bereitstellungsstapels im Verwaltungsgruppenbereich auf

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

Aktualisieren von Bereitstellungsstapeln

Um einen Bereitstellungsstapel zu aktualisieren, der möglicherweise das Hinzufügen oder Löschen einer verwalteten Ressource umfasst, müssen Sie Änderungen an den zugrunde liegenden Bicep-Dateien vornehmen. Nachdem Sie die Änderungen vorgenommen haben, können Sie den Bereitstellungsstapel aktualisieren, indem Sie entweder den Updatebefehl ausführen oder den Befehl zum Erstellen erneut ausführen.

Das Entwurfsmuster "infrastructure-as-code" bietet Ihnen die vollständige Kontrolle über die Liste der verwalteten Ressourcen.

Verwenden des Set-Befehls

So aktualisieren Sie einen Bereitstellungsstapel im Ressourcengruppenbereich

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

So aktualisieren Sie einen Bereitstellungsstapel im Abonnementbereich

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

Der DeploymentResourceGroupName-Parameter gibt die Ressourcengruppe an, die zum Speichern der Ressourcen des Bereitstellungsstapels verwendet wird. Wenn Sie keinen Ressourcengruppennamen angeben, erstellt der Bereitstellungsstapeldienst eine neue Ressourcengruppe für Sie.

So aktualisieren Sie einen Bereitstellungsstapel im Verwaltungsgruppenbereich

Set-AzManagementGroupDeploymentStack `
  -Name "<deployment-stack-name>" `
  -Location "<___location>" `
  -TemplateFile "<bicep-file-name>" `
  -DeploymentSubscriptionId "<subscription-id>" `
  -ActionOnUnmanage "detachAll" `
  -DenySettingsMode "none"

Den Befehl „Neu“ verwenden

Sie erhalten eine Warnung ähnlich der folgenden:

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)

Weitere Informationen finden Sie unter Erstellen von Bereitstellungsstapeln.

Steuern des Trennens und Löschens

Eine getrennte Ressource (oder nicht verwaltete Ressource) bezieht sich auf eine Ressource, die der Bereitstellungsstapel nicht nachverfolgt oder verwaltet, aber weiterhin in Azure vorhanden ist.

Um Azure anzuweisen, nicht verwaltete Ressourcen zu löschen, aktualisieren Sie den Stapel mit dem Befehl "Stapel erstellen", und schließen Sie den ActionOnUnmanage Switch ein. Weitere Informationen finden Sie unter Erstellen eines Bereitstellungsstapels.

Verwenden Sie den Schalter ActionOnUnmanage, um zu definieren, was mit Ressourcen geschieht, die nach dem Aktualisieren oder Löschen eines Stapels nicht mehr verwaltet werden. Zulässige Werte sind:

  • deleteAll: Verwenden Sie für verwaltete Ressourcen und Ressourcengruppen löschen anstatt trennen.
  • deleteResources: Verwenden Sie "Löschen" anstatt "Trennen" nur für verwaltete Ressourcen.
  • detachAll: Trennen Sie die verwalteten Ressourcen und Ressourcengruppen.

Zum Beispiel:

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

Warnung

Wenn Sie Ressourcengruppen löschen, auf die der action-on-unmanage-Switch auf deleteAll festgelegt ist, löschen Sie die verwalteten Ressourcengruppen und alle darin enthaltenen Ressourcen.

Behandeln des Fehlers „Stapel nicht synchronisiert“

Beim Aktualisieren oder Löschen eines Bereitstellungsstapels tritt möglicherweise der folgende Fehler auf, der angibt, dass die Stapelressourcenliste nicht ordnungsgemäß synchronisiert ist.

The deployment stack '{0}' might not have an accurate list of managed resources. To prevent resources from being accidentally deleted, check that the managed resource list doesn't have any additional values. If there is any uncertainty, it's recommended to redeploy the stack with the same template and parameters as the current iteration. To bypass this warning, specify the 'BypassStackOutOfSyncError' flag.

Sie können eine Liste der Ressourcen aus dem Azure-Portal abrufen oder die aktuell bereitgestellte Bicep-Datei mit denselben Parametern erneut bereitstellen. Die Ausgabe zeigt die verwalteten Ressourcen an.

...
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

Nachdem Sie die Liste der Ressourcen im Stack überprüft und verifiziert haben, führen Sie den Befehl mit dem BypassStackOutOfSyncError Schalter in Azure PowerShell (oder bypass-stack-out-of-sync-error in der Azure CLI) erneut aus. Verwenden Sie diesen Switch erst nach gründlicher Überprüfung der Liste der Ressourcen im Stapel. Verwenden Sie diese Option nicht standardmäßig.

Löschen von Bereitstellungsstapeln

Der Schalter ActionOnUnmanage definiert die Aktion für die Ressourcen, die nicht mehr verwaltet werden. Der Schalter weist die folgenden Werte auf:

  • DeleteAll: Löscht sowohl die Ressourcen als auch die Ressourcengruppen.
  • DeleteResources: Löschen Sie nur die Ressourcen.
  • DetachAll: Trennen Sie die Ressourcen.

Selbst wenn Sie den Switch "Alle löschen" angeben, verhindern nicht verwaltete Ressourcen innerhalb der Ressourcengruppe, in der sich der Bereitstellungsstapel befindet, dass sowohl die nicht verwalteten Ressourcen als auch die Ressourcengruppe selbst gelöscht werden.

So löschen Sie Ressourcen des Bereitstellungsstapels im Ressourcengruppenbereich

Remove-AzResourceGroupDeploymentStack `
  -name "<deployment-stack-name>" `
  -ResourceGroupName "<resource-group-name>" `
  -ActionOnUnmanage "<deleteAll/deleteResources/detachAll>"

So löschen Sie Ressourcen des Bereitstellungsstapels im Abonnementbereich

Remove-AzSubscriptionDeploymentStack `
  -Name "<deployment-stack-name>" `
  -ActionOnUnmanage "<deleteAll/deleteResources/detachAll>"

So löschen Sie Ressourcen des Bereitstellungsstapels im Verwaltungsgruppenbereich

Remove-AzManagementGroupDeploymentStack `
  -Name "<deployment-stack-name>" `
  -ManagementGroupId "<management-group-id>" `
  -ActionOnUnmanage "<deleteAll/deleteResources/detachAll>"

Anzeigen verwalteter Ressourcen im Bereitstellungsstapel

Der Bereitstellungsstapeldienst verfügt noch nicht über eine grafische Azure-Portalbenutzeroberfläche (GUI). Verwenden Sie die folgenden Azure PowerShell/Azure CLI-Befehle, um die verwalteten Ressourcen in einem Bereitstellungsstapel anzuzeigen:

So zeigen Sie verwaltete Ressourcen im Ressourcengruppenbereich an

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

So zeigen Sie verwaltete Ressourcen im Abonnementbereich an

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

So zeigen Sie verwaltete Ressourcen im Verwaltungsgruppenbereich an

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

Hinzufügen von Ressourcen zum Bereitstellungsstapel

Um eine verwaltete Ressource hinzuzufügen, fügen Sie den zugrunde liegenden Bicep-Dateien die Ressourcendefinition hinzu, und führen Sie dann den update-Befehl aus, oder führen Sie erneut den create-Befehl aus. Weitere Informationen finden Sie unter Aktualisieren von Bereitstellungsstapeln.

Löschen verwalteter Ressourcen aus dem Bereitstellungsstapel

Um eine verwaltete Ressource zu löschen, entfernen Sie die Ressourcendefinition aus den zugrunde liegenden Bicep-Dateien, und führen Sie dann den update-Befehl aus, oder führen Sie erneut den create-Befehl aus. Weitere Informationen finden Sie unter Aktualisieren von Bereitstellungsstapeln.

Schützen verwalteter Ressourcen

Sie können den verwalteten Ressourcen eines Bereitstellungsstapels bestimmte Berechtigungen zuweisen, um zu verhindern, dass nicht autorisierte Sicherheitsprinzipale sie löschen oder aktualisieren. Diese Berechtigungen werden als Ablehnungseinstellungen bezeichnet. Speichern Sie Stapel im übergeordneten Bereich. Um beispielsweise Ressourcen in einem Abonnement zu schützen, platzieren Sie den Stapel im übergeordneten Bereich, d. h. in der unmittelbar übergeordneten Verwaltungsgruppe.

Die Einstellung "Verweigern" gilt nur für die Steuerungsebenenvorgänge und nicht für die Datenebenenvorgänge. Sie erstellen beispielsweise Speicherkonten und Key Vaults über die Steuerungsebene, was bedeutet, dass der Bereitstellungsstack sie verwaltet. Sie erstellen jedoch untergeordnete Ressourcen wie Geheimnisse oder Blobcontainer über die Datenebene, was bedeutet, dass der Bereitstellungsstapel sie nicht verwalten kann.

Die Ablehnungseinstellung gilt nur für explizit erstellte Ressourcen, nicht implizit erstellte Ressourcen. Ein verwalteter AKS-Cluster erstellt beispielsweise mehrere andere Dienste, die ihn unterstützen, wie z. B. einen virtuellen Computer. Da der virtuelle Computer nicht in der Bicep-Datei definiert ist und eine implizit erstellte Ressource darstellt, unterliegt er nicht den Ablehnungseinstellungen für den Bereitstellungsstapel.

Hinweis

Die neueste Version erfordert spezifische Berechtigungen im Stapelbereich für Folgendes:

  • Erstellen oder aktualisieren Sie einen Bereitstellungsstapel, und konfigurieren Sie die Einstellung "Verweigern" auf einen anderen Wert als None.
  • Aktualisieren oder löschen Sie einen Bereitstellungsstapel mit einer vorhandenen Ablehnungseinstellung, die über einen anderen Wert als None verfügt.

Verwenden Sie die integrierten Rollen des Bereitstellungsstapels, um Berechtigungen zu erteilen.

Azure PowerShell enthält die folgenden Parameter, um die Ablehnungszuweisung anzupassen:

  • DenySettingsMode: Definiert die Vorgänge, die für die verwalteten Ressourcen verboten sind, um sie vor nicht autorisierten Sicherheitsprinzipalen zu schützen, die versuchen, sie zu löschen oder zu aktualisieren. Diese Einschränkung gilt für alle Personen, es sei denn, Sie gewähren explizit Zugriff. Diese Werte schließen Folgendes ein: None, DenyDelete und DenyWriteAndDelete.
  • DenySettingsApplyToChildScopes: Wenn angegeben, gilt die Konfiguration des Ablehnungseinstellungsmodus auch für den untergeordneten Bereich der verwalteten Ressourcen. Beispielsweise definiert eine Bicep-Datei eine Microsoft.Sql/servers-Ressource (übergeordnete Ressource) und eine Microsoft.Sql/servers/databases-Ressource (untergeordnete Ressource). Wenn Sie einen Bereitstellungsstapel mithilfe der Bicep-Datei mit aktivierter DenySettingsApplyToChildScopes-Einstellung und einer DenySettingsMode-Einstellung von DenyWriteAndDelete erstellen, können Sie weder der Microsoft.Sql/servers-Ressource noch der Microsoft.Sql/servers/databases-Ressource weitere untergeordnete Ressourcen hinzufügen.
  • DenySettingsExcludedAction: Liste der rollenbasierten Verwaltungsvorgänge, die von den Ablehnungseinstellungen ausgeschlossen sind. Bis zu 200 Aktionen sind zulässig.
  • DenySettingsExcludedPrincipal: Liste der von der Sperre ausgeschlossenen Microsoft Entra-Prinzipal-IDs. Bis zu fünf Prinzipale sind zulässig.

So wenden Sie Ablehnungseinstellungen im Ressourcengruppenbereich an

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>"

So wenden Sie Ablehnungseinstellungen im Abonnementbereich an

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>"

Verwenden Sie den DeploymentResourceGroupName-Parameter, um den Namen der Ressourcengruppe anzugeben, in der der Bereitstellungsstapel erstellt wird. Wenn kein Bereich angegeben wird, wird der Bereich des Bereitstellungsstapels verwendet.

So wenden Sie Ablehnungseinstellungen im Verwaltungsgruppenbereich an

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>"

Verwenden Sie den DeploymentSubscriptionId -Parameter, um die Abonnement-ID anzugeben, unter der der Bereitstellungsstapel erstellt wird. Wenn kein Bereich angegeben wird, wird der Bereich des Bereitstellungsstapels verwendet.

Trennen verwalteter Ressourcen vom Bereitstellungsstapel

Standardmäßig trennen Bereitstellungsstapel nicht verwaltete Ressourcen, anstatt sie zu löschen, wenn sie nicht mehr im Verwaltungsbereich des Stapels befinden. Weitere Informationen finden Sie unter Aktualisieren von Bereitstellungsstapeln.

Exportieren von Vorlagen aus Bereitstellungsstapeln

Sie können die Ressourcen aus einem Bereitstellungsstapel in eine JSON-Ausgabe exportieren. Sie können die Ausgabe in eine Datei umleiten (Pipe).

So exportieren Sie einen Bereitstellungsstapel im Ressourcengruppenbereich

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

So exportieren Sie einen Bereitstellungsstapel im Abonnementbereich

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

So exportieren Sie einen Bereitstellungsstapel im Verwaltungsgruppenbereich

Save-AzManagementGroupDeploymentStack `
  -Name "<deployment-stack-name>" `
  -ManagementGroupId "<management-group-id>"

Nächste Schritte

Informationen zum Durchlaufen eines Bicep-Bereitstellungsschnellstarts finden Sie unter Schnellstart: Erstellen und Bereitstellen eines Bereitstellungsstapels mit Bicep.