Mengaktifkan anotasi permintaan pull di GitHub dan Azure DevOps

Keamanan DevOps mengekspos temuan keamanan sebagai anotasi dalam Permintaan Pull (PR). Operator keamanan dapat mengaktifkan anotasi PR di Microsoft Defender untuk Cloud. Setiap masalah yang terekspos dapat diperbaiki oleh pengembang. Proses ini dapat mencegah dan memperbaiki potensi kerentanan keamanan dan kesalahan konfigurasi sebelum memasuki tahap produksi. Keamanan DevOps menganotasi kerentanan dalam perbedaan yang diperkenalkan selama permintaan pull daripada semua kerentanan yang terdeteksi di seluruh file. Pengembang dapat melihat anotasi dalam sistem manajemen kode sumber mereka dan operator Keamanan dapat melihat temuan yang belum terselesaikan di Microsoft Defender untuk Cloud.

Dengan Microsoft Defender untuk Cloud, Anda dapat mengonfigurasi anotasi PR di Azure DevOps. Anda bisa mendapatkan anotasi PR di GitHub jika Anda adalah pelanggan GitHub Advanced Security.

Apa itu anotasi permintaan pull

Anotasi permintaan pull adalah komentar yang ditambahkan ke permintaan pull di GitHub atau Azure DevOps. Anotasi ini memberikan umpan balik tentang perubahan kode yang dibuat dan mengidentifikasi masalah keamanan dalam permintaan pull dan membantu peninjau memahami perubahan yang dibuat.

Anotasi dapat ditambahkan oleh pengguna dengan akses ke repositori, dan dapat digunakan untuk menyarankan perubahan, mengajukan pertanyaan, atau memberikan umpan balik tentang kode. Anotasi juga dapat digunakan untuk melacak masalah dan bug yang perlu diperbaiki sebelum kode digabungkan ke cabang utama. Keamanan DevOps di Defender untuk Cloud menggunakan anotasi untuk menampilkan temuan keamanan.

Prasyarat

Untuk GitHub:

Untuk Azure DevOps:

Mengaktifkan anotasi permintaan pull di GitHub

Dengan mengaktifkan anotasi permintaan pull di GitHub, pengembang Anda mendapatkan kemampuan untuk melihat masalah keamanan mereka saat membuat PR langsung ke cabang utama.

Untuk mengaktifkan anotasi permintaan pull di GitHub:

  1. Navigasi ke GitHub dan masuk.

  2. Pilih repositori yang telah Anda onboarding untuk Defender untuk Cloud.

  3. Navigasi ke Your repository's home page>.github/workflows.

    Cuplikan layar yang memperlihatkan tempat menavigasi, untuk memilih folder alur kerja GitHub.

  4. Pilih msdevopssec.yml, yang dibuat dalam prasyarat.

    Cuplikan layar yang memperlihatkan tempat pada layar untuk memilih file msdevopssec.yml.

  5. Pilih edit.

    Cuplikan layar yang memperlihatkan seperti apa tombol edit.

  6. Temukan dan perbarui bagian pemicu untuk menyertakan:

    # Triggers the workflow on push or pull request events but only for the main branch
    pull_request:
      branches: ["main"]
    

    Anda juga dapat melihat repositori sampel.

    (Opsional) Anda dapat memilih cabang mana yang ingin Anda jalankan dengan memasukkan cabang di bawah bagian pemicu. Jika Anda ingin menyertakan semua cabang, hapus baris dengan daftar cabang. 

  7. Pilih Mulai terapkan.

  8. Pilih Terapkan perubahan.

    Masalah apa pun yang ditemukan oleh pemindai akan dapat dilihat di bagian File yang diubah dari permintaan pull Anda.

    • Digunakan dalam pengujian - Pemberitahuan tidak ada dalam kode produksi.

Mengaktifkan anotasi permintaan pull di Azure DevOps

Dengan mengaktifkan anotasi permintaan pull di Azure DevOps, pengembang Anda mendapatkan kemampuan untuk melihat masalah keamanan mereka saat membuat PR langsung ke cabang utama.

Mengaktifkan kebijakan Validasi Build untuk BUILD CI

Sebelum Anda dapat mengaktifkan anotasi permintaan pull, cabang utama Anda harus mengaktifkan kebijakan Validasi Build untuk CI Build.

Untuk mengaktifkan kebijakan Validasi Build untuk CI Build:

  1. Masuk ke proyek Azure DevOps.

  2. Navigasi ke Repositori pengaturan>Proyek.

    Cuplikan layar yang memperlihatkan tempat menavigasi, untuk memilih repositori.

  3. Pilih repositori untuk mengaktifkan permintaan pull.

  4. Pilih Kebijakan.

  5. Buka Cabang Utama Kebijakan>Cabang.

    Cuplikan layar yang memperlihatkan tempat menemukan kebijakan cabang.

  6. Temukan bagian Validasi Build.

  7. Pastikan validasi build untuk repositori Anda dialihkan ke Aktif.

    Cuplikan layar yang memperlihatkan di mana tombol Build CI berada.

  8. Pilih Simpan.

    Cuplikan layar yang memperlihatkan validasi build.

Setelah menyelesaikan langkah-langkah ini, Anda dapat memilih alur build yang Anda buat sebelumnya dan menyesuaikan pengaturannya agar sesuai dengan kebutuhan Anda.

Aktifkan anotasi permintaan pull

Untuk mengaktifkan anotasi permintaan pull di Azure DevOps:

  1. Masuk ke portal Azure.

  2. Navigasikan ke keamanan Defender untuk Cloud> DevOps.

  3. Pilih semua repositori yang relevan untuk mengaktifkan anotasi permintaan pull.

  4. Pilih Kelola sumber daya.

    Cuplikan layar yang memperlihatkan kepada Anda cara mengelola sumber daya.

  5. Alihkan anotasi permintaan pull ke Aktif.

    Cuplikan layar yang memperlihatkan tombol beralih ke aktif.

  6. (Opsional) Pilih kategori dari menu drop-down.

    Catatan

    Hanya kesalahan konfigurasi Infrastruktur sebagai Kode (ARM, Bicep, Terraform, CloudFormation, Dockerfiles, Bagan Helm, dan lainnya) yang saat ini didukung.

  7. (Opsional) Pilih tingkat keparahan dari menu drop-down.

  8. Pilih Simpan.

Semua anotasi pada permintaan pull Anda akan ditampilkan mulai sekarang berdasarkan konfigurasi Anda.

Untuk mengaktifkan anotasi permintaan pull untuk Proyek dan Organisasi saya di Azure DevOps:

Anda dapat melakukan ini secara terprogram dengan memanggil Update Azure DevOps Resource API yang mengekspos Microsoft. Penyedia Sumber Daya Keamanan.

Info API:

Metode Http: URL PATCH:

  • Pembaruan Proyek Azure DevOps: https://management.azure.com/subscriptions/<subId>/resourcegroups/<resourceGroupName>/providers/Microsoft.Security/securityConnectors/<connectorName>/devops/default/azureDevOpsOrgs/<adoOrgName>/projects/<adoProjectName>?api-version=2023-09-01-preview
  • Pembaruan Azure DevOps Org]: https://management.azure.com/subscriptions/<subId>/resourcegroups/<resourceGroupName>/providers/Microsoft.Security/securityConnectors/<connectorName>/devops/default/azureDevOpsOrgs/<adoOrgName>?api-version=2023-09-01-preview

Isi Permintaan:

{
   "properties": {
"actionableRemediation": {
              "state": <ActionableRemediationState>,
              "categoryConfigurations":[
                    {"category": <Category>,"minimumSeverityLevel": <Severity>}
               ]
           }
    }
}

Parameter / Opsi Tersedia

<ActionableRemediationState>Deskripsi: Status Opsi Konfigurasi Anotasi PR: Diaktifkan | Tamu penyandang cacat

<Category>Deskripsi: Kategori Temuan yang akan dianotasi pada permintaan pull. Opsi: IaC | Kode | Artefak | Dependensi | Catatan Kontainer: Hanya IaC yang didukung saat ini

<Severity>Deskripsi: Tingkat keparahan minimum temuan yang akan dipertimbangkan saat membuat anotasi PR. Opsi: Tinggi | Sedang | Rendah

Contoh mengaktifkan Anotasi PR Azure DevOps Org untuk kategori IaC dengan tingkat keparahan minimum Medium menggunakan alat az cli.

Perbarui Org:

az --method patch --uri https://management.azure.com/subscriptions/4383331f-878a-426f-822d-530fb00e440e/resourcegroups/myrg/providers/Microsoft.Security/securityConnectors/myconnector/devops/default/azureDevOpsOrgs/testOrg?api-version=2023-09-01-preview --body "{'properties':{'actionableRemediation':{'state':'Enabled','categoryConfigurations':[{'category':'IaC','minimumSeverityLevel':'Medium'}]}}}

Contoh mengaktifkan Anotasi PR Proyek Azure DevOps untuk kategori IaC dengan tingkat keparahan minimum Tinggi menggunakan alat az cli.

Perbarui Proyek:

az --method patch --uri https://management.azure.com/subscriptions/4383331f-878a-426f-822d-530fb00e440e/resourcegroups/myrg/providers/Microsoft.Security/securityConnectors/myconnector/devops/default/azureDevOpsOrgs/testOrg/projects/testProject?api-version=2023-09-01-preview --body "{'properties':{'actionableRemediation':{'state':'Enabled','categoryConfigurations':[{'category':'IaC','minimumSeverityLevel':'High'}]}}}"

Pelajari lebih lanjut

Langkah berikutnya

Sekarang pelajari selengkapnya tentang keamanan DevOps.