Ringkasan
GKE di AWS menggunakan kunci simetris AWS Key Management Service (KMS) yang dikelola pelanggan untuk mengenkripsi:
- Data status Kubernetes di etcd
- Data pengguna instance EC2
- Volume EBS untuk enkripsi dalam penyimpanan data bidang kontrol dan kumpulan node
Untuk lingkungan produksi, sebaiknya gunakan kunci yang berbeda untuk konfigurasi dan enkripsi volume. Untuk meminimalkan risiko lebih lanjut jika kunci disusupi, Anda juga dapat membuat kunci yang berbeda untuk setiap hal berikut:
- Konfigurasi bidang kontrol cluster
- Database bidang kontrol cluster
- Bidang kontrol cluster volume utama
- Bidang kontrol cluster volume root
- Konfigurasi kumpulan node
- Volume root kumpulan node
Untuk keamanan tambahan, Anda dapat membuat kebijakan kunci AWS KMS yang hanya menetapkan sekumpulan 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 membuat kunci terpisah untuk fungsi yang berbeda, Anda harus memberikan kebijakan kunci KKM untuk setiap tombol 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 memberikan semua akun utama 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 tersebut juga harus memberikan izin kepada akun Anda untuk menggunakan kebijakan IAM. Tanpa izin dari kebijakan kunci, kebijakan IAM yang mengizinkan izin tidak akan berpengaruh. Untuk informasi lebih lanjut, lihat Kebijakan utama di AWS KMS.
Tabel berikut menjelaskan izin untuk setiap peran IAM AWS yang digunakan GKE pada AWS.
Peran agen layanan GKE Multi-Cloud API | Peran bidang kontrol | Peran kumpulan node | Peran Layanan AWS untuk AutoScaling | |
---|---|---|---|---|
Enkripsi konfigurasi bidang kontrol cluster | kms:Enkripsi | kms:Decrypt | T/A | T/A |
Enkripsi database bidang kontrol cluster | T/A | kms:Enkripsi 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 kumpulan node | kms:Enkripsi | T/A | kms:Decrypt | T/A |
Enkripsi volume root kumpulan node | 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 |