Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
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ösch-Flags bei Updates des Deployment-Stacks.
- 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 Stack auf Verwaltungsebenenebene unterstützt, wenn die Bereitstellung auf den Abonnementumfang ausgerichtet ist.
- Bereitstellungsstapel können Key Vault-Geheimnisse 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.
- Die Unterstützung für What-if ist noch nicht verfügbar.
- 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
DeleteResourcesAndResourcesGroupsWert für denActionOnUnmanageSwitch 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.
Bereitstellungsstapel erstellen
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 Verweigerungszuweisung mit der Funktion für Verweigerungseinstellungen erstellt wird. Wenn Sie beispielsweise einen Bereitstellungsstapel auf Abonnementebene erstellen, der die Vorlage auf Ressourcengruppenebene bereitstellt, und dabei den Verweigerungseinstellungsmodus DenyDelete verwenden, können Sie verwaltete Ressourcen ganz einfach in der angegebenen Ressourcengruppe bereitstellen und Löschversuche für diese Ressourcen verhindern. 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 Bereich der Ressourcengruppe:
New-AzResourceGroupDeploymentStack `
-Name "<deployment-stack-name>" `
-ResourceGroupName "<resource-group-name>" `
-TemplateFile "<bicep-file-name>" `
-ActionOnUnmanage "detachAll" `
-DenySettingsMode "none"
So erstellen Sie einen Bereitstellungsstapel auf Abonnementebene:
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 Bereich der Verwaltungsgruppe:
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.
Deployment-Stacks auflisten
So listen Sie die Ressourcen des Bereitstellungsstapels im Bereich der Ressourcengruppe auf:
Get-AzResourceGroupDeploymentStack `
-ResourceGroupName "<resource-group-name>"
So führen Sie Ressourcen des Bereitstellungsstapels im Abonnementbereich auf:
Get-AzSubscriptionDeploymentStack
So listen Sie Ressourcen des Bereitstellungsstapels im Bereich der Verwaltungsgruppe auf:
Get-AzManagementGroupDeploymentStack `
-ManagementGroupId "<management-group-id>"
Deployment-Stacks aktualisieren
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 Sie den Set-Befehl
So aktualisieren Sie einen Bereitstellungsstapel im Bereich der Ressourcengruppe:
Set-AzResourceGroupDeploymentStack `
-Name "<deployment-stack-name>" `
-ResourceGroupName "<resource-group-name>" `
-TemplateFile "<bicep-file-name>" `
-ActionOnUnmanage "detachAll" `
-DenySettingsMode "none"
So aktualisieren Sie einen Deploymentstack auf Abonnementebene:
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 Bereich der Verwaltungsgruppe:
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.
Trennen und Löschen steuern
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.
Beheben des Fehlers „Stack 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.
Deployment-Stacks löschen
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 Bereich der Ressourcengruppe:
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 Bereitstellungsstapelressourcen im Bereich der Verwaltungsgruppe:
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
Noneverfü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,DenyDeleteundDenyWriteAndDelete. -
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 aktivierterDenySettingsApplyToChildScopes-Einstellung und einerDenySettingsMode-Einstellung vonDenyWriteAndDeleteerstellen, 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. Es sind bis zu fünf Prinzipale zulässig.
Ausschließen von Prinzipale aus Deny-Einstellungen
Verwenden Sie die Einstellung für ausgeschlossene Sicherheitsprinzipale (DenySettingsExcludedPrincipal in Azure PowerShell, deny-settings-excluded-principals in Azure CLI), um bestimmte Identitäten von der Verweigerungseinstellung auszunehmen. Die Einstellung akzeptiert die Microsoft Entra-Objekt-ID eines beliebigen Prinzipaltyps, einschließlich:
- Benutzer
- Microsoft Entra Gruppen (z. B. Sicherheitsgruppen)
- Dienstprinzipale
- Verwaltete Identitäten
Wenn Sie eine Gruppe ausschließen, gilt die Einstellung "Verweigern" nicht für die Prinzipale in dieser Gruppe. Das Verwalten von Ausschlüssen über die Gruppenmitgliedschaft ist der empfohlene Ansatz, da Sie ändern können, wer ausgeschlossen wird, indem Sie die Gruppe aktualisieren, anstatt den Bereitstellungsstapel zu aktualisieren. Zu den Identitäten, die häufig ausgeschlossen werden, gehören CI/CD-Dienstverbindungen und Workload-Identitäten, Plattformteam- oder Break-Glass-Administratorgruppen sowie Identitäten für die Richtlinienkorrektur.
Important
Sie können maximal fünf Prinzipale ausschließen. Wenn Sie mehr als fünf Prinzipale angeben, wird kein Fehler zurückgegeben. Vergewissern Sie sich daher, dass die Liste maximal fünf Einträge enthält. Um mehr Identitäten auszuschließen, als das Limit zulässt, fassen Sie sie in einer oder mehreren Microsoft Entra Gruppen zusammen, und schließen Sie statt der einzelnen Prinzipale die Gruppen aus.
Wenn Sie eine Gruppe ausschließen, wird die Einstellung „Verweigern“ anhand der Mitgliedschaft dieser Gruppe ausgewertet. Wenn Sie geschachtelte Gruppen verwenden, testen Sie die Konfiguration, um zu bestätigen, dass die Prinzipale, die Sie ausschließen möchten, ausgenommen sind, bevor Sie sich auf die Einstellung "Verweigern" verlassen.
So wenden Sie Verweigerungseinstellungen auf Ressourcengruppenebene 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 Verweigerungseinstellungen auf Abonnementebene 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.
Verwaltete Ressourcen vom Deployment-Stack trennen
Standardmäßig heben Bereitstellungsstapel die Verwaltung nicht verwalteter Ressourcen auf, anstatt sie zu löschen, sobald sie nicht mehr im Verwaltungsumfang des Stapels enthalten sind. 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 Bereich der Ressourcengruppe:
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.