Praktik terbaik keamanan
Layanan Azure DevOps | Azure DevOps Server 2022 - Azure DevOps Server 2019
Saat Anda menangani informasi dan data, terutama dalam solusi berbasis cloud seperti Azure DevOps Services, keamanan harus menjadi prioritas utama Anda. Meskipun Microsoft memastikan keamanan infrastruktur cloud yang mendasar, mengonfigurasi keamanan dalam Azure DevOps adalah tanggung jawab Anda.
Meskipun tidak wajib, memasukkan praktik terbaik dapat secara signifikan meningkatkan pengalaman dan meningkatkan keamanan Anda. Rekomendasi berikut dirancang untuk membantu Anda mempertahankan lingkungan Azure DevOps yang aman.
Mengamankan lingkungan Azure DevOps Anda
Gunakan praktik terbaik berikut untuk menghapus pengguna, meninjau peristiwa audit, dan mengintegrasikan dengan ID Microsoft Entra.
Menghapus pengguna
- Menghapus pengguna yang tidak aktif dari akun Microsoft (MSA): Hapus langsung pengguna yang tidak aktif dari organisasi Anda jika menggunakan MSA. Anda tidak dapat membuat kueri untuk item kerja yang ditetapkan untuk menghapus akun MSA.
- Nonaktifkan atau hapus akun pengguna Microsoft Entra: Jika tersambung ke ID Microsoft Entra, nonaktifkan atau hapus akun pengguna Microsoft Entra sambil menjaga akun pengguna Azure DevOps tetap aktif. Tindakan ini memungkinkan Anda untuk terus mengkueri riwayat item kerja menggunakan ID pengguna Azure DevOps Anda.
- Mencabut PATs pengguna: Meninjau dan mencabut TRO pengguna yang ada secara teratur untuk memastikan manajemen yang aman dari token autentikasi penting ini.
- Cabut izin khusus yang diberikan kepada pengguna individu: Mengaudit dan mencabut izin khusus yang diberikan kepada pengguna individu untuk memastikan keselarasan dengan prinsip hak istimewa paling sedikit.
- Menetapkan ulang pekerjaan dari pengguna yang dihapus: Sebelum menghapus pengguna, tetapkan ulang item kerja mereka ke anggota tim saat ini untuk mendistribusikan beban secara efektif.
Menggunakan ID Microsoft Entra
- Membuat sistem identitas terpadu: Sambungkan Azure DevOps ke MICROSOFT Entra ID untuk membuat satu bidang untuk identitas. Konsistensi ini mengurangi kebingungan dan meminimalkan risiko keamanan dari kesalahan konfigurasi manual.
- Menerapkan tata kelola terperindeks: Gunakan MICROSOFT Entra ID untuk menetapkan peran dan izin yang berbeda ke grup tertentu di berbagai cakupan sumber daya. Tindakan ini memastikan akses terkontrol dan selaras dengan praktik terbaik keamanan.
- Tingkatkan fitur keamanan: Aktifkan fitur keamanan lain dengan ID Microsoft Entra, seperti:
- Autentikasi Multifaktor (MFA): Memerlukan beberapa faktor seperti kata sandi dan verifikasi telepon untuk autentikasi pengguna. Kebijakan akses bersyarah: Tentukan aturan akses berdasarkan kondisi seperti lokasi, perangkat, atau tingkat risiko.
Untuk informasi lebih lanjut, baca artikel berikut:
- Tentang mengakses organisasi Anda dengan ID Microsoft Entra
- Menambahkan pengguna atau grup Active Directory / Microsoft Entra ke grup keamanan bawaan
- Membatasi akses menurut lokasi atau alamat IP
- Mengelola akses bersyarah
- Mengharuskan semua pengguna menggunakan autentikasi multifaktor (MFA)
Meninjau peristiwa audit
Dengan organisasi Anda yang tersambung ke Microsoft Entra, lakukan tugas berikut untuk meningkatkan keamanan dan memantau pola penggunaan:
- Aktifkan audit: Lacak dan lihat peristiwa yang terkait dengan tindakan, izin, dan perubahan pengguna.
- Tinjau peristiwa audit secara teratur: Cari pola penggunaan yang tidak terduga, terutama oleh administrator dan pengguna lain.
Mengamankan jaringan Anda
Fungsi berikut adalah cara efektif untuk meningkatkan keamanan jaringan Anda saat Anda bekerja dengan Azure DevOps.
- Menyiapkan daftar IP yang diizinkan: Membatasi akses ke alamat IP tertentu untuk mengizinkan lalu lintas hanya dari sumber tepercaya, mengurangi permukaan serangan.
- Gunakan enkripsi: Selalu enkripsi data saat transit dan saat tidak aktif. Amankan saluran komunikasi menggunakan protokol seperti HTTPS.
- Validasi sertifikat: Pastikan sertifikat valid dan dikeluarkan oleh otoritas tepercaya saat membuat koneksi.
- Menerapkan firewall aplikasi web (WAF): Memfilter, memantau, dan memblokir lalu lintas berbasis web berbahaya dengan WAF untuk lapisan perlindungan ekstra terhadap serangan umum.
Untuk informasi selengkapnya, lihat Praktik terbaik manajemen aplikasi.
Izin cakupan
Sistem menangani izin di berbagai tingkat—individu, koleksi, proyek, dan objek—dan menetapkannya ke satu atau beberapa grup bawaan secara default. Untuk meningkatkan keamanan, lakukan tindakan berikut:
- Memberikan akses hak istimewa paling sedikit: Memberi pengguna dan layanan akses minimum yang diperlukan untuk melakukan fungsi bisnis mereka.
- Nonaktifkan pewarisan: Jika memungkinkan, nonaktifkan pewarisan. Pewarisan secara tidak sengaja dapat memberikan akses atau izin kepada pengguna yang tidak terduga karena sifatnya yang diizinkan secara default. Untuk informasi selengkapnya, lihat bagian tentang pewarisan izin
Untuk informasi selengkapnya tentang izin, lihat artikel berikut ini:
- Panduan izin dan pencarian peran
- Izin, grup keamanan, dan referensi akun layanan
- Atur izin individual.
Izin tingkat proyek
- Membatasi akses ke proyek dan repositori: Mengurangi risiko kebocoran informasi sensitif dan menyebarkan kode yang tidak aman dengan membatasi akses ke proyek dan repositori. Gunakan grup keamanan bawaan atau kustom mengelola izin.
- Nonaktifkan "Izinkan proyek publik": Di pengaturan kebijakan organisasi Anda, nonaktifkan opsi untuk membuat proyek publik. Alihkan visibilitas proyek dari publik ke privat sesuai kebutuhan. Pengguna yang belum masuk memiliki akses baca-saja ke proyek publik, sementara pengguna yang masuk dapat diberikan akses ke proyek privat dan membuat perubahan yang diizinkan.
- Membatasi pembuatan proyek: Mencegah pengguna membuat proyek baru untuk mempertahankan kontrol atas lingkungan Anda.
Akses tamu eksternal
- Blokir akses tamu eksternal: Nonaktifkan kebijakan "Izinkan undangan dikirim ke domain apa pun" untuk mencegah akses tamu eksternal jika tidak ada kebutuhan bisnis untuk itu.
- Gunakan email atau UPN yang berbeda: Gunakan alamat email atau nama prinsipal pengguna (UPN) yang berbeda untuk akun pribadi dan bisnis untuk menghilangkan ambiguitas antara akun pribadi dan akun terkait kerja.
- Mengelompokkan pengguna tamu eksternal: Menempatkan semua pengguna tamu eksternal dalam satu grup Microsoft Entra dan mengelola izin untuk grup ini dengan tepat. Hapus penetapan langsung untuk memastikan aturan grup berlaku untuk pengguna ini.
- Mengevaluasi ulang aturan secara teratur: Tinjau aturan secara teratur pada tab Aturan grup di halaman Pengguna. Pertimbangkan perubahan keanggotaan grup apa pun di ID Microsoft Entra yang mungkin memengaruhi organisasi Anda. ID Microsoft Entra dapat memakan waktu hingga 24 jam untuk memperbarui keanggotaan grup dinamis, dan aturan secara otomatis dievaluasi ulang setiap 24 jam dan setiap kali aturan grup berubah.
Untuk informasi selengkapnya, lihat Tamu B2B di ID Microsoft Entra.
Mengelola grup keamanan
Grup keamanan dan pengguna
Tabel berikut ini memperlihatkan rekomendasi untuk menetapkan izin ke grup keamanan dan grup pengguna.
Melakukan | Jangan |
---|---|
Gunakan ID Microsoft Entra, Direktori Aktif, atau grup keamanan Windows saat Anda mengelola banyak pengguna. | Jangan ubah izin default untuk grup Pengguna Valid Proyek. Grup ini dapat mengakses dan melihat informasi proyek. Untuk informasi selengkapnya, lihat Grup pengguna yang valid. |
Saat Anda menambahkan tim, pertimbangkan izin apa yang ingin Anda tetapkan kepada anggota tim yang perlu membuat dan memodifikasi jalur area, jalur perulangan, dan kueri. | Jangan tambahkan pengguna ke beberapa grup keamanan yang berisi tingkat izin yang berbeda. Dalam kasus tertentu, tingkat izin Tolak mungkin menimpa tingkat izin Izinkan . Misalnya, bayangkan Anda memiliki dua grup keamanan dalam proyek Azure DevOps Anda: Pengembang dan Penguji. Grup Pengembang memiliki izin untuk mengedit item kerja yang diatur ke Izinkan. Namun, pastikan bahwa item kerja sensitif tertentu tidak diedit oleh siapa pun kecuali beberapa individu utama. Untuk melakukannya, buat grup keamanan baru yang disebut Editor Item Sensitif dan atur izin untuk mengedit item kerja ke Tolak untuk grup ini. Jika pengguna adalah anggota grup Pengembang dan grup Editor Item Sensitif, izin Tolak dari grup Editor Item Sensitif lebih diutamakan daripada izin Izinkan dari grup Pengembang . Akibatnya, pengguna ini tidak dapat mengedit item kerja sensitif, meskipun mereka memiliki izin Izinkan di grup Pengembang . Perilaku ini memastikan bahwa izin Tolak diberlakukan secara ketat, memberikan tingkat keamanan dan kontrol yang lebih tinggi atas tindakan sensitif dalam lingkungan Azure DevOps Anda. |
Saat Anda menambahkan banyak tim, pertimbangkan untuk membuat grup kustom Administrator Tim tempat Anda mengalokasikan subset izin yang tersedia untuk Administrator Proyek. | Jangan ubah penetapan default yang dibuat ke grup Pengguna Valid Proyek. Jika Anda menghapus atau mengatur Tampilkan informasi tingkat instans ke Tolak untuk salah satu grup Pengguna Valid Proyek, tidak ada pengguna dalam grup yang dapat mengakses proyek, koleksi, atau penyebaran apa pun yang Anda tetapkan izinnya. |
Pertimbangkan untuk memberikan izin Kontribusi folder kueri item kerja kepada pengguna atau grup yang memerlukan kemampuan untuk membuat dan berbagi kueri item kerja untuk proyek. | Jangan tetapkan izin yang dicatat sebagai Tetapkan hanya ke akun layanan ke akun pengguna. |
Jaga grup sekecil mungkin. Akses harus dibatasi, dan grup harus sering diaudit. | |
Manfaatkan peran bawaan dan default ke Kontributor untuk pengembang. Admin ditetapkan ke kelompok keamanan Administrator Proyek untuk izin yang lebih tinggi, yang memungkinkannya mengonfigurasi izin keamanan. |
Akses just-in-time untuk grup admin
Jika Anda memiliki akses Administrator Koleksi Proyek dan Administrator Proyek, Anda dapat mengubah konfigurasi organisasi atau proyek Anda. Untuk meningkatkan keamanan untuk grup administrator bawaan ini, pertimbangkan untuk menerapkan akses just-in-time menggunakan grup Microsoft Entra Privileged Identity Management (PIM). Pendekatan ini memungkinkan Anda untuk memberikan izin yang ditinggikan hanya jika diperlukan, mengurangi risiko yang terkait dengan akses permanen.
Mengonfigurasi akses
- Buat grup yang dapat ditetapkan peran di ID Microsoft Entra.
- Tambahkan grup Microsoft Entra Anda ke grup Azure DevOps.
Catatan
Saat Anda mengonfigurasi akses just-in-time menggunakan grup Microsoft Entra Privileged Identity Management (PIM), pastikan bahwa setiap pengguna dengan akses yang ditinggikan juga mempertahankan akses standar ke organisasi. Dengan cara ini, mereka dapat melihat halaman yang diperlukan dan merefresh izin sesuai kebutuhan.
Menggunakan akses
- Aktifkan akses Anda.
- Refresh izin Anda di Azure DevOps.
- Ambil tindakan yang memerlukan akses administrator.
Catatan
Pengguna telah meningkatkan akses di Azure DevOps hingga 1 jam setelah akses grup PIM mereka dinonaktifkan.
Akun layanan cakupan
- Membuat akun layanan tujuan tunggal: Setiap layanan harus memiliki akun khususnya untuk meminimalkan risiko. Hindari menggunakan akun pengguna reguler sebagai akun layanan.
- Ikuti konvensi penamaan dan dokumentasi: Gunakan nama yang jelas dan deskriptif untuk akun layanan dan dokumentasikan tujuan dan layanan terkait.
- Mengidentifikasi dan menonaktifkan akun layanan yang tidak digunakan: Meninjau dan mengidentifikasi akun secara teratur tidak lagi digunakan. Nonaktifkan akun yang tidak digunakan sebelum mempertimbangkan penghapusan.
- Batasi hak istimewa: Batasi hak istimewa akun layanan hingga minimum yang diperlukan. Hindari hak masuk interaktif untuk akun layanan.
- Gunakan identitas terpisah untuk pembaca laporan: Jika menggunakan akun domain untuk akun layanan, gunakan identitas yang berbeda untuk pembaca laporan untuk mengisolasi izin dan mencegah akses yang tidak perlu.
- Gunakan akun lokal untuk penginstalan grup kerja: Saat menginstal komponen dalam grup kerja, gunakan akun lokal untuk akun pengguna. Hindari akun domain dalam skenario ini.
- Memanfaatkan koneksi layanan: Gunakan koneksi layanan jika memungkinkan untuk terhubung dengan aman ke layanan tanpa meneruskan variabel rahasia langsung ke build. Batasi koneksi ke kasus penggunaan tertentu.
- Memantau aktivitas akun layanan: Menerapkan audit dan membuat aliran audit untuk memantau aktivitas akun layanan.
Untuk informasi selengkapnya, lihat Jenis koneksi layanan umum.
Koneksi layanan cakupan
- Koneksi layanan cakupan: Batasi akses dengan mencakup koneksi layanan Azure Resource Manager Anda ke sumber daya dan grup tertentu. Hindari memberikan hak kontributor yang luas di seluruh langganan Azure.
- Gunakan federasi identitas beban kerja: Autentikasi dengan sumber daya Azure menggunakan OpenID Connect (OIDC) tanpa rahasia. Buat federasi identitas beban kerja secara otomatis atau manual jika Anda memiliki peran Pemilik untuk langganan Azure Anda, tidak tersambung ke lingkungan Azure Stack atau Azure US Government, dan tugas ekstensi Marketplace apa pun yang Anda gunakan mendukungnya.
- Grup sumber daya cakupan: Pastikan grup sumber daya hanya berisi Virtual Machines (VM) atau sumber daya yang diperlukan untuk proses build.
- Hindari koneksi layanan klasik: Pilih koneksi layanan Azure Resource Manager modern alih-alih yang klasik, yang tidak memiliki opsi cakupan.
- Gunakan akun layanan tim khusus tujuan: Mengautentikasi koneksi layanan menggunakan akun layanan tim khusus tujuan untuk menjaga keamanan dan kontrol.
Untuk informasi selengkapnya, lihat Jenis koneksi layanan umum.
Memilih cara autentikasi yang tepat
Pilih metode autentikasi Anda dari sumber berikut:
- Pertimbangkan perwakilan layanan dan identitas terkelola
- Gunakan token akses pribadi (PATs) dengan hemat
Pertimbangkan perwakilan layanan
Jelajahi alternatif seperti perwakilan layanan dan identitas terkelola:
- Menggunakan perwakilan layanan: Mewakili objek keamanan dalam aplikasi Microsoft Entra. Tentukan apa yang dapat dilakukan aplikasi di penyewa tertentu. Siapkan selama pendaftaran aplikasi di portal Azure. Konfigurasikan untuk mengakses sumber daya Azure, termasuk Azure DevOps. Berguna untuk aplikasi yang membutuhkan akses dan kontrol tertentu.
- Gunakan identitas terkelola: Mirip dengan perwakilan layanan aplikasi. Berikan identitas untuk sumber daya Azure. Izinkan layanan yang mendukung autentikasi Microsoft Entra untuk berbagi kredensial. Azure menangani manajemen dan rotasi kredensial secara otomatis. Ideal untuk manajemen detail masuk yang lancar.
Gunakan PAT dengan hemat
- Lingkup EK ke peran tertentu: Tetapkan PATs hanya izin yang diperlukan untuk tugas tertentu. Hindari memberikan akses global ke beberapa organisasi atau repositori untuk meminimalkan risiko penyalahgunaan yang tidak disengaja.
- Hindari menulis atau mengelola izin pada build dan rilis: PATs seharusnya tidak memiliki izin menulis atau mengelola izin pada build, rilis, atau sumber daya penting lainnya. Membatasi izin ini membantu mencegah tindakan yang tidak diinginkan yang dapat memengaruhi alur atau penyebaran Anda.
- Atur tanggal kedaluwarsa dan rahasiakan PATs: Selalu tetapkan tanggal kedaluwarsa untuk PAT. Tinjau dan perbarui secara teratur sesuai kebutuhan. Perlakukan PATs sebagai kritis sebagai kata sandi, menjaganya tetap rahasia dan menghindari berbagi publik atau hardcoding dalam kode aplikasi.
- Hindari hardcoding PATs dalam kode aplikasi: Alih-alih menyematkan PATs langsung dalam kode Anda, gunakan file konfigurasi aman atau variabel lingkungan untuk menyimpan dan mengambil PATs secara dinamis. Secara dinamis.
- Mengaudit dan mencabut PAT yang tidak digunakan secara teratur: Administrator harus secara berkala meninjau semua PAT menggunakan REST API. Cabut PAT apa pun yang tidak lagi diperlukan atau tidak memenuhi kriteria yang direkomendasikan.
Untuk informasi selengkapnya, lihat Mengelola PAT dengan kebijakan - untuk administrator dan Menggunakan PATs.
Amankan Artefak Azure
- Pastikan Anda memahami perbedaan antara admin umpan, proyek, dan koleksi proyek. Untuk informasi selengkapnya, lihat Mengonfigurasi pengaturan Azure Artifacts.
- Atur izin umpan.
Mengamankan Azure Boards
- Konfigurasikan dan sesuaikan Azure Boards sebelum Anda menyesuaikan proses.
- Mengatur izin pelacakan dan rencana kerja
- Pelajari izin dan akses default ke Azure Boards
- Mengatur izin kueri
Amankan Azure Pipelines
- Gunakan templat perluas.
- Mengatur izin alur
- Gambaran umum Azure Pipelines yang aman.
Kebijakan
- Memerlukan peninjau eksternal: Pastikan setidaknya satu peninjau di luar pemohon asli untuk proses peninjauan menyeluruh. Pemberi izin berbagi kepemilikan bersama atas perubahan dan akuntabilitas untuk setiap efek potensial.
- Memerlukan build CI untuk lulus: Tetapkan garis besar untuk kualitas kode dengan mengharuskan build Integrasi Berkelanjutan (CI) lulus sebelum menggabungkan PR. Pemeriksaan CI mencakup kode linting, pengujian unit, dan pemindaian keamanan.
- Melarang persetujuan mandiri: Mencegah pemohon PR asli menyetujui perubahan mereka sendiri untuk memastikan proses peninjauan yang tidak bias dan menghindari konflik kepentingan.
- Larang penyelesaian PR dengan suara "tunggu" atau "tolak": Cegah penyelesaian PR meskipun beberapa peninjau memilih untuk menunggu atau menolak, mendorong mengatasi semua umpan balik sebelum menggabungkan.
- Reset suara peninjau tentang perubahan: Reset suara peninjau ketika perubahan terbaru didorong ke PR untuk memastikan peninjau mengevaluasi ulang kode yang diperbarui.
- Mengunci alur rilis: Membatasi alur rilis ke cabang tertentu (biasanya produksi atau utama) untuk menghindari penyebaran yang tidak disengaja dari cabang lain.
- Terapkan variabel yang dapat diatur pada waktu antrean: Aktifkan opsi "Terapkan yang dapat diatur pada waktu antrean" untuk variabel alur untuk mencegah pengguna mengambil alih nilai variabel selama eksekusi alur.
- Larang penimpaan variabel di editor: Untuk variabel yang diatur di editor alur, larang penimpaan pengguna untuk mempertahankan konsistensi dan mencegah perubahan yang tidak diinginkan.
Agen
- Berikan izin hemat: Batasi izin ke set akun terkecil yang diperlukan untuk mengurangi permukaan serangan.
- Mengonfigurasi firewall pembatasan untuk agen: Siapkan firewall agar sebatas mungkin sambil tetap memungkinkan agen berfungsi, menyeimbangkan keamanan, dan kegunaan.
- Memperbarui kumpulan agen secara teratur: Selalu perbarui armada agen Anda dengan memperbarui agen secara teratur untuk memastikan kode yang rentan tidak berjalan, mengurangi risiko eksploitasi.
- Gunakan kumpulan agen terpisah untuk artefak produksi: Mengisolasi artefak produksi dengan menggunakan kumpulan agen yang berbeda, mencegah penyebaran yang tidak disengaja dari cabang nonproduksi.
- Kumpulan sensitif segmentasi: Buat kumpulan terpisah untuk beban kerja sensitif dan tidak sensitif. Hanya izinkan kredensial dalam definisi build yang terkait dengan kumpulan yang sesuai.
Definisi
- Gunakan YAML untuk definisi alur: Tentukan alur menggunakan YAML (Namun Bahasa Markup Lain) untuk keterlacakan dan kepatuhan yang lebih baik terhadap pedoman persetujuan dan praktik kontrol versi.
- Membatasi akses edit ke definisi alur: Batasi akses untuk mengedit definisi alur ke akun minimum yang diperlukan untuk mengurangi risiko perubahan yang tidak disengaja atau tidak sah.
Input
- Sertakan pemeriksaan variabel dalam skrip build: Terapkan pemeriksaan dalam skrip build Anda untuk mengurangi potensi serangan injeksi perintah melalui variabel yang dapat diatur. Validasi nilai input dan cegah perintah yang tidak diinginkan atau berbahaya.
- Batasi variabel build "dapat diatur pada waktu rilis": Minimalkan jumlah variabel build yang ditetapkan pada waktu rilis untuk mengurangi permukaan serangan dan menyederhanakan manajemen konfigurasi.
Tugas
- Hindari sumber daya yang diambil dari jarak jauh: Jika memungkinkan, hindari mengambil sumber daya dari URL eksternal selama proses build Anda. Jika sumber daya jarak jauh diperlukan, gunakan penerapan versi dan pemeriksaan hash untuk memastikan integritas.
- Hindari mencatat rahasia: Jangan pernah mencatat informasi sensitif, seperti rahasia atau kredensial, di log build Anda untuk mencegah paparan dan kompromi keamanan yang tidak disengaja.
- Gunakan Azure Key Vault untuk rahasia: Alih-alih menyimpan rahasia langsung dalam variabel alur, gunakan Azure Key Vault untuk mengelola dan mengambil rahasia dengan aman.
- Membatasi build yang berjalan terhadap cabang atau tag arbitrer: Untuk alur penting keamanan, batasi pengguna agar tidak menjalankan build terhadap cabang atau tag apa pun. Tentukan cabang atau tag resmi tertentu untuk mencegah eksekusi yang tidak disengaja atau tidak sah.
- Nonaktifkan pewarisan untuk izin alur: Izin yang diwariskan dapat terlalu luas dan mungkin tidak mencerminkan kebutuhan Anda secara akurat. Nonaktifkan pewarisan dan atur izin secara eksplisit agar selaras dengan persyaratan keamanan Anda.
- Membatasi cakupan otorisasi pekerjaan: Selalu batasi cakupan otorisasi pekerjaan hingga minimum yang diperlukan. Menyempurnakan izin berdasarkan tugas tertentu yang dilakukan oleh setiap pekerjaan.
Repositori dan cabang
- Memerlukan jumlah minimum peninjau: Aktifkan kebijakan untuk memastikan setiap permintaan pull menerima ulasan dari setidaknya dua pemberi persetujuan, mempromosikan tinjauan kode dan akuntabilitas menyeluruh.
- Mengonfigurasi kebijakan keamanan khusus repositori: Menyesuaikan kebijakan keamanan dengan setiap repositori atau cabang alih-alih kebijakan di seluruh proyek untuk mengurangi risiko, menerapkan standar manajemen perubahan, dan meningkatkan kualitas kode.
- Mengisolasi rahasia produksi dalam brankas kunci terpisah: Simpan rahasia produksi secara terpisah di Azure Key Vault dan batasi akses ke dasar yang perlu diketahui untuk mempertahankan pemisahan dari build nonproduksi.
- Memisahkan lingkungan pengujian dari produksi: Hindari mencampur lingkungan pengujian dengan produksi untuk memastikan kredensial dan rahasia tidak digunakan dalam konteks nonproduksi.
- Nonaktifkan forking: Menonaktifkan forking membantu mengelola keamanan dengan mencegah proliferasi fork, sehingga lebih mudah untuk melacak keamanan di semua salinan.
- Hindari memberikan rahasia ke build fork: Menahan diri untuk berbagi rahasia dengan build fork untuk menjaga rahasia dan tidak terekspos ke fork.
- Pertimbangkan untuk memicu build fork secara manual: Memicu build secara manual untuk fork daripada mengizinkan pemicu otomatis untuk memberikan kontrol yang lebih baik atas pemeriksaan keamanan.
- Gunakan agen yang dihosting Microsoft untuk build fork: Gunakan agen yang dihosting Microsoft untuk build fork saat dipertahankan dan diamankan.
- Memindai definisi build produksi di repositori Git: Periksa definisi build produksi secara teratur yang disimpan di repositori Git proyek Anda untuk info masuk atau informasi sensitif apa pun.
- Mengonfigurasi pemeriksaan kontrol cabang untuk konteks produksi: Menyiapkan pemeriksaan kontrol cabang untuk membatasi penggunaan koneksi sensitif (misalnya, prod-connection) ke alur yang berjalan dalam konteks cabang produksi, memastikan otorisasi yang tepat dan mencegah penyalahgunaan yang tidak disengaja.
Untuk informasi selengkapnya, lihat Pertimbangan keamanan lainnya.
Amankan Azure Repos
Paket Pengujian Azure yang Aman
Integrasi GitHub yang Aman
- Gunakan alur OAuth alih-alih PATs: Nonaktifkan autentikasi berbasis PAT untuk koneksi layanan GitHub dan pilih alur OAuth untuk keamanan dan integrasi yang lebih baik.
- Hindari identitas admin atau pemilik: Jangan pernah mengautentikasi koneksi layanan GitHub menggunakan identitas yang merupakan administrator atau pemilik repositori apa pun. Batasi izin ke tingkat yang diperlukan.
- Hindari lingkup penuh LING GitHub: Menahan diri dari menggunakan GitHub PAT cakupan penuh untuk mengautentikasi koneksi layanan. Gunakan token dengan izin minimum yang diperlukan.
- Hindari akun GitHub pribadi sebagai koneksi layanan: Jangan gunakan akun GitHub pribadi sebagai koneksi layanan di Azure DevOps. Sebagai gantinya, buat akun layanan khusus atau gunakan akun tingkat organisasi.