Brankas penyebaran penetapan Azure Policy

Saat lingkungan Anda meluas, begitu juga permintaan untuk alur penyebaran berkelanjutan (CD) terkontrol dengan kontrol eksposur progresif. Oleh karena itu, Microsoft merekomendasikan tim DevOps mengikuti kerangka kerja praktik penyebaran aman (SDP). Penyebaran definisi dan penugasan Azure Policy yang aman membantu membatasi dampak perilaku sumber daya kebijakan yang tidak diinginkan.

Pendekatan tingkat tinggi untuk menerapkan SDP dengan Azure Policy adalah meluncurkan penetapan kebijakan secara bertahap dengan cincin untuk mendeteksi perubahan kebijakan yang memengaruhi lingkungan pada tahap awal sebelum memengaruhi infrastruktur cloud penting.

Cincin penyebaran dapat diatur dengan berbagai cara. Dalam tutorial cara ini, cincin dibagi oleh wilayah Azure yang berbeda dengan Ring 0 yang mewakili lokasi lalu lintas non-kritis dan rendah dan Ring 5 yang menunjukkan lokasi lalu lintas paling penting dan tertinggi.

Langkah-langkah untuk penyebaran penetapan Azure Policy dengan aman dengan efek tolak atau tambahkan

Gunakan diagram alur berikut sebagai referensi saat kita bekerja melalui cara menerapkan kerangka kerja SDP ke penetapan Azure Policy yang menggunakan deny efek kebijakan atau append .

Catatan

Untuk mempelajari selengkapnya tentang efek kebijakan Azure, lihat Memahami cara kerja efek.

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

Nomor langkah diagram alur:

  1. Setelah Anda memilih definisi kebijakan, tetapkan kebijakan pada cakupan tingkat tertinggi yang termasuk dari semua cincin penyebaran. Terapkan pemilih sumber daya untuk mempersempit penerapan ke cincin paling tidak penting dengan menggunakan "kind": "resource location" properti . Konfigurasikan audit jenis efek dengan menggunakan penugasan mengambil alih. Pemilih sampel dengan eastUS lokasi dan efek sebagai audit:

    "resourceSelectors": [{ 
      "name": "SDPRegions", 
      "selectors": [{
          "kind": "resourceLocation",
          "in": [ "eastUS" ] 
      }]
    }], 
    "overrides":[{ 
      "kind": "policyEffect", 
      "value": "Audit" 
    }] 
    
  2. Setelah penugasan disebarkan dan pemindaian kepatuhan awal telah selesai, validasi bahwa hasil kepatuhan seperti yang diharapkan.

    Anda juga harus mengonfigurasi pengujian otomatis yang menjalankan pemeriksaan kepatuhan. Pemeriksaan kepatuhan harus mencakup logika berikut:

    • Mengumpulkan hasil kepatuhan
    • Jika hasil kepatuhan seperti yang diharapkan, alur harus dilanjutkan
    • Jika hasil kepatuhan tidak seperti yang diharapkan, alur harus gagal dan Anda harus mulai men-debug

    Misalnya, Anda dapat mengonfigurasi pemeriksaan kepatuhan dengan menggunakan alat lain dalam alur integrasi berkelanjutan/penyebaran berkelanjutan (CI/CD) tertentu.

    Pada setiap tahap peluncuran, pemeriksaan kesehatan aplikasi harus mengonfirmasi stabilitas layanan dan dampak kebijakan. Jika hasilnya tidak seperti yang diharapkan karena konfigurasi aplikasi, refaktor aplikasi sebagaimana mewajarinya.

  3. Ulangi dengan memperluas nilai properti pemilih sumber daya untuk menyertakan cincin berikutnya. lokasi dan memvalidasi hasil kepatuhan yang diharapkan dan kesehatan aplikasi. Contoh pemilih dengan nilai lokasi tambahan:

    "resourceSelectors": [{ 
      "name": "SDPRegions", 
      "selectors": [{
          "kind": "resourceLocation",
          "in": [ "eastUS", "westUS"] 
      }]
    }]
    
  4. Setelah Anda berhasil menetapkan kebijakan ke semua cincin menggunakan audit mode, alur harus memicu tugas yang mengubah efek kebijakan menjadi deny dan mengatur ulang pemilih sumber daya ke lokasi yang terkait dengan Ring 0. Contoh pemilih dengan satu wilayah dan efek diatur ke tolak:

    "resourceSelectors": [{ 
      "name": "SDPRegions", 
      "selectors": [{
          "kind": "resourceLocation",
          "in": [ "eastUS" ] 
      }]
    }], 
    "overrides":[{ 
      "kind": "policyEffect", 
      "value": "Deny" 
    }] 
    
  5. Setelah efek diubah, pengujian otomatis harus memeriksa apakah penerapan berlangsung seperti yang diharapkan.

  6. Ulangi dengan menyertakan lebih banyak cincin dalam konfigurasi pemilih sumber daya Anda.

  7. Ulangi proses ini untuk semua cincin produksi.

Langkah-langkah untuk penyebaran penetapan Azure Policy dengan aman dengan efek modifikasi atau deployIfNotExists

Langkah-langkah untuk kebijakan yang menggunakan modify efek atau deployIfNotExists mirip dengan langkah-langkah yang dijelaskan sebelumnya dengan tindakan tambahan menggunakan mode penegakan dan memicu tugas remediasi. Tinjau diagram alur berikut dengan langkah 5-9 yang dimodifikasi:

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

Nomor langkah diagram alur:

  1. Setelah Anda memilih definisi kebijakan, tetapkan kebijakan pada cakupan tingkat tertinggi yang termasuk dari semua cincin penyebaran. Terapkan pemilih sumber daya untuk mempersempit penerapan ke cincin paling tidak penting dengan menggunakan "kind": "resource location" properti . Konfigurasikan mode penegakan penugasan ke DoNotEnforce. Pemilih sampel dengan eastUS lokasi dan enforcementMode sebagai DoNotEnforce:

    "resourceSelectors": [{ 
      "name": "SDPRegions", 
      "selectors": [{
          "kind": "resourceLocation",
          "in": [ "eastUS" ] 
      }]
    }], 
    "enforcementMode": "DoNotEnforce"
    
  2. Setelah penugasan disebarkan dan pemindaian kepatuhan awal telah selesai, validasi bahwa hasil kepatuhan seperti yang diharapkan.

    Anda juga harus mengonfigurasi pengujian otomatis yang menjalankan pemeriksaan kepatuhan. Pemeriksaan kepatuhan harus mencakup logika berikut:

    • Mengumpulkan hasil kepatuhan
    • Jika hasil kepatuhan seperti yang diharapkan, alur harus dilanjutkan
    • Jika hasil kepatuhan tidak seperti yang diharapkan, alur harus gagal dan Anda harus mulai men-debug

    Anda dapat mengonfigurasi pemeriksaan kepatuhan dengan menggunakan alat lain dalam alur integrasi berkelanjutan/penyebaran berkelanjutan (CI/CD).

    Pada setiap tahap peluncuran, pemeriksaan kesehatan aplikasi harus mengonfirmasi stabilitas layanan dan dampak kebijakan. Jika hasilnya tidak seperti yang diharapkan karena konfigurasi aplikasi, refaktor aplikasi sebagaimana mewajarinya.

    Anda juga dapat memicu tugas remediasi untuk memulihkan sumber daya yang tidak patuh yang ada. Pastikan tugas remediasi membawa sumber daya ke kepatuhan seperti yang diharapkan.

  3. Ulangi dengan memperluas nilai properti pemilih sumber daya untuk menyertakan lokasi cincin berikutnya dan memvalidasi hasil kepatuhan yang diharapkan dan kesehatan aplikasi. Contoh pemilih dengan nilai lokasi tambahan:

    "resourceSelectors": [{ 
      "name": "SDPRegions", 
      "selectors": [{
          "kind": "resourceLocation",
          "in": [ "eastUS", "westUS"] 
      }]
    }]
    
  4. Setelah Anda berhasil menetapkan kebijakan ke semua cincin menggunakan mode DoNotEnforce, alur harus memicu tugas yang mengubah kebijakan enforcementMode menjadi Pengaktifan default dan mengatur ulang pemilih sumber daya ke lokasi yang terkait dengan Ring 0. Contoh pemilih dengan satu wilayah dan efek diatur ke tolak:

    "resourceSelectors": [{ 
      "name": "SDPRegions", 
      "selectors": [{
          "kind": "resourceLocation",
          "in": [ "eastUS" ] 
      }]
    }], 
    "enforcementMode": "Default",
    
  5. Setelah efek diubah, pengujian otomatis harus memeriksa apakah penerapan berlangsung seperti yang diharapkan.

  6. Ulangi dengan menyertakan lebih banyak cincin dalam konfigurasi pemilih sumber daya Anda.

  7. Ulangi proses ini untuk semua cincin produksi.

Langkah berikutnya