Mengaktifkan DevSecOps dengan Azure dan GitHub
DevSecOps, kadang-kadang disebut Secure DevOps, dibangun berdasarkan prinsip DevOps tetapi menempatkan keamanan di pusat seluruh siklus hidup aplikasi. Konsep ini disebut "keamanan shift-left": ini memindahkan hulu keamanan dari kekhawatiran hanya produksi untuk mencakup tahap awal perencanaan dan pengembangan. Setiap tim dan orang yang bekerja pada aplikasi diperlukan untuk mempertimbangkan keamanan.
Microsoft dan GitHub menawarkan solusi untuk membangun keyakinan pada kode yang Anda jalankan dalam produksi. Solusi ini memeriksa kode Anda dan memungkinkan keterlacakannya ke item kerja dan wawasan tentang komponen pihak ketiga yang digunakan.
Mengamankan kode Anda dengan GitHub
Pengembang dapat menggunakan alat pemindaian kode yang menganalisis kode dengan cepat dan otomatis di repositori GitHub untuk menemukan kerentanan keamanan dan kesalahan pengodean.
Anda dapat memindai kode untuk menemukan, melakukan triase, dan memprioritaskan perbaikan untuk masalah yang ada. Pemindaian kode juga mencegah pengembang memperkenalkan masalah baru. Anda dapat menjadwalkan pemindaian untuk hari dan waktu tertentu, atau memicu pemindaian saat peristiwa tertentu terjadi di repositori, seperti pendorongan. Anda juga dapat melacak dependensi repositori dan menerima pemberitahuan keamanan saat GitHub mendeteksi dependensi yang rentan.
- Memindai kode dengan CodeQL dan pemindaian token
- Mengelola saran keamanan untuk proyek Anda
- Mengamankan dependensi kode Anda dengan Dependabot
Melacak pekerjaan Anda dengan Azure Boards
Teams dapat menggunakan layanan web Azure Boards untuk mengelola proyek perangkat lunak. Azure Boards menyediakan serangkaian kemampuan yang kaya, termasuk dukungan asli untuk Scrum dan Kanban, dasbor yang dapat disesuaikan, dan pelaporan terintegrasi.
Membangun dan menyebarkan kontainer dengan Alur Azure
Integrasikan Azure Pipelines dan kluster Kubernetes dengan mudah. Anda dapat menggunakan dokumen YAML yang sama untuk membangun alur multi-tahap sebagai kode untuk integrasi berkelanjutan dan pengiriman berkelanjutan.
Azure Pipelines mengintegrasikan pelacakan metadata ke dalam gambar kontainer Anda, termasuk hash penerapan dan nomor masalah dari Azure Boards, sehingga Anda dapat memeriksa aplikasi Anda dengan percaya diri.
Kemampuan untuk membuat alur penyebaran dengan file YAML dan menyimpannya dalam kontrol sumber membantu mendorong perulangan umpan balik yang lebih ketat antara tim pengembangan dan operasi yang mengandalkan dokumen yang jelas dan dapat dibaca.
- Menyimpan gambar Docker di Azure Container Registry
- Membangun gambar Docker dengan Alur Azure
- Menyebarkan ke Kubernetes dengan keterlacakan penuh
- Mengamankan Alur Azure Anda
Menjalankan dan men-debug kontainer dengan Bridge ke Kubernetes
Mengembangkan aplikasi Kubernetes bisa menjadi tantangan. Anda memerlukan file konfigurasi Docker dan Kubernetes. Anda perlu mencari tahu cara menguji aplikasi Anda secara lokal dan berinteraksi dengan layanan dependen lainnya. Anda mungkin perlu mengembangkan dan menguji beberapa layanan sekaligus dan dengan tim pengembang.
Bridge ke Kube memungkinkan Anda menjalankan dan men-debug kode di komputer departemen Anda, sekaligus tetap terhubung ke kluster Kube dengan aplikasi atau layanan Anda yang lain. Anda dapat menguji kode secara menyeluruh, mencapai titik henti pada kode yang berjalan di kluster, dan berbagi kluster pengembangan antar anggota tim tanpa gangguan.
Menerapkan keamanan kontainer dengan Pertahanan Microsoft untuk Kontainer dan Azure Policy
Microsoft Defender untuk Kontainer adalah solusi cloud-native untuk mengamankan kontainer Anda.
- Ringkasan Microsoft Defender untuk Kontainer
- Memahami Azure Policy untuk kluster Kubernetes
- Azure Kubernetes Service (AKS)
Mengelola identitas dan akses dengan platform identitas Microsoft
Platform identitas Microsoft adalah evolusi dari platform pengembang Azure Active Directory (Azure AD). Ini memungkinkan pengembang membangun aplikasi yang memasukkan semua identitas Microsoft dan mendapatkan token untuk memanggil API Microsoft, seperti Microsoft Graph, atau API yang dibangun pengembang.
Azure AD B2C menyediakan identitas bisnis ke pelanggan sebagai layanan. Pelanggan Anda menggunakan identitas sosial, perusahaan, atau akun lokal pilihan mereka untuk mendapatkan akses menyeluruh ke aplikasi dan API Anda.
Manajemen akses untuk sumber daya cloud adalah fungsi penting untuk organisasi apa pun yang menggunakan cloud. Kontrol akses berbasis peran Azure (Azure RBAC) membantu Anda mengelola siapa yang memiliki akses ke sumber daya Azure, apa yang dapat mereka lakukan dengan sumber daya tersebut, dan area apa yang dapat mereka akses.
Anda dapat menggunakan platform identitas Microsoft untuk mengautentikasi dengan alat DevOps lainnya, termasuk dukungan asli dalam Azure DevOps dan integrasi dengan GitHub Enterprise.
Saat ini, kluster Azure Kubernetes Service (AKS) (khususnya, penyedia cloud Kubernetes) memerlukan identitas untuk membuat resource tambahan seperti load balancer dan disk terkelola di Azure. Identitas ini dapat berupa identitas terkelola atau perwakilan layanan. Jika Anda menggunakan perwakilan layanan, Anda harus menyediakan satu atau AKS akan membuatnya atas nama Anda. Jika Anda menggunakan identitas terkelola, identitas akan dibuat untuk Anda oleh AKS secara otomatis. Untuk kluster yang menggunakan perwakilan layanan, perwakilan layanan harus diperbarui pada akhirnya agar kluster tetap berfungsi. Mengelola perwakilan layanan menambah kompleksitas, itulah sebabnya lebih mudah untuk menggunakan identitas terkelola sebagai gantinya. Persyaratan izin yang sama berlaku untuk kedua perwakilan layanan dan identitas terkelola.
Identitas terkelola pada dasarnya adalah pembungkus di sekitar prinsip layanan, dan membuat pengelolaannya lebih sederhana.
Mengelola kunci dan rahasia dengan Azure Key Vault
Azure Key Vault dapat digunakan untuk menyimpan dan mengontrol akses ke token, kata sandi, sertifikat, kunci API, dan rahasia lainnya. Memusatkan penyimpanan rahasia aplikasi di Key Vault memungkinkan Anda mengontrol distribusinya. Key Vault sangat mengurangi kemungkinan rahasia bocor secara tidak sengaja. Ketika Anda menggunakan Key Vault, pengembang aplikasi tidak perlu lagi menyimpan informasi keamanan dalam aplikasi mereka, yang menghilangkan kebutuhan untuk membuat informasi ini menjadi bagian dari kode. Contohnya, aplikasi mungkin perlu terhubung ke database. Alih-alih menyimpan string koneksi dalam kode aplikasi, Anda dapat menyimpannya dengan aman di Key Vault.
Memantau aplikasi Anda
Dengan Azure Monitor, Anda dapat memantau aplikasi dan infrastruktur secara real-time, mengidentifikasi masalah dengan kode dan potensi aktivitas dan anomali yang mencurigakan. Azure Monitor terintegrasi dengan alur rilis di Alur Azure untuk mengaktifkan persetujuan otomatis gerbang kualitas atau pemutaran kembali rilis berdasarkan data pemantauan.
Pelajari cara memantau aplikasi dan infrastruktur Anda menggunakan Azure Application Insights dan Azure Monitor.
- Manajemen performa aplikasi dengan Application Insights
- Memantau aplikasi kontainer dengan Azure Monitor
Membangun arsitektur yang tepat
Keamanan adalah salah satu aspek terpenting dari arsitektur apa pun. Keamanan memberikan kerahasiaan, integritas, dan jaminan ketersediaan terhadap serangan dan penyalahgunaan data dan sistem anda yang berharga. Kehilangan jaminan ini dapat berdampak negatif pada operasi dan pendapatan bisnis Anda, serta reputasi organisasi di marketplace.