Halaman ini menjelaskan beberapa praktik terbaik untuk mengelola secret untuk aplikasi yang Anda deploy ke cluster Google Kubernetes Engine atau GKE Enterprise menggunakan Cloud Deploy.
Karena memasukkan secret aplikasi ke dalam artefak deployment akan menimbulkan risiko keamanan, hindari mengelola secret dari dalam pipeline Cloud Deploy.
Secret yang digunakan dengan cara ini harus dibuat, dikelola, dan dirotasi di luar cakupan Cloud Deploy.
Dalam konteks ini, secret mengacu pada data sensitif seperti kredensial database, kunci API, sertifikat, atau sandi.
Secret Kubernetes
Secret Kubernetes adalah objek aman yang menyimpan data sensitif, seperti sandi, token OAuth, dan kunci SSH di cluster Anda, terpisah dari Pod. Secret mirip dengan ConfigMap, tetapi dimaksudkan untuk menyimpan data rahasia.
Karena Secret Kubernetes tidak aman secara default, tanpa enkripsi, pendekatan yang dijelaskan dalam dokumen ini tidak menggunakannya.
Mengelola secret untuk digunakan dengan Cloud Deploy
Bagian ini menjelaskan cara mengelola secret untuk aplikasi yang Anda deploy menggunakan Cloud Deploy.
Berikut adalah dua pendekatan untuk pengelolaan secret dengan GKE atau GKE Enterprise:
Google Secret Manager
Secret Manager adalah layanan multi-region Google Cloudterkelola sepenuhnya yang menyimpan kunci API, sandi, dan data sensitif lainnya dengan aman.
Secret dari Secret Manager dapat diakses dari cluster menggunakan autentikasi library klien dan Workload Identity, atau menggunakan driver CSI Secrets Store.
Untuk menggunakan Secret Manager untuk aplikasi Anda:
Referensikan secret dari kode aplikasi Anda menggunakan SDK.
Anda dapat menentukan metadata tambahan untuk secret menggunakan variabel lingkungan, misalnya versi secret, atau lingkungan aplikasi (seperti dev, staging, prod).
Jika proses deployment untuk fitur tertentu mencakup penyediaan infrastruktur, buat atau perbarui secret menggunakan Secret Manager sebagai bagian dari proses penyediaan, sebelum men-deploy aplikasi.
Untuk mengetahui informasi selengkapnya tentang cara mengelola secret Kubernetes dengan Secret Manager, lihat Menggunakan Secret Manager dengan produk lain .
Hashicorp Vault
Hashicorp Vault adalah alat open source yang populer dan banyak digunakan untuk mengelola secret. Google Cloud memiliki integrasi dan dukungan yang luas untuk Vault, bersama dengan alat Hashicorp lainnya seperti Terraform.
Anda dapat mengonfigurasi Vault dalam cluster Kubernetes sebagai berikut:
Akses secret Vault melalui API dan lakukan autentikasi menggunakan Workload Identity.
Masukkan Secret ke dalam Pod Kubernetes menggunakan penampung Vault Agent.
Gunakan Penyedia CSI Vault untuk menggunakan secret tersebut.
Langkah selanjutnya
Cari tahu lebih lanjut praktik terbaik Secret Manager.
Baca postingan blog tentang praktik terbaik keamanan menggunakan HashiCorp Vault dan Terraform di Google Cloud.