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: