Catatan
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba masuk atau mengubah direktori.
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba mengubah direktori.
Ide solusi
Artikel ini menjelaskan ide solusi. Arsitek cloud Anda dapat menggunakan panduan ini untuk membantu memvisualisasikan komponen utama untuk implementasi umum arsitektur ini. Gunakan artikel ini sebagai titik awal untuk merancang solusi yang dirancang dengan baik yang selaras dengan persyaratan spesifik beban kerja Anda.
Ide solusi ini mengilustrasikan alur DevSecOps yang menggunakan GitHub untuk infrastruktur sebagai kode (IaC). Dengan memperlakukan definisi infrastruktur sebagai sumber kebenaran, beban kerja dapat mengotomatiskan validasi, pemindaian keamanan, tata kelola, dan kepatuhan sepanjang siklus hidup penyebaran.
Pola penyebaran standar, pengembangan yang dibantu AI, keamanan kode dan pemindaian konfigurasi, tata kelola berbasis kebijakan, dan manajemen siklus hidup membantu meningkatkan keamanan, meningkatkan efisiensi operasional, mengurangi penyimpangan konfigurasi, dan memberikan lingkungan cloud yang andal.
Arsitektur
Unduh file Visio arsitektur ini.
Aliran Data
Aliran data berikut sesuai dengan diagram sebelumnya:
Pengembang menggunakan pengembangan berbasis pengujian yang dibantu AI untuk membuat dan memelihara kode infrastruktur, modul, pengujian, dan alur kerja penyebaran yang dapat digunakan kembali. Mereka mengembangkan pengujian unit, pengujian integrasi, dan pemeriksaan kebijakan sebagai kode (PaC) bersamaan dengan definisi infrastruktur.
Pengembang melakukan check-in IaC, pengujian, dan pemeriksaan ke repositori GitHub untuk memvalidasi kualitas, keamanan, dan kepatuhan sebelum mengirimkan pull request.
Permintaan pull memicu pengujian otomatis di GitHub Actions. Alur kerja ini menghasilkan dan memvalidasi pratinjau penyebaran sebelum penyebaran.
GitHub Advanced Security menyediakan pemeriksaan keamanan tingkat repositori. Pemeriksaan ini mencakup pemindaian kode atau alur kerja peninjauan dependensi jika sesuai, dan mengaktifkan pemindaian rahasia dan perlindungan push pada repositori untuk mendeteksi rahasia yang terekspos.
Tindakan keamanan DevOps yang dikonfigurasi memindai definisi infrastruktur untuk kesalahan konfigurasi dan melaporkan temuan ke keamanan DevOps di Microsoft Defender untuk Cloud. Defender untuk Cloud menghubungkan temuan tersebut dengan wawasan postur keamanan cloud untuk membantu memprioritaskan remediasi sebelum penyebaran.
Alur penyebaran menyediakan atau memperbarui Azure sumber daya dengan menggunakan artefak IaC yang dapat digunakan kembali dari definisi infrastruktur yang disetujui, seperti Azure Modul Terverifikasi (AVM). Azure tumpukan penyebaran membantu menjaga keselarasan antara sumber daya yang disebarkan dan definisi yang dikontrol sumber, dan pengaturan penolakan penyebaran membantu mengurangi penyimpangan konfigurasi dengan membatasi perubahan di luar band. Perubahan manual yang disetujui didokumentasikan dan direkonsiliasi melalui kontrol sumber untuk mempertahankan Git sebagai sumber kebenaran otoritatif.
DevSecOps terus memantau dan melindungi dari ancaman dan kerentanan keamanan. Azure Policy memberlakukan tata kelola cloud.
Otomatisasi yang telah dikonfigurasi membuat GitHub Issue saat layanan pemantauan atau keamanan mendeteksi anomali. Misalnya, Defender untuk Cloud mungkin mengidentifikasi sumber daya yang terekspos secara publik yang melanggar persyaratan keamanan. Grup tindakan Azure Monitor atau aturan otomatisasi Microsoft Sentinel dapat memanggil alur kerja Azure Logic Apps yang membuat issue GitHub untuk ditinjau dan diperbaiki.
Komponen
GitHub adalah platform hosting kode untuk kontrol dan kolaborasi versi. Dalam arsitektur ini, GitHub menyimpan templat IaC di repositori pusat untuk pengembangan, pengujian, alur kerja tata kelola, dan pengembangan yang dibantu AI dengan GitHub Copilot.
GitHub Actions adalah alat otomatisasi integrasi berkelanjutan dan penyebaran berkelanjutan (CI/CD) yang memungkinkan alur kerja untuk membangun, menguji, dan menyebarkan kode langsung dari repositori GitHub. Dalam arsitektur ini, GitHub Actions mengotomatiskan pengujian unit, pemindaian keamanan, dan provisi infrastruktur untuk alur IaC.
GitHub Advanced Security menyediakan kemampuan keamanan tingkat repositori, termasuk pemindaian rahasia dan deteksi kerentanan dependensi. Dalam arsitektur ini, GitHub Advanced Security membantu mengidentifikasi kredensial yang terekspos, dependensi sumber terbuka yang rentan, dan risiko keamanan repositori lainnya sebelum kode digabungkan dan disebarkan.
Keamanan DevOps di Defender untuk Cloud memusatkan temuan keamanan DevOps dan menghubungkannya dengan konteks cloud. Dalam arsitektur ini, tindakan Microsoft Security DevOps GitHub yang dikonfigurasi memindai artefak IaC untuk kesalahan konfigurasi dan melaporkan temuan ke Defender untuk Cloud untuk prioritas dan remediasi.
Azure Verified Modules (AVM) adalah modul IaC bawaan yang dikelola oleh Microsoft. Dalam arsitektur ini, beban kerja menggunakan AVM untuk menyebarkan modul sumber daya dan pola yang dapat digunakan kembali yang selaras dengan panduan Azure Well-Architected Framework.
Azure tumpukan penyebaran memungkinkan beban kerja mengelola sumber daya yang disebarkan sebagai unit yang dikelola siklus hidup tunggal. Azure tumpukan penyebaran membantu menjaga keselarasan antara sumber daya yang disebarkan dan definisi infrastruktur yang dikontrol sumber, mendukung manajemen siklus hidup, dan mengurangi penyimpangan konfigurasi dengan menerapkan kontrol tata kelola dan pengaturan tolak.
Defender untuk Cloud adalah platform manajemen keamanan yang menyediakan perlindungan ancaman di seluruh beban kerja cloud hibrid. Dalam arsitektur ini, ia terus memantau infrastruktur yang disebarkan untuk kerentanan dan ancaman, dan melengkapi temuan keamanan DevOps dengan wawasan keamanan runtime.
Microsoft Sentinel adalah solusi manajemen peristiwa dan informasi keamanan asli cloud (SIEM) dan respons otomatis orkestrasi keamanan (SOAR) yang menggunakan AI dan analitik untuk mendeteksi dan merespons ancaman. Dalam arsitektur ini, Microsoft Sentinel memantau aktivitas infrastruktur dan menimbulkan pemberitahuan atau masalah GitHub saat mendeteksi anomali.
Azure Policy mengevaluasi sumber daya Azure terhadap standar organisasi dan beban kerja. Bergantung pada efek kebijakan yang ditetapkan, Azure Policy dapat mengaudit, memodifikasi, memulihkan, atau menolak konfigurasi yang tidak patuh. Misalnya, definisi kebijakan dengan efek
denydapat memblokir penyebaran mesin virtual dengan SKU yang tidak diizinkan.Azure Monitor adalah platform telemetri dan pengamatan yang mengumpulkan metrik performa dan log aktivitas dari sumber daya Azure. Dalam arsitektur ini, Azure Monitor mendeteksi kondisi infrastruktur yang tidak teratur dan memicu pemberitahuan sehingga triase dan remediasi dapat dimulai.
Detail skenario
Saat Anda mengadopsi IaC, buat pengujian otomatis saat Anda mengembangkan kode. Hasilkan rencana penyebaran dan status konfigurasi infrastruktur untuk meniru penyebaran aktual. Pengembangan berbasis pengujian mengurangi kompleksitas pengujian IaC saat beban kerja Anda diskalakan.
Jalankan pengujian integrasi terhadap sumber daya Azure yang disebarkan dengan menggunakan Azure SDK dan API, Azure Resource Graph, alat validasi khusus beban kerja, atau kerangka kerja pengujian otomatis. Pengujian ini membantu memverifikasi konfigurasi sumber daya, konektivitas, kontrol keamanan, dan kesiapan operasional.
PaC adalah metode penting lainnya untuk memberikan infrastruktur yang sesuai dengan peraturan dan tata kelola perusahaan. Anda dapat menambahkan PaC workflows ke dalam alur Anda untuk mengotomatiskan tata kelola cloud.
Mengamankan infrastruktur di awal siklus hidup pengembangan mengurangi risiko masalah keamanan dan kepatuhan setelah penyebaran. Integrasikan keamanan GitHub Advanced Security dan Defender untuk Cloud DevOps ke dalam alur kerja DevSecOps untuk mengidentifikasi kerentanan, masalah kualitas kode, pelanggaran kebijakan, paparan rahasia, dan risiko konfigurasi dalam kode IaC. Pendekatan ini mirip dengan pengujian keamanan aplikasi statis (SAST) untuk kode aplikasi.
Penyimpangan konfigurasi dapat sulit diselesaikan ketika infrastruktur disebarkan dan beroperasi, terutama di lingkungan produksi. Gunakan GitHub Actions dengan OpenID Connect (OIDC) dan Microsoft Entra Workload Identity Federation untuk memprovisikan dan mengelola sumber daya Azure tanpa menyimpan kredensial. Batasi izin deployment melalui penetapan kontrol akses berbasis peran Azure (Azure RBAC) berdasarkan prinsip hak istimewa minimum dan kontrol perlindungan lingkungan. Untuk melakukan perubahan manual khusus, gunakan akses hak istimewa just-in-time, catat perubahan tersebut, dan secara otomatis buat Issue GitHub untuk menyelaraskan definisi infrastruktur melalui sistem kontrol sumber. Hindari konfigurasi manual jika memungkinkan, dan perlakukan Git sebagai sumber otoritatif status infrastruktur.
Untuk membantu mencegah drift dari sumbernya, gunakan deployment stack Azure jika sekelompok sumber daya Azure yang ditentukan dalam templat memiliki siklus hidup yang sama. Pertimbangkan batasan stack deployment, dan terapkan pengaturan penolakan yang sesuai untuk membatasi perubahan pada control plane di luar jalur. Pertahankan versi definisi IaC dalam kontrol sumber.
Untuk membantu mencegah insiden keamanan, terus pantau lingkungan cloud untuk ancaman dan kerentanan. Gunakan Defender untuk Cloud, Microsoft Sentinel, Azure Monitor, dan alat perlindungan ancaman dan SIEM lainnya untuk mendeteksi aktivitas abnormal. Alat-alat ini dapat secara otomatis memperingatkan administrator keamanan dan meningkatkan masalah GitHub untuk penyelidikan dan remediasi.
Kemungkinan kasus penggunaan
Tim rekayasa platform pusat dapat menyediakan workflow GitHub Actions yang dapat digunakan kembali, kontrol PaC, dan stack deployment Azure bagi tim aplikasi, data, dan AI sebagai jalur standar yang telah disetujui. GitHub Copilot membantu pengembang membuat definisi infrastruktur, pengujian, dan alur kerja penyebaran. Tindakan Microsoft Security DevOps yang dikonfigurasi memvalidasi keamanan dan konfigurasi infrastruktur sebelum penyebaran dan melaporkan temuan ke keamanan DevOps di Defender untuk Cloud. Organisasi dapat mempercepat pengiriman infrastruktur sambil mempertahankan tata kelola, konsistensi, dan standar keamanan.
Layanan keuangan, layanan kesehatan, sektor publik, atau perusahaan yang diatur dapat menggunakan DevSecOps untuk IaC untuk mengotomatiskan penyebaran infrastruktur, penegakan kebijakan, validasi keamanan, dan pelaporan kepatuhan. Azure Policy, Defender untuk Cloud, Microsoft Sentinel, dan Azure tumpukan penyebaran membantu mempertahankan perubahan infrastruktur yang dapat diaudit, mengurangi penyimpangan konfigurasi, dan mendukung kepatuhan di seluruh siklus hidup infrastruktur. GitHub adalah sumber kebenaran otoritatif untuk semua modifikasi infrastruktur dan kontrol tata kelola.
Kontributor
Microsoft mempertahankan artikel ini. Kontributor berikut menulis artikel ini.
Penulis utama:
- Vito Chin | Arsitek Solusi Cloud Senior
- Yee Shian Lee | Senior Arsitek Solusi Cloud
Untuk melihat profil LinkedIn nonpublik, masuk ke LinkedIn.
Langkah berikutnya
- Pertimbangkan bahasa atau templat IaC apa yang akan digunakan. Bicep atau Terraform di Azure adalah opsi.
- Siapkan Microsoft Security DevOps untuk memindai repositori GitHub yang terhubung.