Fouten oplossen voor aanvragen die niet zijn toegestaan door beleid

Wanneer u een ARM-sjabloon (Azure Resource Manager) of Bicep-bestand implementeert, krijgt u de RequestDisallowedByPolicy foutmelding wanneer een van de resources die moeten worden geïmplementeerd, niet voldoet aan een bestaand Azure Policy.

Symptoom

Tijdens een implementatie ontvangt u mogelijk een RequestDisallowedByPolicy fout waardoor u geen resource kunt maken. Azure CLI, Azure PowerShell en het activiteitenlogboek van de Azure Portal bevatten vergelijkbare informatie over de fout. De belangrijkste elementen zijn de foutcode, beleidstoewijzing en beleidsdefinitie.

"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 de id-tekenreeks vertegenwoordigt de tijdelijke aanduiding {guid} een Azure-abonnements-id. De naam van een policyAssignment of policyDefinition is het laatste segment van de id-tekenreeks.

Oorzaak

Uw organisatie wijst beleidsregels toe om organisatiestandaarden af te dwingen en naleving op schaal te beoordelen. Als u een resource probeert te implementeren die een beleid schendt, wordt de implementatie geblokkeerd.

Uw abonnement kan bijvoorbeeld een beleid hebben waarmee openbare IP-adressen op netwerkinterfaces worden voorkomen. Als u probeert een netwerkinterface met een openbaar IP-adres te maken, blokkeert het beleid het maken van de netwerkinterface.

Oplossing

Als u de fout wilt oplossen bij het RequestDisallowedByPolicy implementeren van een ARM-sjabloon of Bicep-bestand, moet u bepalen welk beleid de implementatie blokkeert. Binnen dat beleid moet u de regels controleren, zodat u uw implementatie kunt bijwerken om te voldoen aan het beleid.

Het foutbericht bevat de namen van de beleidsdefinitie en beleidstoewijzing die de fout hebben veroorzaakt. U hebt deze namen nodig voor meer informatie over het beleid.

Gebruik az policy definition show om meer informatie over een beleidsdefinitie te krijgen.

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

Gebruik az policy assignment show om meer informatie over een beleidstoewijzing te krijgen.

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

In de beleidsdefinitie ziet u een beschrijving van het beleid en de regels die worden toegepast. Controleer de regels en werk uw ARM-sjabloon of Bicep-bestand bij om te voldoen aan de regels. Als de regel bijvoorbeeld aangeeft dat de toegang tot het openbare netwerk is uitgeschakeld, moet u de bijbehorende resource-eigenschappen bijwerken.

Raadpleeg voor meer informatie de volgende artikelen: