6 BULAN DI MUKA −28% · 1 TAHUN DI MUKA −50%Bandingkan paket
PrivacyNodes
REKAYASA RILIS

Beri kredensial deploy satu tugas yang sempit

Identitas penerapan harus menjalankan tugas rilis yang ditinjau tanpa menjadi administrator umum. Tentukan tugasnya, sumber artefak tepercaya, dan jalur pencabutannya sebelum memberikan akses alur kerja CI ke host atau penyimpanan rahasia.

catatan teknik PrivacyNodes · Ditinjau · 3 menit baca

Pisahkan otomatisasi dan administrasi pribadi

Alur pipa API pelaporan perlu memilih artefak yang disetujui dan memanggil tindakan rilis yang terkendali. Itu tidak secara otomatis memerlukan pembuatan pengguna, mengubah penagihan, atau membaca setiap rahasia aplikasi. Mulailah dengan inventaris izin dan lingkungan pengujian yang terlindungi; jauhkan kredensial dari dokumen, repositori, dan log contoh.

Akses pemulihan manusia harus tetap terpisah agar mencabut kredensial penerapan tidak menghapus satu-satunya jalur investigasi. Identifikasi pemelihara yang berwenang dan verifikasi host independen. Kunci kedua yang tidak dibatasi adalah kredensial lain, bukan peran yang lebih sempit.

Jelaskan operasi yang diizinkan secara tepat

Inventaris izin rilis ilustratif
KemampuanDiperlukan?Batas
Baca artefak yang disetujuiYaRepositori/versi tertentu
Panggil tindakan rilisYaAplikasi dan lingkungan tetap
Baca setiap rahasia runtimeHindariIdentitas runtime terkendali
Ubah pengguna atau kebijakan SSHTidakAdministrasi terpisah
Ubah konfigurasi alur kerjaTidak untuk identitas runtimeTinjauan repositori terlindungi
Hapus cadanganTidakIzin pemulihan terpisah

Validasi input tindakan rilis. Perintah terbatas yang menggabungkan teks arbitrer ke dalam shell istimewa tetap memungkinkan pekerjaan yang tidak diinginkan. Tinjau perilaku pembungkus, jalur yang dapat ditulis, dan kepercayaan artefak secara bersamaan. Hak sudo yang luas atau akses ke soket Docker dapat mengalahkan batas yang dimaksudkan.

Perlakukan pengeditan alur kerja sebagai akses kredensial

Seseorang yang mampu mengubah langkah workflow tepercaya dapat menggunakan atau mengekspos kredensialnya. Tinjau izin repositori, lingkungan deployment yang dilindungi, dan peristiwa mana yang menjalankan job berhak istimewa. Jauhkan kredensial produksi dari kode pull-request yang tidak tepercaya. Berikan token workflow hanya izin yang dibutuhkan job-nya.

GitHub merekomendasikan pinning commit SHA panjang penuh untuk pemilihan action yang tidak dapat diubah. Tinjau action yang dipilih dan pembaruan selanjutnya; tag versi dapat berpindah. Hindari memasukkan data peristiwa yang tidak tepercaya secara langsung ke dalam kode shell inline. Menyamarkan nilai rahasia yang diketahui bukan jaminan terhadap pengungkapan melalui transformasi, log, atau artifact.

Referensi teknis: Penggunaan aman GitHub Actions.

Gunakan masa berlaku singkat saat tujuan mendukungnya

OpenID Connect dapat memungkinkan tujuan yang didukung menukar identitas workflow dengan kredensial berumur pendek. Konfigurasikan pemeriksaan kepercayaan untuk repositori, branch, atau environment yang dituju dan audience. Ini bukan pengganti SSH yang universal maupun fitur yang disediakan oleh frontend PrivacyNodes saat ini.

Jika deployment Anda menggunakan SSH, tinjau opsi authorized-key pada paket yang terpasang. Forced command saja tidak melarang forwarding; pembatasan harus mencakup jalur akses yang dituju dan tetap memanggil operasi rilis yang aman. Uji di environment terpisah. Pertahankan akses administrasi dan pemulihan yang berfungsi saat mengubah autentikasi, dan verifikasi koneksi independen yang baru sebelum menghapus metode lama.

Referensi teknis: OpenID Connect GitHub Actions · Format authorized_keys OpenSSH.

Uji pekerjaan yang diizinkan dan dilarang

Verifikasi bahwa identitas dapat memilih artifact yang dituju, memanggil rilis, dan memperoleh hasil yang berguna. Lalu uji batasannya: secret aplikasi lain, perubahan file yang tidak terkait, dan administrasi arbitrer harus tidak tersedia. Sertakan jalur artifact dan argumen yang harus ditolak oleh wrapper.

Catat identitas, cakupan, masa berlaku jika berlaku, maintainer yang menyetujui, dan lokasi bukti audit. Simpan referensi penyimpanan, bukan nilai kredensial. Jika sebuah pengujian hanya berhasil setelah memberikan administrasi yang luas, tinjau kembali tugas rilis alih-alih diam-diam menjadikannya peran permanen.

Latih pencabutan dan rilis alur pipa yang rusak

Siapkan pengganti dengan cakupan yang telah ditinjau, verifikasi deployment pengujian, alihkan pipeline, dan cabut identitas lama. Pastikan kredensial yang digantikan gagal dan tidak ada duplikat yang tersisa di workflow lain. Menambahkan kunci baru saja tidak menghapus akses sebelumnya.

Dokumentasikan bagaimana maintainer yang berwenang menghentikan deployment dan memulihkan saat CI tidak tersedia. Tautkan prosedur tersebut ke catatan rilis dan inventaris pemulihan. Kredensial yang sempit membatasi otoritas yang dimaksudkan; itu tidak membuat artifact berbahaya menjadi tidak berbahaya.

Referensi resmi

Dokumentasi telah ditinjau untuk artikel ini. Contoh adalah latihan perencanaan, bukan perintah yang diuji pada server PrivacyNodes. Periksa dokumentasi untuk versi yang terpasang.