Rahasia Dinamis dan Penyewaan
Kredensial berumur pendek yang kedaluwarsa otomatis.
Rahasia Dinamis dan Penyewaan adalah pelajaran Cyber Security Academy gratis di CoddyKit. Ini adalah pelajaran 3 dari 4. Kamu bisa membaca pelajaran lengkapnya di bawah secara gratis — lalu praktikkan langsung di browser dengan editor kode bawaan dan tutor AI 24/7. Ini adalah bagian dari jalur belajar Cyber Security Academy, dan progresmu tersinkronisasi di web dan aplikasi CoddyKit. Kursus Cyber Security Academy mencakup 4 pelajaran total.
Rahasia Statis vs Dinamis
Rahasia statis dibuat sekali dan digunakan kembali tanpa batas waktu—misalnya kata sandi basis data yang sama digunakan bersama oleh sepuluh layanan selama bertahun-tahun. Rahasia statis adalah bawaan sekaligus masalah: masa berlakunya panjang, dibagikan secara luas, dan sulit dirotasi.
Rahasia dinamis dibuat sesuai permintaan, unik untuk satu konsumen, dan kedaluwarsa secara otomatis. Alih-alih menyimpan kata sandi, Vault membuat kredensial baru setiap kali ada permintaan.
Perubahan tunggal ini mengatasi bagian tersulit dari pengelolaan rahasia: rotasi menjadi otomatis, dan radius dampak dari kebocoran apa pun menyusut hingga mendekati nol.
Cara Kerja Rahasia Dinamis
Rahasia dinamis mengharuskan Vault memiliki akses istimewa ke sistem tujuan. Alur untuk basis data adalah sebagai berikut:
- Administrator mengonfigurasi Vault dengan kredensial basis data administrator utama dan templat pembuatan.
- Aplikasi melakukan autentikasi dan meminta kredensial.
- Vault menjalankan
CREATE USERpada basis data, lalu mengembalikan nama pengguna dan kata sandi baru. - Ketika masa sewa berakhir, Vault secara otomatis menjalankan
DROP USER.
Aplikasi tidak pernah melihat kata sandi yang berlaku lama—aplikasi menerima kata sandi sementara yang terikat pada identitas dan masa sewanya.
# Configure Vault's database engine with a creation statement
vault write database/roles/billing-readonly \
db_name=appdb \
creation_statements="CREATE ROLE \"{{name}}\" LOGIN PASSWORD '{{password}}' VALID UNTIL '{{expiration}}'; GRANT SELECT ON billing TO \"{{name}}\";" \
default_ttl="1h" max_ttl="24h"Meminta Kredensial Dinamis
Ketika aplikasi memerlukan akses ke basis data, aplikasi meminta kredensial kepada Vault. Responsnya adalah nama pengguna dan kata sandi unik yang baru dibuat, serta masa sewa yang menjelaskan berapa lama kredensial tersebut berlaku.
Setiap konsumen mendapatkan kredensialnya sendiri. Jika dua pod dari layanan yang sama dimulai, keduanya menerima nama pengguna yang berbeda, sehingga audit per konsumen dapat dilakukan pada tingkat basis data.
vault read database/creds/billing-readonly
# Example response:
# lease_id database/creds/billing-readonly/abc123
# lease_duration 1h
# password A1b-2Cd3-temp-xyz
# username v-approle-billing-9f3a2Kontrak Masa Berlaku TTL
Masa sewa adalah kontrak yang menyatakan berapa lama rahasia ini berlaku. Setiap rahasia dinamis memiliki TTL (masa berlaku) dan TTL maksimum opsional.
- default_ttl berapa lama kredensial berlaku sebelum kedaluwarsa.
- max_ttl batas mutlak, bahkan setelah diperpanjang.
Ketika masa sewa berakhir, Vault mencabut kredensial tersebut dengan menghapus pengguna basis data secara aktif. Kedaluwarsa bukan sekadar penanda; kedaluwarsa memicu pembersihan nyata. Inilah yang membuat rahasia dinamis yang bocor dapat pulih sendiri: kredensial yang dicuri tidak berguna dalam jangka waktu TTL.
Memperpanjang dan Mencabut Masa Sewa
Aplikasi yang berjalan lama dan melampaui masa sewa harus memperpanjang masa sewa tersebut sebelum berakhir. Perpanjangan meningkatkan TTL hingga TTL maksimum; setelah itu, aplikasi harus meminta kredensial baru.
Operator juga dapat mencabut masa sewa seketika—sebagai tombol pemutus selama terjadi insiden. Pencabutan masa sewa langsung menghapus kredensial yang mendasarinya, terlepas dari sisa TTL.
Anda bahkan dapat mencabut semua masa sewa di bawah suatu awalan untuk segera memutus seluruh layanan atau lingkungan.
# Renew a lease before it expires
vault lease renew database/creds/billing-readonly/abc123
# Revoke a single lease immediately (incident kill switch)
vault lease revoke database/creds/billing-readonly/abc123
# Revoke every lease under a path prefix
vault lease revoke -prefix database/creds/billing-readonlyMelampaui Basis Data
Rahasia dinamis tidak terbatas pada basis data. Vault dan alat serupa dapat membuat kredensial berumur pendek untuk banyak sistem:
- IAM cloud kunci akses AWS/GCP/Azure sementara melalui pengambilan peran bergaya STS.
- SSH sertifikat SSH bertanda tangan dan berumur pendek sebagai pengganti kunci statis.
- PKI/TLS sertifikat yang diterbitkan sesuai permintaan dengan masa berlaku singkat.
- RabbitMQ, MongoDB, Consul kredensial layanan sementara.
Polanya sama di mana pun: minta, gunakan sebentar, lalu kedaluwarsa secara otomatis. Kunci cloud statis yang berlaku lama sering menjadi sumber pelanggaran; kredensial IAM dinamis menghilangkannya.
# Generate temporary AWS credentials scoped to a role
vault read aws/creds/deploy-role
# returns short-lived access_key, secret_key, security_token
# Sign an SSH key for short-lived access (valid minutes, not forever)
vault write ssh/sign/admin public_key=@id_ed25519.pub ttl=15mMengapa Rahasia Dinamis Memperkecil Radius Dampak
Pertimbangkan kredensial yang bocor dalam setiap model:
- Statis kata sandi tetap berlaku sampai seseorang menyadari kebocoran, merotasinya, dan memperbaruinya pada setiap konsumen. Jendela paparan berlangsung berhari-hari atau berbulan-bulan.
- Dinamis kredensial kedaluwarsa dalam jangka waktu TTL-nya (biasanya beberapa menit hingga satu jam) dan cakupannya dibatasi pada satu konsumen dengan izin minimal. Jendela paparan sangat singkat dan kerusakannya terbatas.
Rahasia dinamis mengubah rotasi dari pekerjaan manual yang menyulitkan menjadi sifat otomatis dan berkelanjutan dalam sistem.
Pertukaran Kredensial Administrator Utama
Rahasia dinamis sangat kuat, tetapi mengharuskan Vault menyimpan kredensial administrator utama dengan hak istimewa tinggi untuk setiap sistem tujuan tempat Vault dapat membuat pengguna. Hal ini memusatkan risiko pada Vault.
Mitigasi:
- Rotasikan kredensial administrator utama itu sendiri, sehingga Vault pun tidak menyimpan kata sandi administrator asli.
- Batasi cakupan akun administrator utama tepat pada izin yang diperlukan untuk membuat dan menghapus pengguna—tidak lebih.
- Isolasi dan pantau host Vault secara ketat, karena host tersebut kini menjadi target bernilai tinggi.
Vault dapat merotasi kredensial administrator utamanya sendiri, sehingga setelah penyiapan tidak ada manusia yang mengetahuinya.
# After configuring the engine, rotate the root credential
# so even operators no longer know the original password
vault write -force database/rotate-root/appdbMenangani Kedaluwarsa dalam Kode Aplikasi
Aplikasi harus ditulis untuk mengantisipasi perubahan kredensial. Dengan rahasia statis, kode membaca kata sandi sekali saat dimulai. Dengan rahasia dinamis, kode harus:
- Mengambil kredensial dan mencatat TTL masa sewanya.
- Memperpanjang masa sewa, atau mengambil ulang kredensial baru sebelum kedaluwarsa.
- Menyambungkan kembali secara baik ketika kredensial lama dicabut.
Pola yang umum adalah agen pendamping yang menangani siklus hidup masa sewa dan menulis ulang berkas rahasia lokal, sehingga aplikasi cukup memuat ulang konfigurasinya. Kumpulan koneksi juga harus disegarkan agar tidak terus menggunakan kredensial yang sudah kedaluwarsa.
# Vault Agent auto-renews and re-templates on rotation
auto_auth { method "approle" { ... } }
template {
contents = "{{ with secret \"database/creds/billing-readonly\" }}{{ .Data.username }}:{{ .Data.password }}{{ end }}"
destination = "/run/secrets/db"
command = "systemctl reload billing-app"
}Saat Rahasia Statis Tidak Dapat Dihindari
Tidak setiap rahasia dapat dibuat dinamis. Beberapa layanan pihak ketiga menerbitkan satu kunci berumur panjang yang tidak dapat dibuat sesuai permintaan. Untuk rahasia statis ini, terapkan kontrol kompensasi:
- Simpan rahasia tersebut di Vault, jangan pernah di dalam kode.
- Batasi cakupannya pada hak akses paling rendah.
- Rotasikan sesuai jadwal (akan dibahas pada pelajaran berikutnya).
- Pantau penggunaannya untuk menemukan anomali.
Aturan praktisnya: utamakan yang dinamis; jika terpaksa memakai yang statis, rotasi dan audit tanpa henti.
Rahasia Dinamis dalam CI/CD
Alur CI/CD adalah kasus penggunaan utama. Secara tradisional, alur ini menyimpan kunci penerapan berumur panjang—target yang sangat menarik. Dengan rahasia dinamis, alur tersebut:
- Melakukan autentikasi ke Vault menggunakan identitas OIDC-nya (misalnya token OIDC GitHub Actions).
- Meminta kredensial cloud berumur pendek yang hanya berlaku selama pekerjaan berlangsung.
- Membiarkan kredensial tersebut kedaluwarsa secara otomatis ketika pekerjaan selesai.
Tidak pernah ada kunci penerapan berumur panjang. Catatan alur yang disusupi membocorkan kredensial yang sudah tidak berlaku saat siapa pun membacanya.
# GitHub Actions job exchanges its OIDC token for a short-lived AWS role
# No static AWS keys stored as repo secrets
permissions:
id-token: write
steps:
- uses: aws-actions/configure-aws-credentials@v4
with:
role-to-assume: arn:aws:iam::123:role/deploy
aws-region: eu-central-1Pemeriksaan Singkat
Uji pemahaman Anda tentang masa sewa dan rahasia dinamis.
Ringkasan: Rahasia Dinamis dan Masa Sewa
Anda telah mempelajari cara kredensial yang berlaku singkat dan kedaluwarsa otomatis mengubah pengelolaan rahasia.
- Rahasia dinamis dibuat sesuai permintaan, unik untuk setiap konsumen, dan kedaluwarsa otomatis, tidak seperti rahasia statis yang digunakan berulang kali.
- Masa sewa menentukan TTL dan TTL maksimum; saat kedaluwarsa, Vault mencabut kredensial tersebut disertai pembersihan nyata.
- Masa sewa dapat diperpanjang oleh aplikasi yang berjalan lama atau dicabut seketika sebagai tombol pemutus saat terjadi insiden.
- Rahasia dinamis berlaku untuk basis data, IAM cloud, SSH, PKI, dan lainnya—memperkecil radius dampak serta mengotomatiskan rotasi.
- Komprominya adalah adanya kredensial administrator utama di Vault; rotasikan dan batasi cakupannya dengan ketat.
- Aplikasi dan CI/CD harus ditulis untuk menangani kedaluwarsa; utamakan rahasia dinamis dan rotasikan rahasia statis jika tidak dapat dihindari.
Selanjutnya, kita akan membahas rotasi kunci dan cara mendeteksi kebocoran saat kebocoran tersebut berhasil lolos.
Belajar Cyber Security Academy dengan tutor AI — gratis
Tulis dan jalankan kode asli di browser kamu, dapatkan bantuan instan dari tutor AI 24/7, dan lanjutkan di mana kamu tinggalkan di web atau aplikasi.
- Kursus
- 76
- Pelajaran
- 303
Pertanyaan yang Sering Diajukan
Apakah pelajaran “Rahasia Dinamis dan Penyewaan” gratis?
Ya — teks lengkap “Rahasia Dinamis dan Penyewaan” gratis dibaca di sini di web. Untuk praktiknya secara interaktif (editor kode bawaan dan tutor AI 24/7) dan buka sisa kursus Cyber Security Academy, upgrade ke CoddyKit PRO. Kursus Cyber Security Academy mencakup 4 pelajaran total.
Apa yang akan aku pelajari di “Rahasia Dinamis dan Penyewaan”?
Kredensial berumur pendek yang kedaluwarsa otomatis. Kamu berlatih Cyber Security Academy dengan kode praktik yang langsung kamu jalankan di browser, dan tutor AI 24/7 menjawab pertanyaanmu saat kamu mengerjakan pelajaran ini.
Apakah aku perlu pengalaman untuk memulai Cyber Security Academy?
Tidak diperlukan pengalaman sebelumnya. Cyber Security Academy di CoddyKit dirancang untuk pemula hingga pelajar tingkat lanjut, jadi kamu bisa memulai di sini atau dari awal dan belajar sesuai kecepatan kamu sendiri. Ini adalah pelajaran 3 dari 4.
Berapa lama pelajaran “Rahasia Dinamis dan Penyewaan” memakan waktu?
Sebagian besar pelajaran CoddyKit memakan waktu sekitar 5–10 menit. Setiap pelajaran ringkas dan interaktif, jadi kamu membuat kemajuan stabil dan melanjutkan dari tempat kamu tinggalkan di web dan aplikasi.
Bisakah aku menulis dan menjalankan kode dalam pelajaran Cyber Security Academy ini?
Ya. Setiap pelajaran Cyber Security Academy menyertakan editor kode bawaan, jadi kamu menulis dan menjalankan kode nyata langsung di browser dan mendapatkan umpan balik AI instan — tidak diperlukan penyiapan lokal.
Semua pelajaran dalam kursus ini
- Masalah Rahasia yang Tersebar
- Brankas dan Penyimpanan Rahasia
- Rahasia Dinamis dan Penyewaan
- Rotasi Kunci dan Deteksi