Halaman ini menunjukkan cara mengenkripsi data pada instance dan cadangan Filestore menggunakan kunci enkripsi Anda sendiri.
Secara default, Google Cloud otomatis mengenkripsi data saat dalam penyimpanan menggunakan kunci enkripsi yang dikelola oleh Google Cloud. Jika memerlukan kontrol lebih besar atas kunci yang melindungi data, Anda dapat menggunakan kunci enkripsi yang dikelola pelanggan untuk Filestore.
Opsi kunci enkripsi yang dikelola pelanggan
Cloud Key Management Service mendukung kunci enkripsi yang dikelola pelanggan (CMEK) yang dapat disimpan sebagai kunci software, sebagai kunci hardware di cluster HSM, atau secara eksternal di Cloud External Key Manager (Cloud EKM). Tersedia beberapa opsi.
Untuk mengetahui informasi selengkapnya, lihat Cloud Key Management Service.
Cloud External Key Manager
Dukungan Cloud EKM untuk Filestore kini tersedia secara umum (GA). Untuk mengetahui informasi selengkapnya, lihat Cloud External Key Manager.
Gangguan pada layanan EKM
Secara desain, kunci eksternal dikelola oleh pihak ketiga; dalam situasi ini, Google Cloud tidak bertanggung jawab atas ketersediaan kunci.
Jika Cloud Key Management Service (Cloud KMS) diberi tahu oleh External Key Manager (EKM) bahwa kunci eksternal tidak dapat dijangkau, pengguna akan menerima notifikasi ekm_key_unreachable_detected
. Pengguna memiliki akses terbatas ke operasi pada instance hingga satu jam. Setelah satu jam, jika status kunci tidak berubah, tindakan berikut
akan berlaku:
- Kunci dinonaktifkan.
- Semua operasi enkripsi dan dekripsi gagal.
- Instance Filestore ditangguhkan.
Dalam beberapa kasus, seperti peristiwa tidak terencana seperti mulai ulang VM, akses ke instance dapat terganggu sebelum satu jam.
Notifikasi penting yang tidak dapat dijangkau dapat dilihat dari halaman detail instance Filestore:
Buka halaman instance Filestore
Pengguna juga akan menerima notifikasi ekm_key_unreachable_detected
pada salah satu
operasi berikut jika dilakukan dalam waktu satu jam sejak notifikasi
pertama yang dilaporkan:
- Mengembalikan snapshot
- Membuat pencadangan instance
- Menghapus cadangan
- Memulihkan instance dari cadangan
- Mengupdate atau mem-patch instance
Tingkatan yang didukung
Tabel berikut menunjukkan tingkat layanan Filestore yang mendukung kunci enkripsi yang dikelola pelanggan:
Tingkat | Dukungan CMEK |
---|---|
HDD Dasar | Tidak |
SSD Dasar | Tidak |
Zonal dengan rentang kapasitas lebih rendah | Ya |
Zonal dengan rentang kapasitas lebih tinggi (sebelumnya SSD skala tinggi) | Ya |
Enterprise | Ya |
Buat key ring dan kunci untuk digunakan dengan instance Anda
Key ring dan kunci dapat berada di project yang berbeda dengan instance Filestore, tetapi harus berada di lokasi yang sama. Jika Anda sudah memiliki key ring dan kunci Cloud KMS yang ingin digunakan dengan Filestore, lanjutkan ke bagian berikutnya. Jika tidak, ikuti petunjuk tentang Membuat kunci enkripsi simetris untuk membuat key ring dan kunci.
Memberikan izin akses kunci ke akun layanan Filestore
Sebelum Anda dapat membuat instance Filestore yang menggunakan kunci enkripsi yang dikelola pelanggan, akun layanan Filestore harus memiliki peran Cloud KMS CryptoKey Encrypter/Decrypter (roles/cloudkms.cryptoKeyEncrypterDecrypter
).
Akun layanan Filestore dibuat saat pertama kali Anda membuat instance Filestore dalam project. Jika Anda belum memiliki akun layanan Filestore, jalankan perintah
services identity create
berikut:gcloud beta services identity create --service=file.googleapis.com --project=INSTANCE_PROJECT_NUMBER_OR_ID
Ganti INSTANCE_PROJECT_NUMBER_OR_ID dengan nomor atau ID project tempat Anda ingin membuat instance Filestore.
Tetapkan peran Cloud KMS CryptoKey Encrypter/Decrypter untuk akun layanan Filestore dengan menjalankan perintah
projects add-iam-policy-binding
:gcloud projects add-iam-policy-binding KMS_PROJECT_NUMBER_OR_ID \ --member serviceAccount:service-INSTANCE_PROJECT_NUMBER@cloud-filer.iam.gserviceaccount.com \ --role roles/cloudkms.cryptoKeyEncrypterDecrypter
Ganti kode berikut:
- KMS_PROJECT_NUMBER_OR_ID dengan nomor atau ID project project yang berisi kunci Cloud KMS yang ingin Anda gunakan.
- INSTANCE_PROJECT_NUMBER dengan nomor project (bukan ID project) project tempat Anda ingin membuat instance Filestore.
Membuat instance yang menggunakan kunci Cloud KMS Anda
Konsol Google Cloud
Untuk membuat instance yang menggunakan kunci Cloud KMS untuk enkripsi data:
Di konsol Google Cloud, buka halaman instance Filestore.
Klik Create Instance
Pilih tingkat instance yang mendukung CMEK dan isi semua kolom wajib diisi dan opsional lainnya seperti yang biasa Anda lakukan.
Klik Tampilkan opsi lanjutan.
Centang kotak Gunakan kunci enkripsi yang dikelola pelanggan (CMEK).
Pilih kunci Cloud KMS yang ingin Anda gunakan untuk instance.
Klik Create.
gcloud CLI
Untuk membuat instance Filestore yang menggunakan kunci Cloud KMS untuk enkripsi data, tentukan flag --kms-key
dalam perintah filestore instances create
:
gcloud filestore instances create nfs-server \
--tier=<var>TIER</var> \
--location=us-central1 \
--file-share=name="vol1",capacity=1TiB \
--network=name="default" \
--kms-key=KMS_KEY
Ganti kode berikut:
- TIER dengan tingkat Filestore yang mendukung kunci enkripsi yang dikelola pelanggan.
- KMS_KEY dengan nama kunci Cloud KMS yang sepenuhnya memenuhi syarat yang ingin Anda gunakan. Atau, Anda dapat menentukan setiap argumen secara terpisah dalam format:
--kms-key=KMS_KEY : --kms-keyring=KEY_RING --kms-location=KMS_REGION --kms-project=KMS_PROJECT_NUMBER_OR_ID
Ganti kode berikut:
- KMS_KEY dengan nama kunci Cloud KMS.
- KMS_PROJECT_NUMBER_OR_ID dengan nomor project atau ID project tempat kunci dibuat.
- KMS_KEY_RING dengan nama key ring.
- KMS_REGION dengan wilayah key ring. Key ring dan instance harus berada di region yang sama.
Mendapatkan daftar kunci
Anda dapat memperoleh daftar kunci dengan menjalankan perintah
kms keys list
:
gcloud kms keys list \
--project=KMS_PROJECT_NUMBER_OR_ID \
--keyring=KEY_RING \
--location=KMS_REGION
Ganti kode berikut:
- KMS_PROJECT_NUMBER_OR_ID dengan nomor project atau ID project tempat kunci dibuat.
- KEY_RING dengan nama key ring.
- KMS_REGION dengan wilayah key ring.
Kolom Name pada output memberikan nama yang sepenuhnya memenuhi syarat untuk kunci yang ada. Contoh:
projects/example-project/locations/us-central1/keyRings/example-ring/cryptoKeys/example-key
Mendapatkan informasi kunci instance
Bagian berikut membahas cara mendapatkan informasi penting instance.
Membuat daftar instance yang menggunakan kunci Cloud KMS tertentu
Anda dapat mencantumkan instance Filestore yang menggunakan kunci tertentu dengan menjalankan perintah instances list
:
gcloud filestore instances list --filter="kmsKeyName=KMS_KEY"
Ganti KMS_KEY dengan nama kunci yang sepenuhnya memenuhi syarat dan ingin Anda gunakan.
Contoh:
gcloud filestore instances list \
--filter="kmsKeyName=projects/example-project/locations/us-central1/keyRings/example-ring/cryptoKeys/example-key"
Outputnya akan terlihat seperti:
INSTANCE_NAME LOCATION TIER CAPACITY_GB FILE_SHARE_NAME IP_ADDRESS STATE CREATE_TIME
nfs-server us-central1 ENTERPRISE 1024 vol1 10.166.108.2 READY 2021-08-12T11:38:56
Mendapatkan informasi kunci Cloud KMS untuk sebuah instance
Gunakan salah satu metode berikut untuk mendapatkan informasi kunci Cloud KMS untuk instance Filestore:
Konsol Google Cloud
Buka halaman instance Filestore.
Klik ID instance untuk membuka halaman detail instance.
Klik tab Ringkasan.
Jika instance mengenkripsi data menggunakan kunci Cloud KMS, bukan kunci enkripsi yang dikelola Google, nama kunci tersebut akan ditampilkan di kolom Kunci enkripsi.
gcloud CLI
Jalankan perintah instances describe
berikut:
gcloud filestore instances describe INSTANCE_ID \
--location=INSTANCE_LOCATION
Ganti kode berikut:
- INSTANCE_ID dengan ID instance instance Filestore yang ingin Anda dapatkan informasinya.
- INSTANCE_LOCATION dengan region atau zona tempat instance berada.
Outputnya akan terlihat seperti:
createTime: '2021-08-12T11:38:56.851157387Z'
fileShares:
- capacityGb: '1024'
name: vol1
kmsKeyName: projects/example-project/locations/us-central1/keyRings/example-ring/cryptoKeys/example-key
labels:
key: val
name: projects/consumer-project/locations/us-central1/instances/nfs-server
networks:
- ipAddresses:
- 10.0.100.2
modes:
- MODE_IPV4
network: network
reservedIpRange: 10.166.108.0/23
state: READY
tier: ENTERPRISE
Menonaktifkan atau menghancurkan kunci Cloud KMS yang digunakan oleh instance
Jika perubahan status kunci Cloud KMS terdeteksi, instance akan otomatis berhenti menyalurkan data. Beberapa contoh termasuk berikut ini:
- Menonaktifkan kunci atau versi kunci.
- Menghancurkan kunci atau versi kunci.
- Memodifikasi izin kunci.
Deteksi ini biasanya terjadi dalam beberapa menit setelah perubahan status kunci, tetapi dalam beberapa kasus dapat memerlukan waktu hingga satu jam.
Setelah instance dihentikan, semua akses ke data berbagi file dan semua snapshot akan diblokir. Instance yang dihentikan akan terus ditagih hingga dihapus.
Memulai instance yang dihentikan
Jika instance Filestore yang dihentikan menggunakan kunci Cloud KMS untuk enkripsi data, semua versi kunci kunci harus diaktifkan atau dipulihkan sebelum memulai ulang instance.
Setelah status kunci Cloud KMS diaktifkan, instance akan otomatis mendeteksi perubahan kunci dan memulai ulang tanpa tindakan tambahan, biasanya dalam waktu 20 menit.
Dukungan CMEK untuk rantai cadangan
Anda dapat menggunakan CMEK untuk mengenkripsi tidak hanya instance Filestore, tetapi juga rantai cadangan.
Rantai cadangan berada di satu bucket dan region. Untuk menyimpan dan mengenkripsi data cadangan di region di luar instance sumber, pengguna harus menerapkan dua CMEK terpisah: satu untuk instance dan satu lagi untuk rantai pencadangan. Beberapa persyaratan berlaku:
CMEK harus berada di region yang sama dengan rantai cadangan yang dienkripsinya.
Satu CMEK diterapkan ke bucket tempat rantai cadangan disimpan dan tidak dapat digabungkan atau diganti.
Untuk membuat cadangan menggunakan CMEK baru, seluruh rantai cadangan yang ada harus dihapus terlebih dahulu.
Dukungan CMEK tidak tersedia untuk pencadangan tingkat dasar.
Untuk mengetahui informasi selengkapnya, lihat Cadangan.
Langkah selanjutnya
- Pelajari cara menerapkan kebijakan organisasi CMEK.
- Pelajari CMEK lebih lanjut.
- Pelajari enkripsi saat transit di Google Cloud.