Blog

Azure Verborgene Juwelen: Ressourcenrichtlinien

Marco Mansi

Aktualisiert Oktober 21, 2025
3 Minuten

Heute möchte ich Ihnen eine wirklich nützliche Azure-Funktion vorstellen, die Sie bei der Verwaltung Ihrer Azure-Abonnements unterstützt: Azure-Ressourcenrichtlinien:

Mit Ressourcenrichtlinien können Sie Konventionen für Ressourcen in Ihrem Unternehmen festlegen. Durch die Festlegung von Konventionen können Sie Kosten kontrollieren und Ihre Ressourcen einfacher verwalten. Sie können z.B. festlegen, dass nur bestimmte Arten von virtuellen Maschinen erlaubt sind, oder Sie können verlangen, dass alle Ressourcen ein bestimmtes Tag haben. Richtlinien werden an alle untergeordneten Ressourcen vererbt. Wenn also eine Richtlinie auf eine Ressourcengruppe angewendet wird, gilt sie für alle Ressourcen in dieser Ressourcengruppe.

So funktioniert die Ressourcenpolitik

Zunächst einmal benötigen Sie eine Definition der Richtlinie. Hier eine Beschreibung der Struktur.

Lassen Sie uns eine erstellen!

Sie können Richtliniendefinitionen direkt mit der Azure Rest API oder mit der PowerShell, der Azure CLI 1.0 oder 2.0 erstellen. Ich bevorzuge die Verwendung der PowerShell: Melden Sie sich zunächst in Azure mit: Login-AzureRmAccount und wenn Sie mehrere Abonnements haben, wählen Sie das richtige mit Select-AzureRmSubscription aus . Definieren Sie nun die Richtliniendefinition. Dies kann direkt inline erfolgen, indem Sie das Cmdlet New-AzureRmPolicyDefinition aufrufen:

$policy = New-AzureRmPolicyDefinition -Name costCenterTagPolicyDefinition -Description "Richtlinie zum Verweigern der Ressourcenerstellung, wenn kein costCenter-Tag angegeben wird" -Policy '{
  "wenn": {
  "nicht" : {
  "Feld" : "Tags",
  "enthältSchlüssel" : "costCenter"
  }
  },
  "dann" : {
  "Wirkung" : "verweigern"
  }
}'

oder erstellen Sie zunächst eine separate json-Datei:

{
  "wenn": {
  "nicht" : {
  "Feld" : "Tags",
  "enthältSchlüssel" : "costCenter"
  }
  },
  "dann" : {
  "Wirkung" : "verweigern"
  }
}

und rufen dann das Cmdlet New-AzureRmPolicyDefinition mit der json-Datei als Parameter auf:

$policy = New-AzureRmPolicyDefinition -Name costCenterTagPolicyDefinition -Description "Richtlinie zur Verweigerung der Ressourcenerstellung, wenn kein costCenter-Tag angegeben wird" -Policy "c:policiescostCenterTagPolicy.json"

Die obige Richtliniendefinition führt zu einem Fehler, wenn das Tag "costCenter" NICHT angegeben wird. Sobald Sie eine Richtliniendefinition haben, können Sie diese einer Ressource, einer Ressourcengruppe oder auf Abonnementebene zuweisen. Lassen Sie uns eine neue Ressourcengruppe erstellen:

New-AzureRmResourceGroup -Name PolicyRG -Standort "Westeuropa"

Und nun wenden Sie die Richtliniendefinition auf diese Ressourcengruppe an:

New-AzureRmPolicyAssignment -Name costCenterTagPolicyAssignment -PolicyDefinition $policy -Scope /subscriptions/ff1a0889-5f9e-44bc-908c-59e3e99361c3/resourceGroups/PolicyRG

Jetzt werde ich ein Speicherkonto mit einer ARM-Vorlage aus dem Azure Quickstart Template Github Repo einrichten, die nicht das erforderliche Tag costCenter enthält:

New-AzureRmResourceGroupDeployment -Name ExampleDeployment -ResourceGroupName PolicyRG -TemplateFile D:Sourcesazure-quickstart-templates101-storage-account-createazuredeploy.json -TemplateParameterFile D:Sourcesazure-quickstart-templates101-storage-account-createazuredeploy.parameters.json

und wir sehen den Fehler:

Der Fehler wird auch im Aktivitätsprotokoll des Portals protokolliert:

Ändern Sie nun die Vorlage für das Speicherkonto und fügen Sie den gewünschten Tag hinzu:

Und versuchen Sie die Bereitstellung erneut:

Ja! Das funktioniert jetzt! In diesem Beispiel haben wir einen Verweigerungseffekt angewendet, aber es gibt noch mehr:

  • Ablehnen erzeugt ein Ereignis im Audit-Protokoll und schlägt die Anfrage fehl.
  • Audit erzeugt eine Warnung im Audit-Protokoll, lässt die Anfrage aber nicht fehlschlagen.
  • Anhängen fügt die definierten Felder zur Anfrage hinzu.

Komplexere Szenarien

Sie können komplexere Richtliniendefinitionen erstellen, wie z.B. die Erzwingung von Namenskonventionen, die Erstellung von Ressourcen nur in bestimmten Regionen, die Erstellung von nur bestimmten Ressourcentypen usw. Hier einige Beispiele.

Fazit

Azure-Ressourcenrichtlinien sind eine unterbelichtete Funktion, die Ihrem Unternehmen bei der Verwaltung der Azure-Abonnements hilft und die Erstellung von Ressourcen in den DevOps-Teams konsistenter macht.

Verfasst von

Marco Mansi

Contact

Let’s discuss how we can support your journey.