Mengelola rahasia aplikasi

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 pengelolaan secret dari dalam pipeline Cloud Deploy.

Secret yang digunakan dengan cara ini harus dihasilkan, dikelola, dan dirotasi di luar cakupan Cloud Deploy.

Dalam konteks ini, secret mengacu pada data sensitif seperti kredensial database, kunci API, sertifikat, atau sandi.

Rahasia Kubernetes

Secret Kubernetes adalah objek aman yang menyimpan data sensitif, seperti sandi, token OAuth, dan kunci SSH di cluster Anda, yang terpisah dari Pod. Rahasia mirip dengan ConfigMaps, 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 rahasia dengan GKE atau GKE Enterprise:

Google Secret Manager

Secret Manager adalah layanan Google Cloud multi-region yang terkelola sepenuhnya dan 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 bagi aplikasi Anda:

  1. Buat secret menggunakan Secret Manager.

  2. Referensikan rahasia 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 lainnya .

Vault Hashicorp

Hashicorp Vault adalah alat open source yang populer dan banyak digunakan untuk mengelola secret. Google Cloud memiliki integrasi dan dukungan yang luas untuk Vault, beserta alat Hashicorp lainnya seperti Terraform.

Anda dapat mengonfigurasi Vault dalam cluster Kubernetes sebagai berikut:

  1. Akses secret Vault melalui API dan lakukan autentikasi menggunakan Workload Identity.

  2. Memasukkan Secret ke dalam Pod Kubernetes Anda menggunakan container Agen Vault.

  3. Gunakan Penyedia CSI Vault untuk menggunakan rahasia tersebut.

Langkah selanjutnya