Risolvere gli errori per la richiesta non consentita dai criteri

Quando si distribuisce un modello di Azure Resource Manager (modello arm) o un file Bicep, viene visualizzato l'errore RequestDisallowedByPolicy quando una delle risorse da distribuire non è conforme a un Criteri di Azure esistente.

Sintomo

Durante la distribuzione, è possibile che venga visualizzato un errore RequestDisallowedByPolicy che impedisce la creazione di una risorsa. L'interfaccia della riga di comando di Azure, Azure PowerShell e il log attività del portale di Azure mostrano informazioni simili sull'errore. Gli elementi chiave sono il codice di errore, l'assegnazione dei criteri e la definizione dei criteri.

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

Nella stringa id il segnaposto {guid} rappresenta un ID sottoscrizione di Azure. Il nome di un policyAssignment o policyDefinition è l'ultimo segmento della stringa id.

Causa

L'organizzazione assegna criteri per applicare gli standard dell'organizzazione e per valutare la conformità su larga scala. Se si sta tentando di distribuire una risorsa che viola un criterio, la distribuzione viene bloccata.

Ad esempio, la sottoscrizione può avere un criterio che impedisce indirizzi IP pubblici nelle interfacce di rete. Se si tenta di creare un'interfaccia di rete con un indirizzo IP pubblico, i criteri impediscono di creare l'interfaccia di rete.

Soluzione

Per risolvere l'errore durante la RequestDisallowedByPolicy distribuzione di un modello di Resource Manager o di un file Bicep, è necessario individuare i criteri che bloccano la distribuzione. All'interno di tale criterio, è necessario esaminare le regole in modo da poter aggiornare la distribuzione in modo da rispettare i criteri.

Il messaggio di errore include i nomi della definizione dei criteri e dell'assegnazione dei criteri che ha causato l'errore. Questi nomi sono necessari per ottenere altre informazioni sui criteri.

Per ottenere altre informazioni su una definizione dei criteri, usare az policy definition show.

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

Per ottenere altre informazioni su un'assegnazione di criteri, usare az policy assignment show.

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

All'interno della definizione dei criteri viene visualizzata una descrizione dei criteri e delle regole applicate. Esaminare le regole e aggiornare il modello arm o il file Bicep in modo che siano conformi alle regole. Ad esempio, se la regola indica che l'accesso alla rete pubblica è disabilitato, è necessario aggiornare le proprietà delle risorse corrispondenti.

Per altre informazioni, consultare gli articoli seguenti: