Kesalahan RequestDisallowedByPolicy dengan kebijakan sumber daya Azure

Artikel ini menjelaskan penyebab kesalahan RequestDisallowedByPolicy dan memberikan solusi untuk kesalahan tersebut. Kesalahan dapat terjadi saat Anda menyebarkan sumber daya dengan templat Azure Resource Manager (templat ARM) atau file Bicep.

Gejala

Selama penyebaran, Anda mungkin menerima kesalahan RequestDisallowedByPolicy yang mencegah Anda membuat sumber daya. Azure CLI, Azure PowerShell, dan log aktivitas portal Microsoft Azure menunjukkan informasi mirip tentang kesalahan. Elemen kuncinya adalah kode galat, penugasan kebijakan, dan definisi kebijakan.

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

Nama policyAssignment atau policyDefinition adalah segmen terakhir dari string id. Tempat penampung {guid} mewakili ID langganan Azure.

Penyebab

Dalam contoh ini, kesalahan terjadi saat administrator mencoba membuat antarmuka jaringan dengan alamat IP publik. Penugasan kebijakan memungkinkan penerapan definisi kebijakan bawaan yang mencegah IP publik pada antarmuka jaringan.

Anda dapat menggunakan nama penugasan kebijakan atau definisi kebijakan untuk mendapatkan detail selengkapnya tentang kebijakan yang menyebabkan kesalahan. Contoh perintah menggunakan tempat penampung untuk input. Misalnya, ganti <policy definition name> termasuk kurung sudut, dengan nama definisi dari pesan kesalahan Anda.

Untuk mendapatkan informasi selengkapnya tentang definisi kebijakan, gunakan az policy definition show.

defname=<policy definition name>
az policy definition show --name $defname

Untuk mendapatkan informasi selengkapnya tentang penugasan kebijakan, gunakan az policy assignment show.

rg=<resource group name>
assignmentname=<policy assignment name>
az policy assignment show --name $assignmentname --resource-group $rg

Solusi

Administrator langganan Anda mungkin menetapkan kebijakan yang membatasi cara penyebaran sumber daya. Misalnya, kebijakan yang mencegah pembuatan alamat IP publik, kelompok keamanan jaringan, rute yang ditentukan pengguna, atau tabel rute.

Untuk mengatasi kesalahan RequestDisallowedByPolicy, tinjau kebijakan sumber daya dan tentukan cara menyebarkan sumber daya yang sesuai kebijakan tersebut. Pesan kesalahan menampilkan nama definisi kebijakan dan penugasan kebijakan.

Untuk informasi selengkapnya, lihat artikel berikut ini: