Azure İlkesi atamalarının Kasa dağıtımı

Ortamınız genişledikçe aşamalı pozlama denetimine sahip denetimli sürekli dağıtım (CD) işlem hattı talebi de artmaktadır. Buna göre Microsoft, DevOps ekiplerinin güvenli dağıtım uygulamaları (SDP) çerçevesine uymasını önerir. Azure İlkesi tanımlarının ve atamalarının güvenli dağıtımı, ilke kaynaklarının istenmeyen davranışlarının etkisini sınırlamaya yardımcı olur.

SDP'yi Azure İlkesi ile uygulamanın üst düzey yaklaşımı, ortamı etkileyen ilke değişikliklerini kritik bulut altyapısını etkilemeden önce erken aşamalarda algılamak için ilke atamalarını halkalar halinde dağıtmaktır.

Dağıtım halkaları çeşitli şekillerde düzenlenebilir. Bu nasıl yapılır öğreticisinde, halkalar kritik olmayan, düşük trafik konumlarını temsil eden Halka 0 ve en kritik, en yüksek trafik konumlarını belirten Halka 5 ile farklı Azure bölgelerine bölünür.

reddetme veya ekleme efektleriyle Azure İlkesi atamalarının güvenli dağıtımına yönelik adımlar

veya append ilke efektlerini kullanan Azure İlkesi atamalarına SDP çerçevesinin nasıl uygulanacağı üzerinde çalışırken başvuru olarak aşağıdaki akış çizelgesini deny kullanın.

Dekont

Azure ilke etkileri hakkında daha fazla bilgi edinmek için bkz . Efektlerin nasıl çalıştığını anlama.

Flowchart with steps one through eight showing safe deployment practices deployment of a new Azure Policy definition.

Akış çizelgesi adım numaraları:

  1. İlke tanımınızı seçtikten sonra, ilkeyi tüm dağıtım halkaları dahil olmak üzere en üst düzey kapsama atayın. özelliğini kullanarak uygulanabilirliği en az kritik kademeye daraltmak için kaynak seçicileri"kind": "resource location" uygulayın. audit Atama geçersiz kılmalarını kullanarak efekt türünü yapılandırın. Konum ve efekt olarak auditörnek seçicieastUS:

    "resourceSelectors": [{ 
      "name": "SDPRegions", 
      "selectors": [{
          "kind": "resourceLocation",
          "in": [ "eastUS" ] 
      }]
    }], 
    "overrides":[{ 
      "kind": "policyEffect", 
      "value": "Audit" 
    }] 
    
  2. Atama dağıtıldıktan ve ilk uyumluluk taraması tamamlandıktan sonra, uyumluluk sonucunun beklendiği gibi olduğunu doğrulayın.

    Uyumluluk denetimlerini çalıştıran otomatikleştirilmiş testleri de yapılandırmanız gerekir. Uyumluluk denetimi aşağıdaki mantığı içermelidir:

    • Uyumluluk sonuçlarını toplama
    • Uyumluluk sonuçları beklendiği gibiyse işlem hattı devam etmelidir
    • Uyumluluk sonuçları beklendiği gibi değilse işlem hattı başarısız olmalı ve hata ayıklamaya başlamalısınız

    Örneğin, belirli sürekli tümleştirme/sürekli dağıtım (CI/CD) işlem hattınızdaki diğer araçları kullanarak uyumluluk denetimini yapılandırabilirsiniz.

    Her dağıtım aşamasında, uygulama durumu denetimleri hizmetin kararlılığını ve ilkenin etkisini onaylamalıdır. Uygulama yapılandırması nedeniyle sonuçlar beklendiği gibi değilse, uygulamayı uygun şekilde yeniden düzenleme.

  3. Kaynak seçici özellik değerlerini sonraki halkaları içerecek şekilde genişleterek tekrarlayın. konumları ve beklenen uyumluluk sonuçlarını ve uygulama durumunu doğrulama. Eklenen konum değerine sahip örnek seçici:

    "resourceSelectors": [{ 
      "name": "SDPRegions", 
      "selectors": [{
          "kind": "resourceLocation",
          "in": [ "eastUS", "westUS"] 
      }]
    }]
    
  4. modu kullanarak audit ilkeyi tüm halkalara başarıyla atadıktan sonra işlem hattı, ilke etkisini deny olarak değiştiren bir görevi tetiklemeli ve kaynak seçicileri Halka 0 ile ilişkili konuma sıfırlamalıdır. Bir bölge ve efekt reddedecek şekilde ayarlanmış örnek seçici:

    "resourceSelectors": [{ 
      "name": "SDPRegions", 
      "selectors": [{
          "kind": "resourceLocation",
          "in": [ "eastUS" ] 
      }]
    }], 
    "overrides":[{ 
      "kind": "policyEffect", 
      "value": "Deny" 
    }] 
    
  5. Etki değiştirildikten sonra otomatikleştirilmiş testlerin zorlamanın beklendiği gibi gerçekleşip gerçekleşmediğini denetlemesi gerekir.

  6. Kaynak seçici yapılandırmanıza daha fazla halka ekleyerek tekrarlayın.

  7. Bu işlemi tüm üretim halkaları için yineleyin.

değiştirme veya dağıtmaIfNotExists efektleriyle Azure İlkesi atamalarının güvenli dağıtımına yönelik adımlar

veya efektlerini modify kullanan ilkelere yönelik adımlar, daha önce zorlama modunu kullanma ve düzeltme görevi tetikleme ek eylemiyle açıklanan adımlara deployIfNotExists benzer. 5-9 arası değiştirilmiş adımlarla aşağıdaki akış çizelgesini gözden geçirin:

Flowchart showing steps 5 through 9 in the Azure Policy safe deployment practices workflow.

Akış çizelgesi adım numaraları:

  1. İlke tanımınızı seçtikten sonra, ilkeyi tüm dağıtım halkaları dahil olmak üzere en üst düzey kapsama atayın. özelliğini kullanarak uygulanabilirliği en az kritik kademeye daraltmak için kaynak seçicileri"kind": "resource location" uygulayın. DoNotEnforce atamasının zorlama modunu yapılandırın. Konum ve enforcementMode ile eastUS DoNotEnforce olarak örnek seçici:

    "resourceSelectors": [{ 
      "name": "SDPRegions", 
      "selectors": [{
          "kind": "resourceLocation",
          "in": [ "eastUS" ] 
      }]
    }], 
    "enforcementMode": "DoNotEnforce"
    
  2. Atama dağıtıldıktan ve ilk uyumluluk taraması tamamlandıktan sonra, uyumluluk sonucunun beklendiği gibi olduğunu doğrulayın.

    Uyumluluk denetimlerini çalıştıran otomatikleştirilmiş testleri de yapılandırmanız gerekir. Uyumluluk denetimi aşağıdaki mantığı içermelidir:

    • Uyumluluk sonuçlarını toplama
    • Uyumluluk sonuçları beklendiği gibiyse işlem hattı devam etmelidir
    • Uyumluluk sonuçları beklendiği gibi değilse işlem hattı başarısız olmalı ve hata ayıklamaya başlamalısınız

    Sürekli tümleştirme/sürekli dağıtım (CI/CD) işlem hattınızdaki diğer araçları kullanarak uyumluluk denetimini yapılandırabilirsiniz.

    Her dağıtım aşamasında, uygulama durumu denetimleri hizmetin kararlılığını ve ilkenin etkisini onaylamalıdır. Uygulama yapılandırması nedeniyle sonuçlar beklendiği gibi değilse, uygulamayı uygun şekilde yeniden düzenleme.

    Ayrıca, mevcut uyumlu olmayan kaynakları düzeltmek için düzeltme görevlerini tetikleyebilirsiniz. Düzeltme görevlerinin kaynakları beklendiği gibi uyumlu hale getirdiğinden emin olun.

  3. Kaynak seçici özellik değerlerini bir sonraki halkanın konumlarını içerecek şekilde genişleterek ve beklenen uyumluluk sonuçlarını ve uygulama durumunu doğrulayarak tekrarlayın. Eklenen konum değerine sahip örnek seçici:

    "resourceSelectors": [{ 
      "name": "SDPRegions", 
      "selectors": [{
          "kind": "resourceLocation",
          "in": [ "eastUS", "westUS"] 
      }]
    }]
    
  4. DoNotEnforce modunu kullanarak ilkeyi tüm halkalara başarıyla atadıktan sonra işlem hattı, ilkeyi enforcementMode Varsayılan etkinleştirme olarak değiştiren bir görev tetiklemeli ve kaynak seçicileri Halka 0 ile ilişkili konuma sıfırlamalıdır. Bir bölge ve efekt reddedecek şekilde ayarlanmış örnek seçici:

    "resourceSelectors": [{ 
      "name": "SDPRegions", 
      "selectors": [{
          "kind": "resourceLocation",
          "in": [ "eastUS" ] 
      }]
    }], 
    "enforcementMode": "Default",
    
  5. Etki değiştirildikten sonra otomatikleştirilmiş testlerin zorlamanın beklendiği gibi gerçekleşip gerçekleşmediğini denetlemesi gerekir.

  6. Kaynak seçici yapılandırmanıza daha fazla halka ekleyerek tekrarlayın.

  7. Bu işlemi tüm üretim halkaları için yineleyin.

Sonraki adımlar