Uyumsuzluk nedenlerini belirleme
Bir Azure kaynağının bir ilke kuralıyla uyumlu olmadığı belirlendiğinde, kaynağın kuralın hangi bölümüyle uyumlu olmadığını anlamak yararlı olur. Ayrıca, hangi değişikliğin uyumlu olmayan hale getirmek için daha önce uyumlu bir kaynağı değiştirdiğini anlamak da yararlıdır. Bu bilgileri bulmanın iki yolu vardır:
Uyumluluk ayrıntıları
Bir kaynak uyumsuz olduğunda, bu kaynağın uyumluluk ayrıntılarına İlke uyumluluğu sayfasından ulaşabilirsiniz. Uyumluluk ayrıntıları bölmesi aşağıdaki bilgileri içerir:
- Ad, tür, konum ve kaynak kimliği gibi kaynak ayrıntıları.
- Geçerli ilke ataması için son değerlendirmenin uyumluluk durumu ve zaman damgası.
- Kaynak uyumsuzluğunun nedenlerinin listesi.
Önemli
Uyumlu olmayan bir kaynağın uyumluluk ayrıntıları, bu kaynak üzerindeki özelliklerin geçerli değerini gösterdiğinden, kullanıcının kaynak türüne yönelik okuma işlemine sahip olması gerekir. Örneğin, Uyumlu olmayan kaynak ise Microsoft.Compute/virtualMachines
kullanıcının işlemi olması Microsoft.Compute/virtualMachines/read
gerekir. Kullanıcının gerekli işlemi yoksa bir erişim hatası görüntülenir.
Uyumluluk ayrıntılarını görüntülemek için şu adımları izleyin:
Azure portalında Tüm hizmetler'i seçip İlke'yi arayarak ve seçerek Azure İlkesi hizmetini başlatın.
Genel Bakış veya Uyumluluk sayfasında Uyumsuz uyumluluk durumundaki bir ilkeyi seçin.
İlke uyumluluğu sayfasının Kaynak uyumluluğu sekmesinden uyumsuz uyumluluk durumundaki bir kaynağın üç noktasını seçin ve basılı tutun (veya sağ tıklayın). Ardından Uyumluluk ayrıntılarını görüntüle'yi seçin.
Uyumluluk ayrıntıları bölmesi, kaynağın en son değerlendirmesinden geçerli ilke atamasına kadar olan bilgileri görüntüler. Bu örnekte, alan
Microsoft.Sql/servers/version
12.0 olarak bulunurken ilke tanımı 14.0 beklenir. Kaynak birden çok nedenle uyumlu değilse, her biri bu bölmede listelenir.auditIfNotExists
VeyadeployIfNotExists
ilke tanımı için ayrıntılar details.type özelliğini ve isteğe bağlı özellikleri içerir. Liste için bkz . auditIfNotExists özellikleri ve deployIfNotExists özellikleri. Son değerlendirilen kaynak, tanımın ayrıntılar bölümünde yer alan ilgili bir kaynaktır.Örnek kısmi
deployIfNotExists
tanım:{ "if": { "field": "type", "equals": "[parameters('resourceType')]" }, "then": { "effect": "deployIfNotExists", "details": { "type": "Microsoft.Insights/metricAlerts", "existenceCondition": { "field": "name", "equals": "[concat(parameters('alertNamePrefix'), '-', resourcegroup().name, '-', field('name'))]" }, "existenceScope": "subscription", "deployment": { ... } } } }
Not
Verileri korumak için, bir özellik değeri gizli dizi olduğunda geçerli değer yıldız görüntüler.
Bu ayrıntılar, bir kaynağın neden şu anda uyumsuz olduğunu açıklar, ancak kaynağın uyumsuz olmasına neden olan değişiklik ne zaman yapılmadığını gösterir. Bu bilgi için bkz . Değişiklik geçmişi (Önizleme).
Uyumluluk nedenleri
Resource Manager modlarının ve Kaynak Sağlayıcısı modlarının her birinin uyumsuzluk için farklı nedenleri vardır .
Genel Resource Manager modu uyumluluk nedenleri
Aşağıdaki tabloda her Resource Manager modu nedeni ilke tanımındaki sorumlu koşulla eşlenmektedir:
Nedeni | Koşul |
---|---|
Geçerli değer, anahtar olarak hedef değeri içermelidir. | containsKey veya notContainsKey |
Geçerli değer hedef değeri içermelidir. | contains veya notContains |
Geçerli değer hedef değere eşit olmalıdır. | eşittir veya notEquals |
Geçerli değer hedef değerden küçük olmalıdır. | greaterOrEquals |
Geçerli değer hedef değerden büyük veya buna eşit olmalıdır. | greaterOrEquals veya daha az değil |
Geçerli değer hedef değerden büyük olmalıdır. | greater veya not lessOrEquals |
Geçerli değer hedef değerden küçük veya buna eşit olmalıdır. | lessOrEquals veya daha büyük değil |
Geçerli değer mevcut olmalıdır. | var |
Geçerli değer hedef değerde olmalıdır. | in veya notIn |
Geçerli değer hedef değer gibi olmalıdır. | beğenme veya beğenmeme |
Geçerli değerin hedef değerle eşleşmesi için büyük/küçük harfe duyarlı olması gerekir. | eşleşme veya eşleşmemeMatch |
Geçerli değerin hedef değerle eşleşmesi büyük/küçük harfe duyarlı olmamalıdır. | matchInsensitively veya notMatchInsensitively |
Geçerli değer, hedef değeri anahtar olarak içermemelidir. | notContainsKey veya containsKey |
Geçerli değer hedef değeri içermemelidir. | notContains veya içermez |
Geçerli değer hedef değere eşit olmamalıdır. | notEquals veya not equals |
Geçerli değer mevcut olmamalıdır. | yok |
Geçerli değer hedef değerde olmamalıdır. | içinde değil |
Geçerli değer hedef değer gibi olmamalıdır. | beğenmeyin veya beğenmeyin |
Geçerli değer, hedef değerle eşleşen büyük/küçük harfe duyarlı olmamalıdır. | notMatch veya eşleşmedi |
Geçerli değer hedef değerle büyük/küçük harfe duyarlı olmamalıdır. | notMatchInsensitively veya not matchInsensitively |
İlke tanımındaki etki ayrıntılarıyla eşleşen ilgili kaynak yok. | İlke kuralının if bölümünde tanımlanan kaynakla ilgili ve içinde tanımlanan then.details.type türde bir kaynak yok. |
Kaynak Sağlayıcısı modu uyumluluk nedenlerini Azure İlkesi
Aşağıdaki tablo, her Microsoft.PolicyInsights
Kaynak Sağlayıcısı modu neden kodunu ilgili açıklamasıyla eşler:
Uyumluluk neden kodu | Hata iletisi ve açıklaması |
---|---|
NonModifiablePolicyAlias | NonModifiableAliasConflict: '{alias}' diğer adı, '{apiVersion}' API sürümünü kullanan isteklerde değiştirilemez. Bu hata, diğer adın 'değiştir' efektini desteklemediği veya yalnızca farklı bir belirteç türüyle 'değiştir' efektini desteklediği bir API sürümü kullanan bir istek olduğunda oluşur. |
AppendPoliciesNotApplicable | AppendPoliciesUnableToAppend: '{ aliases }' diğer adları, API sürümünü kullanan isteklerde değiştirilemez: '{ apiVersion }'. Bu, diğer adların 'değiştir' efektini desteklemediği VEYA farklı bir belirteç türüyle 'değiştir' efektini desteklemediği API sürümlerini kullanan isteklerde oluşabilir. |
ÇakışanAppendPolicies | ConflictingAppendPolicies: '{notApplicableFields}' alanını değiştiren çakışan ilke atamaları bulundu. İlke tanımlayıcıları: '{policy}'. İlke atamalarını güncelleştirmek için abonelik yöneticisine başvurun. |
AppendPoliciesFieldsExist | AppendPoliciesFieldsExistWithDifferentValues: İlke atamaları, istekte zaten var olan alanları farklı değerlerle eklemeye çalıştı. Alanlar: '{existingFields}'. İlke tanımlayıcıları: '{policy}'. İlkeleri güncelleştirmek için abonelik yöneticisine başvurun. |
AppendPoliciesUndefinedFields | AppendPoliciesUndefinedFields: '{apiVersion}' API sürümü için tanımlanmamış alan özelliğine başvuran ilke tanımı bulundu. Alanlar: '{nonExistingFields}'. İlke tanımlayıcıları: '{policy}'. İlkeleri güncelleştirmek için abonelik yöneticisine başvurun. |
MissingRegistrationForType | MissingRegistrationForResourceType: Abonelik '{ResourceType}' kaynak türü için kayıtlı değil. Kaynak türünün mevcut olup olmadığını ve kaynak türünün kayıtlı olup olmadığını denetleyin. |
AmbiguousPolicyEvaluationPaths | İstek içeriğinde bir veya daha fazla belirsiz yol var: İlkeler için gereken '{0}' : ''{1}. |
InvalidResourceNameWildcardPosition | '{0}' ilke tanımıyla ilişkili '{1}' ilke ataması değerlendirilemedi. IfNotExists koşulundaki '{2}' kaynak adı geçersiz bir konumda '?' joker karakterini içeriyor. Joker karakterler yalnızca bir segmentteki adın sonunda tek başına bulunabilir (örn. TopLevelResourceName/?). İlkeyi düzeltin veya engeli kaldırmak için ilke atamasını kaldırın. |
TooManyResourceNameSegments | '{0}' ilke tanımıyla ilişkili '{1}' ilke ataması değerlendirilemedi. ifNotExists koşulundaki '{2}' kaynak adı çok fazla ad kesimi içeriyor. Ad kesimlerinin sayısı, tür segmentlerinin sayısına eşit veya ondan az olmalıdır (kaynak sağlayıcısı ad alanı hariç). İlke tanımını düzeltin veya engeli kaldırmak için ilke atamasını kaldırın. |
InvalidPolicyFieldPath | İlke tanımındaki '{0}' alan yolu geçersiz. Alan yolları boş segment içermemelidir. Bunlar yalnızca bölümleri bölmek için '.' karakteri ve dizi özelliklerine erişmek için '[*]' karakter dizisi dışında alfasayısal karakterler içerebilir. |
AKS Kaynak Sağlayıcısı modu uyumluluk nedenleri
Aşağıdaki tablo, her Microsoft.Kubernetes.Data
Kaynak Sağlayıcısı modu nedenini ilke tanımındaki kısıtlama şablonunun sorumlu durumuyla eşler:
Nedeni | Kısıtlama şablonu neden açıklaması |
---|---|
Constraint/TemplateCreateFailed | Kaynak, kümedeki mevcut Bir Kısıtlama/Şablon ile kaynak meta veri adına göre eşleşmeyen bir Kısıtlama/Şablon içeren bir ilke tanımı için oluşturamadı. |
Constraint/TemplateUpdateFailed | Kısıtlama/Şablon, kaynak meta veri adına göre kümedeki mevcut bir Kısıtlama/Şablon ile eşleşen bir Kısıtlama/Şablon ile ilke tanımı için güncelleştirilemedi. |
Constraint/TemplateInstallFailed | Kısıtlama/Şablon oluşturulamadı ve oluşturma veya güncelleştirme işlemi için kümeye yüklenemedi. |
ConstraintTemplateConflicts | Şablon, farklı kaynakla aynı Şablon adını kullanan bir veya daha fazla ilke tanımıyla çakışıyor. |
ConstraintStatusStale | Mevcut bir 'Denetim' durumu var, ancak Ağ Geçidi Denetleyicisi son bir saat içinde bir denetim gerçekleştirmedi. |
ConstraintNotProcessed | Durum yok ve Ağ Geçidi Denetleyicisi son bir saat içinde bir denetim gerçekleştirmedi. |
InvalidConstraint/Şablon | Kaynak, aşağıdaki nedenlerden biri nedeniyle reddedildi: geçersiz kısıtlama şablonu Rego içeriği, geçersiz YAML veya kısıtlama ve kısıtlama şablonu arasındaki parametre türü uyuşmazlığı (tamsayı beklendiğinde dize değeri sağlama). |
Not
Kümede zaten var olan ilke atamaları ve kısıtlama şablonları için bu Kısıtlama/Şablon başarısız olursa, küme mevcut Kısıtlama/Şablon korunarak korunur. İlke atamasında hata çözülene veya eklenti kendi kendine düzelene kadar küme uyumsuz olarak bildirir. Çakışmayı işleme hakkında daha fazla bilgi için bkz . Kısıtlama şablonu çakışmaları.
Kaynak Sağlayıcısı modları için bileşen ayrıntıları
Kaynak Sağlayıcısı moduna sahip atamalar için Uyumlu olmayan kaynağı seçerek bileşen uyumluluk kayıtlarını görüntüleyin. Bileşen Uyumluluğu sekmesi, Bileşen Adı, Bileşen Kimliği ve Tür gibi Kaynak Sağlayıcısı moduna özgü daha fazla bilgi gösterir.
Konuk yapılandırması için uyumluluk ayrıntıları
Konuk Yapılandırması kategorisindeki ilke tanımları için sanal makinede değerlendirilen birden çok ayar olabilir ve ayar başına ayrıntıları görüntülemeniz gerekir. Örneğin, bir güvenlik ayarları listesi için denetim gerçekleştiriyorsanız ve bunlardan yalnızca birinin durumu Uyumsuz ise, hangi belirli ayarların uyumsuz olduğunu ve neden uyumsuz olduğunu bilmeniz gerekir.
Ayrıca sanal makinede doğrudan oturum açmaya erişiminiz olmayabilir ancak sanal makinenin neden Uyumsuz olduğunu bildirmeniz gerekir.
Azure portal
İlke uyumluluk ayrıntılarını görüntülemek için Uyumluluk ayrıntıları bölümündeki adımları izleyerek başlayın.
Uyumluluk ayrıntıları bölmesi görünümünde Son değerlendirilen kaynak bağlantısını seçin.
Konuk Ataması sayfasında tüm kullanılabilir uyumluluk ayrıntıları görüntülenir. Görünümdeki her satır, makinenin içinde gerçekleştirilen bir değerlendirmeyi temsil eder. Neden sütununda, Konuk Atamasının neden Uyumsuz olduğunu açıklayan bir tümcecik gösterilir. Örneğin, parola ilkelerini denetiyorsanız, Neden sütunu her ayarın geçerli değerini içeren metni görüntüler.
Yapılandırma ataması ayrıntılarını uygun ölçekte görüntüleme
Konuk yapılandırma özelliği, Azure İlkesi atamaları dışında kullanılabilir. Örneğin, Azure Otomatik Yönetim konuk yapılandırma atamaları oluşturur veya makineleri dağıtırken yapılandırmalar atayabilirsiniz.
Kiracınızdaki tüm konuk yapılandırma atamalarını görüntülemek için Azure portalından Konuk Atamaları sayfasını açın. Ayrıntılı uyumluluk bilgilerini görüntülemek için Ad sütunundaki bağlantıyı kullanarak her atamayı seçin.
Değişiklik geçmişi (Önizleme)
Yeni bir genel önizleme kapsamında, tam mod silmeyi destekleyen tüm Azure kaynakları için son 14 günlük değişiklik geçmişi kullanılabilir. Değişiklik geçmişi, bir değişikliğin ne zaman algılandığı ve her değişiklik için görsel fark hakkında ayrıntılar sağlar. Azure Resource Manager özellikleri eklendiğinde, kaldırıldığında veya değiştirildiğinde değişiklik algılama tetiklenir.
Azure portalında Tüm hizmetler'i seçip İlke'yi arayarak ve seçerek Azure İlkesi hizmetini başlatın.
Genel Bakış veya Uyumluluk sayfasında herhangi bir uyumluluk durumunda bir ilke seçin.
İlke uyumluluğu sayfasının Kaynak uyumluluğu sekmesinden bir kaynak seçin.
Kaynak Uyumluluğu sayfasında Değişiklik Geçmişi (önizleme) sekmesini seçin. Varsa, algılanan değişikliklerin listesi görüntülenir.
Algılanan değişikliklerden birini seçin. Kaynağın görsel farkı Değişiklik geçmişi sayfasında gösterilir.
Görsel fark , bir kaynakta yapılan değişiklikleri tanımlamaya yardımcı olarak kullanılır. Algılanan değişiklikler kaynağın geçerli uyumluluk durumuyla ilgili olmayabilir.
Değişiklik geçmişi verileri Azure Kaynak Grafı tarafından sağlanır. Bu bilgileri Azure portalının dışında sorgulamak için bkz . Kaynak değişikliklerini alma.
Sonraki adımlar
- örnekleri Azure İlkesi gözden geçirin.
- Azure İlkesi tanımı yapısını gözden geçirin.
- İlkenin etkilerini anlama konusunu gözden geçirin.
- Program aracılığıyla ilkelerin nasıl oluşturulacağını anlama.
- Uyumluluk verilerini almayı öğrenin.
- Uyumlu olmayan kaynakları düzeltmeyi öğrenin.
- Kaynaklarınızı Azure yönetim gruplarıyla düzenleme ile yönetim grubunun ne olduğunu gözden geçirin.