uyumlu olmayan kaynakları Azure İlkesi ile düzeltme

deployIfNotExists veya değişiklik efektlerine sahip ilkelerle uyumlu olmayan kaynaklar, Düzeltme aracılığıyla uyumlu bir duruma getirilebilir. Düzeltme, deployIfNotExists şablonunu dağıtan düzeltme görevleri veya atamanın bir yönetim grubunda, abonelikte, kaynak grubunda veya tek bir kaynakta olmasına bakılmaksızın mevcut kaynaklarınızda ve aboneliklerinizde atanan ilkenin değişiklik işlemleriyle gerçekleştirilir. Bu makalede, Azure İlkesi ile düzeltmeyi anlamak ve gerçekleştirmek için gereken adımlar gösterilmektedir.

Düzeltme erişim denetimi nasıl çalışır?

Azure İlkesi deployIfNotExists ilkelerini değerlendirirken şablon dağıtımı başlattığında veya değiştirme ilkelerini değerlendirirken bir kaynağı değiştirdiğinde, ilke atamasıyla ilişkili yönetilen kimliği kullanarak bunu yapar. İlke atamaları, Azure kaynak yetkilendirmesi için yönetilen kimlikleri kullanır. İlke hizmeti tarafından oluşturulmuş bir sistem tarafından atanan yönetilen kimlik veya kullanıcı tarafından sağlanan bir kullanıcı tarafından atanan kimlik kullanabilirsiniz. Yönetilen kimliğe kaynakları düzeltmek için gereken en düşük rol tabanlı erişim denetimi (RBAC) rolleri atanmalıdır. Yönetilen kimliğin rolleri eksikse, ilkenin veya girişimin ataması sırasında portalda bir hata görüntülenir. Portal kullanılırken, atama başlatıldıktan sonra Azure İlkesi yönetilen kimliğe listelenen rolleri otomatik olarak verir. Azure yazılım geliştirme seti (SDK) kullanılırken, roller yönetilen kimliğe el ile verilmelidir. Yönetilen kimliğin konumu, Azure İlkesi işlemini etkilemez.

Dekont

İlke tanımının değiştirilmesi atamayı veya ilişkili yönetilen kimliği otomatik olarak güncelleştirmez.

Düzeltme güvenliği aşağıdaki adımlarla yapılandırılabilir:

İlke tanımını yapılandırma

Önkoşul olarak, ilke tanımının deployIfNotExists rollerini tanımlaması ve eklenen şablonun içeriğini başarıyla dağıtma gereksinimini değiştirmesi gerekir. Yerleşik ilke tanımı için eylem gerekmez çünkü bu roller önceden doldurulur. Özel ilke tanımı için details özelliğinin altına roleDefinitionIds özelliği ekleyin. Bu özellik, ortamınızdaki rollerle eşleşen dize dizisidir. Tam bir örnek için deployIfNotExists örneğine veya değiştirme örneklerine bakın.

"details": {
    ...
    "roleDefinitionIds": [
        "/subscriptions/{subscriptionId}/providers/Microsoft.Authorization/roleDefinitions/{roleGUID}",
        "/providers/Microsoft.Authorization/roleDefinitions/{builtinroleGUID}"
    ]
}

roleDefinitionIds özelliği tam kaynak tanımlayıcısını kullanır ve rolün kısa roleName değerini almaz. Ortamınızda 'Katkıda Bulunan' rolünün kimliğini almak için aşağıdaki Azure CLI kodunu kullanın:

az role definition list --name "Contributor"

Önemli

İzinler, bir ilke tanımı içinde roleDefinitionId'leri tanımlarken veya yönetilen kimliğe el ile izin atarken mümkün olan en küçük kümeyle kısıtlanmalıdır. Daha fazla en iyi deneyim için bkz . yönetilen kimlik en iyi uygulama önerileri .

Yönetilen kimliği yapılandırma

Her Azure İlkesi ataması yalnızca bir yönetilen kimlikle ilişkilendirilebilir. Ancak yönetilen kimliğe birden çok rol atanabilir. Yapılandırma iki adımda gerçekleşir: önce sistem tarafından atanan veya kullanıcı tarafından atanan yönetilen kimliği oluşturun, ardından gerekli rolleri verin.

Dekont

Portal aracılığıyla yönetilen kimlik oluştururken, roller yönetilen kimliğe otomatik olarak verilir. roleDefinitionIds daha sonra ilke tanımında düzenlenirse, yeni izinler portalda bile el ile verilmelidir.

Yönetilen kimliği oluşturma

Portalı kullanarak atama oluştururken, Azure İlkesi sistem tarafından atanan bir yönetilen kimlik oluşturabilir ve ilke tanımının roleDefinitionId'lerinde tanımlanan rolleri verebilir. Alternatif olarak, aynı rol atamasını alan kullanıcı tarafından atanan yönetilen kimliği belirtebilirsiniz.

Screenshot of a policy assignment creating a system-assigned managed identity in East US with Log Analytics Contributor permissions.

Portalda sistem tarafından atanan yönetilen kimliği ayarlamak için:

  1. Atama oluşturma/düzenleme görünümünün Düzeltme sekmesinde, Yönetilen Kimlik Türleri'nin altında Sistem tarafından atanan yönetilen kimliğin seçildiğinden emin olun.

  2. Yönetilen kimliğin bulunacağı konumu belirtin.

  3. Kapsam atama kapsamından devralınacağından, sistem tarafından atanan yönetilen kimlik için kapsam atayın.

Portalda kullanıcı tarafından atanan yönetilen kimliği ayarlamak için:

  1. Atama oluşturma/düzenleme görünümünün Düzeltme sekmesinde, Yönetilen Kimlik Türleri'nin altında Kullanıcı tarafından atanan yönetilen kimliğin seçildiğinden emin olun.

  2. Yönetilen kimliğin barındırıldığı kapsamı belirtin. Yönetilen kimliğin kapsamının atamanın kapsamına eşit olması gerekmez, ancak aynı kiracıda olması gerekir.

  3. Mevcut kullanıcı tarafından atanan kimlikler'in altında yönetilen kimliği seçin.

Tanımlı roller aracılığıyla yönetilen kimliğe izin verme

Önemli

Yönetilen kimlik, gerekli düzeltme görevini yürütmek için gereken izinlere sahip değilse, yalnızca portal aracılığıyla otomatik olarak izinler verilir. Portal üzerinden yönetilen kimlik oluşturuyorsanız bu adımı atlayabilirsiniz.

Diğer tüm yöntemler için, atamanın yönetilen kimliğine rollerin eklenmesiyle el ile erişim verilmelidir, aksi takdirde düzeltme dağıtımı başarısız olur.

El ile izin gerektiren örnek senaryolar:

  • Atama bir Azure yazılım geliştirme seti (SDK) aracılığıyla oluşturulduysa
  • deployIfNotExists veya modify tarafından değiştirilen bir kaynak ilke atamasının kapsamı dışındaysa
  • Şablon, ilke atamasının kapsamı dışındaki kaynaklardaki özelliklere erişiyorsa

Portalı kullanarak bir atamanın yönetilen kimliğine tanımlı rolleri vermenin iki yolu vardır: Erişim denetimini (IAM) kullanarak veya ilkeyi veya girişim atamasını düzenleyip Kaydet'i seçerek.

Atamanın yönetilen kimliğine rol eklemek için şu adımları izleyin:

  1. Azure portalında Tüm hizmetler'i seçip İlke'yi arayarak ve seçerek Azure İlkesi hizmetini başlatın.

  2. Azure İlkesi sayfasının sol tarafından Atamalar'ı seçin.

  3. Yönetilen kimliği olan atamayı bulun ve adı seçin.

  4. Düzenleme sayfasında Atama Kimliği özelliğini bulun. Atama kimliği şuna benzer olacaktır:

    /subscriptions/{subscriptionId}/resourceGroups/PolicyTarget/providers/Microsoft.Authorization/policyAssignments/2802056bfc094dfb95d4d7a5
    

    Yönetilen kimliğin adı, atama kaynak kimliğinin son bölümüdür ve bu örnekte yer 2802056bfc094dfb95d4d7a5 alır. Atama kaynak kimliğinin bu bölümünü kopyalayın.

  5. Rol tanımının el ile eklenmesi gereken kaynağa veya kaynak üst kapsayıcısına (kaynak grubu, abonelik, yönetim grubu) gidin.

  6. Kaynaklar sayfasında Erişim denetimi (IAM) bağlantısını seçin ve ardından erişim denetimi sayfasının üst kısmındaki + Rol ataması ekle'yi seçin.

  7. İlke tanımından roleDefinitionId ile eşleşen uygun rolü seçin. Varsayılan 'Azure AD kullanıcısı, grubu veya uygulaması' olarak ayarlamak için Erişim ata'yı bırakın. Seç kutusuna, atama kaynak kimliğinin daha önce bulunan bölümünü yapıştırın veya yazın. Arama tamamlandıktan sonra, kimliği seçmek için aynı ada sahip nesneyi seçin ve Kaydet'i seçin.

Düzeltme görevi oluşturma

Azure portalında Tüm hizmetler'i seçip İlke'yi arayarak ve seçerek Azure İlkesi hizmetini başlatın.

Screenshot of searching for Policy in All Services.

1. Adım: Düzeltme görevi oluşturmayı başlatma

Portal aracılığıyla bir düzeltme görevi oluşturmanın üç yolu vardır.

1. Seçenek: Düzeltme sayfasından düzeltme görevi oluşturma

  1. Azure İlkesi sayfasının sol tarafındaki Düzeltme'yi seçin.

    Screenshot of the Remediation node on the Policy page.

  2. Düzeltme ilkeleri sekmesinde tüm deployIfNotExists ve değişiklik ilkesi atamaları gösterilir. Yeni düzeltme görevi sayfasını açmak için uyumlu olmayan kaynakları olan bir tane seçin.

  3. Düzeltme görevi ayrıntılarını belirtmek için adımları izleyin.

Seçenek 2: Uyumlu olmayan bir ilke atamasından düzeltme görevi oluşturma

  1. Azure İlkesi sayfasının sol tarafındaki Uyumluluk'a tıklayın.

  2. deployIfNotExists veya değişiklik efektleri içeren uyumlu olmayan bir ilke veya girişim ataması seçin.

  3. Sayfanın üst kısmındaki Düzeltme Görevi Oluştur düğmesini seçerek Yeni düzeltme görevi sayfasını açın.

  4. Düzeltme görevi ayrıntılarını belirtmek için adımları izleyin.

3. Seçenek: İlke ataması sırasında düzeltme görevi oluşturma

Atanacak ilke veya girişim tanımında deployIfNotExists veya Modify etkisi varsa, sihirbazın Düzeltme sekmesi düzeltme görevi oluştur seçeneği sunar ve bu seçenek ilke atamasıyla aynı anda bir düzeltme görevi oluşturur.

Dekont

Bu, düzeltme görevi oluşturmaya yönelik en kolay yaklaşımdır ve abonelikte atanan ilkeler için desteklenir. Bir yönetim grubuna atanan ilkeler için, değerlendirme kaynak uyumluluğu belirlendikten sonra düzeltme görevleri Seçenek 1 veya Seçenek 2 kullanılarak oluşturulmalıdır.

  1. Portaldaki atama sihirbazından Düzeltme sekmesine gidin. Düzeltme görevi oluştur onay kutusunu seçin.

  2. Düzeltme görevi bir girişim atamasından başlatılırsa, açılan listeden düzeltmek için ilkeyi seçin.

  3. Yönetilen kimliği yapılandırın ve sihirbazın geri kalanını doldurun. Atama oluşturulduğunda düzeltme görevi oluşturulur.

2. Adım: Düzeltme görevi ayrıntılarını belirtme

Bu adım yalnızca düzeltme görevi oluşturma işlemini başlatmak için Seçenek 1 veya Seçenek 2 kullanıldığında geçerlidir.

  1. Düzeltme görevi bir girişim atamasından başlatılırsa, açılan listeden düzeltmek için ilkeyi seçin. Tek seferde tek bir Düzeltme görevi aracılığıyla tek bir deployIfNotExists veya değiştirme ilkesi düzeltilebilir.

  2. İsteğe bağlı olarak sayfadaki düzeltme ayarlarını değiştirin. Her ayarın neleri denetlediğini öğrenmek için bkz . düzeltme görevi yapısı.

  3. Aynı sayfada, ilkenin atandığı alt kaynakları seçmek için Kapsam üç noktalarını kullanarak (tek tek kaynak nesnelerine kadar) kaynakları filtreleyin. Ayrıca, kaynakları daha fazla filtrelemek için Konumlar açılan listesini kullanın.

    Screenshot of the Remediate node and the grid of resources to remediate.

  4. Kaynaklar filtrelendikten sonra Düzelt'i seçerek düzeltme görevine başlayın. İlke uyumluluk sayfası, görevlerin ilerleme durumunu göstermek için Düzeltme görevleri sekmesinde açılır. Düzeltme görevi tarafından oluşturulan dağıtımlar hemen başlar.

    Screenshot of the Remediation tasks tab and progress of existing remediation tasks.

3. Adım: Düzeltme görevi ilerleme durumunu izleme

  1. Düzeltme sayfasındaki Düzeltme görevleri sekmesine gidin. Kullanılan filtreleme, geçerli durum ve düzeltilmekte olan kaynakların listesini görüntülemek için bir düzeltme görevine tıklayın.

  2. Düzeltme görevi ayrıntıları sayfasında bir kaynağa sağ tıklayarak düzeltme görevinin dağıtımını veya kaynağını görüntüleyin. Hata iletisi gibi ayrıntıları görmek için satırın sonunda İlgili olaylar'ı seçin.

    Screenshot of the context menu for a resource on the Remediate task tab.

Bir düzeltme görevi aracılığıyla dağıtılan kaynaklar, ilke atama ayrıntıları sayfasındaki Dağıtılan Kaynaklar sekmesine eklenir.

Sonraki adımlar