Bagikan melalui


Menyesuaikan penyebaran repositori (Pratinjau Umum)

Ada dua cara utama untuk menyesuaikan penyebaran konten repositori Anda ke ruang kerja Microsoft Azure Sentinel. Setiap metode menggunakan file dan sintaks yang berbeda, jadi pertimbangkan contoh-contoh ini untuk memulai.

  • Ubah alur kerja GitHub atau alur DevOps untuk menyesuaikan opsi penyebaran seperti pemicu penyebaran koneksi, jalur penyebaran, atau penggunaan penyebaran cerdas.

  • Gunakan file konfigurasi yang baru diperkenalkan untuk mengontrol urutan penyebaran konten yang diprioritaskan, pilih untuk mengecualikan file konten tertentu dari penyebaran tersebut, atau memetakan file parameter ke file konten tertentu.

Penting

Fitur Repositori Microsoft Sentinel sedang dalam PRATINJAU. Lihat Ketentuan Penggunaan Tambahan untuk Pratinjau Microsoft Azure untuk ketentuan hukum tambahan yang berlaku untuk fitur Azure dalam versi beta, pratinjau, atau belum dirilis ke ketersediaan umum.

Prasyarat dan ruang lingkup

Microsoft Sentinel saat ini mendukung koneksi ke repositori GitHub dan Azure DevOps. Sebelum menghubungkan ruang kerja Microsoft Sentinel ke repositori kontrol sumber, pastikan Anda memiliki:

  • Peran Pemilik dalam grup sumber daya yang berisi ruang kerja Microsoft Sentinel Anda atau kombinasi peran Administrator Akses Pengguna dan Kontributor Sentinel untuk membuat koneksi
  • Akses kolaborator ke repositori GitHub atau akses Administrator Proyek ke repositori Azure DevOps Anda
  • Tindakan yang diaktifkan untuk GitHub dan Alur yang diaktifkan untuk Azure DevOps
  • Pastikan file konten kustom yang ingin Anda sebarkan ke ruang kerja Anda berada dalam templat Azure Resource Manager (ARM) yang relevan

Untuk informasi selengkapnya, lihat Memvalidasi konten Anda.

Mengkustomisasi alur kerja atau alur

Alur kerja default hanya menyebarkan konten yang dimodifikasi sejak penyebaran terakhir, berdasarkan penerapan ke repositori. Tetapi Anda mungkin memerlukan penyesuaian lain seperti untuk mengonfigurasi pemicu penyebaran yang berbeda, atau untuk menyebarkan konten secara eksklusif dari folder akar tertentu.

Pilih salah satu tab berikut tergantung pada jenis koneksi Anda:

Untuk menyesuaikan alur kerja penyebaran GitHub Anda:

  1. Di GitHub, buka repositori Anda dan temukan alur kerja Anda di direktori .github/workflows .

    File alur kerja adalah file YML yang dimulai dengan sentinel-deploy-xxxxx.yml. Buka file tersebut dan nama alur kerja ditampilkan di baris pertama dan memiliki konvensi penamaan default berikut: Deploy Content to <workspace-name> [<deployment-id>].

    Misalnya: name: Deploy Content to repositories-demo [xxxxx-dk5d-3s94-4829-9xvnc7391v83a]

  2. Pilih tombol pensil di kanan atas halaman untuk membuka file yang akan diedit, lalu ubah penyebaran sebagai berikut:

    • Untuk mengubah pemicu penyebaran, perbarui bagian on dalam kode, yang menjelaskan peristiwa yang memicu alur kerja untuk berjalan.

      Secara default, konfigurasi ini ditetapkan ke on: push, yang berarti bahwa alur kerja dipicu pada setiap push ke cabang yang terhubung, termasuk modifikasi pada konten yang ada dan penambahan konten baru ke repositori. Contohnya:

      on:
          push:
              branches: [ main ]
              paths:
              - `**`
              - `!.github/workflows/**` # this filter prevents other workflow changes from triggering this workflow
              - `.github/workflows/sentinel-deploy-<deployment-id>.yml`
      

      Anda mungkin ingin mengubah pengaturan ini, misalnya, untuk menjadwalkan alur kerja agar berjalan secara berkala, atau untuk menggabungkan berbagai peristiwa alur kerja bersama-sama.

      Untuk informasi selengkapnya, lihat dokumentasi GitHub tentang mengonfigurasi peristiwa alur kerja.

    • Untuk menonaktifkan penyebaran cerdas: Perilaku penyebaran cerdas terpisah dari pemicu penyebaran yang dibahas. Buka bagian jobs dari alur kerja Anda. Alihkan nilai default smartDeployment dari true ke false. Setelah perubahan ini diterapkan, fungsionalitas penyebaran cerdas dinonaktifkan, dan semua penyebaran di masa mendatang untuk koneksi ini menyebarkan ulang semua file konten repositori yang relevan ke ruang kerja yang terhubung.

    • Untuk mengubah jalur penyebaran:

      Dalam konfigurasi default yang ditampilkan untuk bagian , on wildcard (**) di baris pertama di paths bagian menunjukkan bahwa seluruh cabang berada di jalur untuk pemicu penyebaran.

      Konfigurasi default ini berarti bahwa alur kerja penyebaran dipicu setiap kali konten dipicu ke bagian mana pun dari cabang.

      Nanti dalam file, bagian jobs menyertakan konfigurasi default berikut: directory: '${{ github.workspace }}'. Baris ini menunjukkan bahwa seluruh cabang GitHub berada di jalur penyebaran konten, tanpa memfilter jalur folder apa pun.

      Untuk menyebarkan konten dari jalur folder tertentu saja, tambahkan ke konfigurasi paths dan directory. Misalnya, untuk menyebarkan konten hanya dari folder akar bernama SentinelContent, perbarui kode Anda sebagai berikut:

      paths:
      - `SentinelContent/**`
      - `!.github/workflows/**` # this filter prevents other workflow changes from triggering this workflow
      - `.github/workflows/sentinel-deploy-<deployment-id>.yml`
      
      ...
          directory: '${{ github.workspace }}/SentinelContent'
      

Untuk informasi selengkapnya, lihat dokumentasi GitHub tentang Tindakan GitHub dan mengedit alur kerja GitHub.

Penting

Di GitHub dan Azure DevOps, pastikan Anda menjaga jalur pemicu dan direktori jalur penyebaran tetap konsisten.

Menskalakan penyebaran Anda dengan file parameter

Daripada meneruskan parameter sebagai nilai sebaris dalam file konten Anda, pertimbangkan untuk menggunakan file JSON yang berisi nilai parameter. Kemudian petakan file JSON parameter tersebut ke file konten Sentinel terkait untuk menskalakan penyebaran Anda dengan lebih baik di berbagai ruang kerja. Ada beberapa cara untuk memetakan file parameter ke file Sentinel, dan alur penyebaran repositori mempertimbangkannya dalam urutan berikut:

A diagram showing the precedence of parameter file mappings.

  1. Apakah ada pemetaan di sentinel-deployment.config? Untuk informasi selengkapnya, lihat Menyesuaikan konfigurasi koneksi Anda.
  2. Apakah ada file parameter yang dipetakan ruang kerja? Ya, ini adalah file parameter dalam direktori yang sama dengan file konten yang berakhiran dengan .parameters-WorkspaceID<>.json
  3. Apakah ada file parameter default? Ya, file parameter apa pun dalam direktori yang sama dengan file konten yang berakhiran dengan .parameters.json

Dianjurkan untuk memetakan file parameter Anda melalui file konfigurasi atau dengan menentukan ID ruang kerja dalam nama file untuk menghindari bentrokan dalam skenario dengan beberapa penyebaran.

Penting

Setelah kecocokan file parameter ditentukan berdasarkan prioritas pemetaan di atas, alur akan mengabaikan pemetaan yang tersisa.

Memodifikasi file parameter yang dipetakan yang tercantum dalam sentinel-deployment.config memicu penyebaran file konten yang dipasangkan. Menambahkan atau memodifikasi file .parameters-WorkspaceID><.json atau file .parameters.json juga memicu penyebaran file konten yang dipasangkan bersama dengan parameter yang baru dimodifikasi, kecuali pemetaan parameter prioritas yang lebih tinggi ada. File konten lain tidak disebarkan selama fitur penyebaran pintar masih diaktifkan dalam file definisi alur kerja/alur.

Mengkustomisasi konfigurasi koneksi Anda

Skrip penyebaran untuk repositori mendukung penggunaan file konfigurasi penyebaran untuk setiap cabang repositori per Juli 2022. File JSON konfigurasi membantu Anda memetakan file parameter ke file konten yang relevan, memprioritaskan konten tertentu dalam penyebaran, dan mengecualikan konten tertentu dari penyebaran.

  1. Buat file sentinel-deployment.config di akar repositori Anda. Menambahkan, menghapus, atau memodifikasi file konfigurasi ini akan menyebabkan penyebaran penuh semua konten di repositori sesuai dengan konfigurasi yang diperbarui.

    Screenshot of a repository root directory. The RepositoriesSampleContent is shown with the location of the sentinel-deployment.config file.

  2. Sertakan konten terstruktur JSON dalam tiga bagian opsional, , "prioritizedcontentfiles":, "excludecontentfiles":dan "parameterfilemappings":. Jika tidak ada bagian yang disertakan atau file .config dihilangkan, proses penyebaran masih berjalan. Bagian yang tidak valid atau tidak dikenal diabaikan.

Berikut adalah contoh seluruh konten file sentinel-deployment.config yang valid. Sampel ini juga dapat ditemukan di sampel repositori Sentinel CICD.

{
  "prioritizedcontentfiles": [
    "parsers/Sample/ASimAuthenticationAWSCloudTrail.json",
    "workbooks/sample/TrendMicroDeepSecurityAttackActivity_ARM.json",
    "Playbooks/PaloAlto-PAN-OS/PaloAltoCustomConnector/azuredeploy.json"
  ], 
  "excludecontentfiles": [
     "Detections/Sample/PaloAlto-PortScanning.json",
     "parameters"
  ],
  "parameterfilemappings": {
    "879001c8-2181-4374-be7d-72e5dc69bd2b": {
      "Playbooks/PaloAlto-PAN-OS/Playbooks/PaloAlto-PAN-OS-BlockIP/azuredeploy.json": "parameters/samples/parameter-file-1.json"
    },
    "9af71571-7181-4cef-992e-ef3f61506b4e": {
      "Playbooks/Enrich-SentinelIncident-GreyNoiseCommunity-IP/azuredeploy.json": "path/to/any-parameter-file.json"
    }
  },
  "DummySection": "This shouldn't impact deployment"
}

Catatan

Jangan gunakan karakter garis miring terbelakang "\" di salah satu jalur konten. Gunakan garis miring "/" sebagai gantinya.

  • Untuk memprioritaskan file konten:

    Seiring bertambahnya jumlah konten di repositori Anda, waktu penyebaran dapat meningkat. Tambahkan konten sensitif waktu ke bagian ini untuk memprioritaskan penyebarannya saat pemicu terjadi.

    Tambahkan nama jalur lengkap ke bagian ."prioritizedcontentfiles": Pencocokan kartubebas saat ini tidak didukung.

  • Untuk mengecualikan file konten, ubah bagian "excludecontentfiles": dengan nama jalur lengkap file konten .json individual.

  • Untuk memetakan parameter:

    Skrip penyebaran menerima tiga metode parameter pemetaan seperti yang dijelaskan dalam Menskalakan penyebaran Anda dengan file parameter. Parameter pemetaan melalui sentinel-deployment.config lebih diutamakan dan menjamin bahwa file parameter tertentu dipetakan ke file konten terkait. Cukup ubah bagian "parameterfilemappings": dengan ID ruang kerja koneksi target Anda dan nama jalur lengkap file .json individual.

Langkah berikutnya

Repositori sampel tersedia yang menunjukkan file konfigurasi penyebaran dan ketiga metode pemetaan parameter. Untuk informasi selengkapnya, lihat Sampel repositori CICD Sentinel.

Pertimbangkan sumber daya ini untuk informasi selengkapnya tentang templat ARM: