İlke tarafından izin verilmeyen istek hatalarını düzeltme
Azure Resource Manager şablonu (ARM şablonu) veya Bicep dosyası dağıtırken, dağıtılacak kaynaklardan biri mevcut bir Azure İlkesi uyumlu olmadığında hatayla karşılaşırsınızRequestDisallowedByPolicy
.
Belirti
Dağıtım sırasında kaynak oluşturmanızı engelleyen bir RequestDisallowedByPolicy
hatası alabilirsiniz. Azure CLI, Azure PowerShell ve Azure portal’ın etkinlik günlüğü hata hakkında benzer bilgiler gösterir. Önemli öğeler, hata kodu, ilke ataması ve ilke tanımıdır.
"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"}
id
dizesinde {guid}
yer tutucu, bir Azure abonelik kimliğini temsil eder. policyAssignment
veya policyDefinition
adı, id
dizesinin son kesimidir.
Neden
Kuruluşunuz, kuruluş standartlarını zorlamak ve uyumluluğu büyük ölçekte değerlendirmek için ilkeler atar. İlkeyi ihlal eden bir kaynak dağıtmaya çalışıyorsanız dağıtım engellenir.
Örneğin, aboneliğinizin ağ arabirimlerinde genel IP'leri engelleyen bir ilkesi olabilir. Genel IP adresiyle bir ağ arabirimi oluşturmayı denerseniz, ilke ağ arabirimini oluşturmanızı engeller.
Çözüm
ARM şablonu veya Bicep dosyası dağıtırken oluşan hatayı çözmek RequestDisallowedByPolicy
için dağıtımı engelleyen ilkeyi bulmanız gerekir. Bu ilkede, dağıtımınızı ilkeyle uyumlu olacak şekilde güncelleştirebilmeniz için kuralları gözden geçirmeniz gerekir.
Hata iletisi, hataya neden olan ilke tanımının ve ilke atamasının adlarını içerir. İlke hakkında daha fazla bilgi edinmek için bu adlara ihtiyacınız vardır.
İlke tanımı hakkında daha fazla bilgi edinmek için, az policy definition show komutunu kullanın.
az policy definition show --name {policy-name}
İlke ataması hakkında daha fazla bilgi edinmek için az policy assignment show komutunu kullanın.
az policy assignment show --name {assignment-name} --resource-group {resource-group-name}
İlke tanımında ilkenin açıklamasını ve uygulanan kuralları görürsünüz. Kuralları gözden geçirin ve ARM şablonunuzu veya Bicep dosyanızı kurallara uyacak şekilde güncelleştirin. Örneğin, kural genel ağ erişiminin devre dışı olduğunu belirtiyorsa, ilgili kaynak özelliklerini güncelleştirmeniz gerekir.
Daha fazla bilgi için aşağıdaki makaleleri inceleyin: