MATERI 25 DARI 28
Deployment, konfigurasi, dan least privilege
Deploy dengan service account terbatas, file permission tepat, konfigurasi tervalidasi, dan health check.
Tujuan pembelajaran
- Membedakan build, deploy, dan runtime.
- Mengatur ownership/mode file.
- Membatasi permission service dan database.
Konsep utama
Least privilege
Worker hanya mendapat read/write yang dibutuhkan.
Config validation
Service harus gagal start bila secret wajib hilang.
Artifact integrity
Verifikasi checksum sebelum install.
Alur kerja teknis
- Tulis tujuan dan acceptance criteria.
- Buat perubahan kecil yang dapat ditinjau.
- Jalankan test dan baca diff sebelum menerima hasil AI.
Contoh implementasi
Deploy file dengan ownership eksplisit
sha256sum -c SHA256SUMS
php -l stage/public/index.php
sudo install -o root -g www-data -m 0640 stage/public/index.php /var/www/app/public/index.php
sudo -u www-data test -r /var/www/app/public/index.php
curl -fsS https://example.test/healthRole database terbatas
CREATE USER app_user WITH PASSWORD 'use-secret-manager';
GRANT SELECT, INSERT, UPDATE, DELETE ON app_schema.app_data TO app_user;
-- Jangan memberi SUPER/ALL PRIVILEGES ke aplikasi.Aspek keamanan
- Jangan menggunakan chmod 777.
- Jangan memasukkan config production ke bundle source.
- Verifikasi runtime sebagai service user, bukan hanya user SSH.
Kesalahan umum
- Menerima kode AI tanpa membaca diff dan memahami alur data.
- Menguji hanya happy path dan mengabaikan input salah atau batas nilai.
- Menyimpan secret, token, atau data nyata di prompt dan source code.
Pengujian dan verifikasi
- Jalankan contoh dengan input normal.
- Ulangi dengan input kosong, tipe salah, dan nilai batas.
- Pastikan error tidak membocorkan secret atau detail internal.
Latihan
- Modifikasi contoh dengan satu kebutuhan baru dan tulis acceptance criteria-nya.
- Tambahkan satu negative test lalu jelaskan risiko yang dicegah.
Checklist
- Tujuan dan batas pekerjaan jelas.
- Input divalidasi di server.
- Secret tidak berada di source/prompt.
- Test lulus dan diff sudah dibaca.
Rangkuman
Deploy dengan service account terbatas, file permission tepat, konfigurasi tervalidasi, dan health check.