api_key/apiToken ditandain sensitive, dan tiap output raw di-redact. Tutorial ini soal layer di atas itu, jauhin token itu sendiri dari git dan masukin dia dengan aman ke CI, soalnya layer itu tanggung jawab lu sepenuhnya.
Aturan satu: jangan pernah commit token beneran
- Export sebagai environment variable (
BIZNETGIO_API_KEY) daripada nulis ke file yang di-commit. - Jangan pernah pass pake
-vardi CLI Terraform; argument command-line ujung-ujungnya masuk shell history lu. - Gitignore file
tfvarsapapun yang pernah nyimpen value beneran, sesuai tutorial project structure.
Terraform Cloud variable
Kalau lu ngikutin jalur yang direkomendasiin di tutorial state and collaboration, set token-nya sebagai workspace variable: category “environment variable”, keyBIZNETGIO_API_KEY, terus centang checkbox sensitive-nya. Dia keinject ke tiap run plan dan apply dan gak pernah nongol di log.
Pulumi config dan ESC
pulumi config set --secret encrypt value-nya dulu sebelum nulis ke Pulumi.<stack>.yaml:
Pulumi.yaml daripada ngulang config set di tiap stack:
GitHub Actions secret
Simpen token-nya sebagai repository secret, atau lebih bagus lagi, sebagai environment secret yang discope ke environment tertentu (contohnyaproduction) dengan required reviewers dinyalain. Itu yang ngejaga job apply/up-nya tutorial CI/CD di belakang approval manusia, soalnya secret-nya sendiri baru available begitu protection rules environment-nya lolos.
Rotate token yang kebocor
- Generate yang baru di portal (liat Authentication); yang lama langsung berhenti kerja.
- Update tiap tempat yang nyimpen value lama: CI secret, environment Pulumi ESC, variable Terraform Cloud.
- Jalanin ulang plan/preview buat konfirmasi token barunya bisa authenticate sebelum merge apapun.
Gak ada token yang scoped
Warning di halaman Authentication berlaku langsung di sini: API token ngasih kontrol penuh ke account, dan gak ada variant read-only atau scoped. Artinya ngasih pipeline CI akses ke situ setara sama ngasih pipeline itu akses penuh ke account. Jaga siapa yang bisa trigger pipeline yang punya akses itu (branch protection, required reviewers di environment production) sama ketatnya kayak lu jaga siapa yang punya token itu sendiri.Langkah berikutnya
- CI/CD with GitHub Actions - pake token ini buat kerja di pipeline beneran