Beheben von Fehlern wegen „Anforderung durch Richtlinie nicht zugelassen“

Beim Bereitstellen einer Azure Resource Manager-Vorlage (ARM-Vorlage) oder Bicep-Datei wird der Fehler RequestDisallowedByPolicy angezeigt, wenn eine der bereitzustellenden Ressourcen einer vorhandenen Azure Policy nicht entspricht.

Symptom

Während einer Bereitstellung erhalten Sie ggf. den Fehler RequestDisallowedByPolicy, der die Erstellung der Ressourcen verhindert. Azure CLI, Azure PowerShell und das Aktivitätsprotokoll des Azure-Portals zeigen ähnliche Informationen zu dem Fehler an. Die wichtigsten Elemente sind der Fehlercode, die Richtlinienzuweisung und die Richtliniendefinition.

"statusMessage": "{"error":{"code":"RequestDisallowedByPolicy", "target":"examplenic1207",
  "message":"Resource `examplenic1207` was disallowed by policy. Policy identifiers:

"policyAssignment":{"name":"Network interfaces should not have public IPs",
  "id":"/subscriptions/{guid}/providers/Microsoft.Authorization/policyAssignments/1111aa2222bb3333cc4444dd"}

"policyDefinition":{"name":"Network interfaces should not have public IPs",
  "id":"/subscriptions/{guid}/providers/Microsoft.Authorization/policyDefinitions/83a86a26-fd1f-447c-b59d-e51f44264114"}

In der Zeichenfolge id stellt der Platzhalter {guid} eine Azure-Abonnement-ID dar. Der Name einer policyAssignment oder policyDefinition ist das letzte Segment der Zeichenfolge id.

Ursache

Ihre Organisation weist Richtlinien zur Durchsetzung von Organisationsstandards und Bewertung der Compliance im großen Stil zu. Wenn Sie versuchen, eine Ressource bereitzustellen, die gegen eine Richtlinie verstößt, wird die Bereitstellung blockiert.

Ihr Abonnement kann z. B. über eine Richtlinie verfügen, die öffentliche IP-Adressen an Netzwerkschnittstellen verhindert. Wenn Sie versuchen, eine Netzwerkschnittstelle mit einer öffentlichen IP-Adresse zu erstellen, blockiert die Richtlinie die Erstellung der Netzwerkschnittstelle.

Lösung

Um den Fehler RequestDisallowedByPolicy beim Bereitstellen einer ARM-Vorlage oder Bicep-Datei zu beheben, müssen Sie herausfinden, welche Richtlinie die Bereitstellung blockiert. In dieser Richtlinie müssen Sie die Regeln überprüfen, damit Sie Ihre Bereitstellung so aktualisieren können, dass sie der Richtlinie entspricht.

Die Fehlermeldung enthält die Namen der Richtliniendefinition und der Richtlinienzuweisung, die den Fehler verursacht haben. Sie brauchen diese Namen, um weitere Informationen zur Richtlinie zu erhalten.

Weitere Informationen zu einer Richtliniendefinition erhalten Sie mithilfe des Befehls az policy definition show.

az policy definition show --name {policy-name}

Weitere Informationen zu einer Richtlinienzuweisung erhalten Sie mithilfe des Befehls az policy assignment show.

az policy assignment show --name {assignment-name} --resource-group {resource-group-name}

In der Richtliniendefinition wird eine Beschreibung der Richtlinie und der Regeln, die angewendet werden, angezeigt. Überprüfen Sie die Regeln, und aktualisieren Sie Ihre ARM-Vorlage oder Bicep-Datei, sodass sie den Regeln entsprechen. Wenn eine Regel beispielsweise angibt, dass der Zugriff auf das öffentliche Netzwerk deaktiviert ist, müssen Sie die entsprechenden Ressourceneigenschaften aktualisieren.

Weitere Informationen finden Sie in den folgenden Artikeln: