Ringkasan
GKE di AWS menggunakan kunci simetris AWS Key Management Service (KMS) yang dikelola pelanggan untuk mengenkripsi:
- Data status Kubernetes di etcd
- Instance EC2 data pengguna
- Volume EBS untuk enkripsi saat penyimpanan data bidang kontrol dan kumpulan node
Untuk lingkungan produksi, sebaiknya gunakan kunci yang berbeda untuk enkripsi konfigurasi dan volume. Untuk lebih meminimalkan risiko jika kunci disusupi, Anda juga dapat membuat kunci yang berbeda untuk setiap hal berikut:
- Konfigurasi bidang kontrol cluster
- Database bidang kontrol cluster
- Volume utama bidang kontrol cluster
- Volume root bidang kontrol cluster
- Konfigurasi node pool
- Volume root node pool
Untuk keamanan tambahan, Anda dapat membuat kebijakan kunci AWS KMS yang hanya menetapkan serangkaian izin minimum yang diperlukan. Untuk mengetahui informasi selengkapnya, lihat Membuat kunci KMS dengan izin tertentu.
Membuat kunci AWS KMS
Untuk membuat kunci, jalankan perintah berikut:
aws --region AWS_REGION kms create-key \
--description "KEY_DESC"
Ganti kode berikut:
AWS_REGION
dengan nama region AWS AndaKEY_DESC
dengan deskripsi teks kunci Anda
Untuk setiap kunci yang Anda buat, simpan nilai bernama KeyMetadata.Arn
dalam output
perintah ini untuk digunakan nanti.
Membuat kunci KMS dengan izin tertentu
Jika Anda membuat kunci terpisah untuk fungsi yang berbeda, Anda harus memberikan kebijakan kunci KMS untuk setiap kunci yang memberikan izin yang sesuai pada kunci tersebut. Jika Anda tidak menentukan kebijakan kunci saat membuat kunci, AWS KMS akan membuat kebijakan kunci default yang memberi semua principal di akun pemilik akses tanpa batas ke semua operasi untuk kunci tersebut.
Saat membuat kebijakan kunci, Anda harus mengizinkan akses kebijakan IAM AWS ke kebijakan kunci. Kebijakan kunci juga harus memberikan izin akun Anda untuk menggunakan kebijakan IAM. Tanpa izin dari kebijakan kunci, kebijakan IAM yang mengizinkan izin tidak akan berpengaruh. Untuk mengetahui informasi selengkapnya, lihat Kebijakan kunci di AWS KMS.
Tabel berikut menjelaskan izin untuk setiap peran IAM AWS yang digunakan GKE di AWS.
Peran agen layanan GKE Multi-Cloud API | Peran bidang kontrol | Peran node pool | Peran Layanan AWS untuk AutoScaling | |
---|---|---|---|---|
Enkripsi konfigurasi bidang kontrol cluster | kms:Encrypt | kms:Decrypt | T/A | T/A |
Enkripsi database bidang kontrol cluster | T/A | kms:Encrypt kms:Decrypt |
T/A | T/A |
Enkripsi volume utama bidang kontrol cluster | kms:GenerateDataKeyWithoutPlaintext | kms:CreateGrant | T/A | T/A |
Enkripsi volume root bidang kontrol cluster | T/A | T/A | T/A | Lihat Bagian kebijakan utama yang mengizinkan akses ke kunci yang dikelola pelanggan |
Enkripsi konfigurasi node pool | kms:Encrypt | T/A | kms:Decrypt | T/A |
Enkripsi volume root node pool | T/A | T/A | T/A | Lihat Bagian kebijakan utama yang mengizinkan akses ke kunci yang dikelola pelanggan |
Persyaratan lainnya | kms:DescribeKey | T/A | T/A | T/A |