Secara default, Filestore mengenkripsi konten pelanggan dalam penyimpanan. Filestore menangani enkripsi untuk Anda tanpa perlu tindakan tambahan dari Anda. Opsi ini disebut enkripsi default Google.
Jika ingin mengontrol kunci enkripsi, Anda dapat menggunakan kunci enkripsi yang dikelola pelanggan (CMEK) di Cloud KMS dengan layanan yang terintegrasi dengan CMEK, termasuk Filestore. Dengan menggunakan kunci Cloud KMS, Anda dapat mengontrol tingkat perlindungan, lokasi, jadwal rotasi, izin penggunaan dan akses, serta batasan kriptografisnya. Dengan Cloud KMS, Anda juga dapat melihat log audit dan mengontrol siklus proses kunci. Alih-alih Google yang memiliki dan mengelola kunci enkripsi kunci (KEK) simetris yang melindungi data Anda, Anda yang mengontrol dan mengelola kunci ini di Cloud KMS.
Setelah Anda menyiapkan resource dengan CMEK, pengalaman mengakses resource Filestore Anda mirip dengan menggunakan enkripsi default Google. Untuk mengetahui informasi selengkapnya tentang opsi enkripsi, lihat Kunci enkripsi yang dikelola pelanggan (CMEK).
CMEK didukung untuk digunakan dengan instance dan cadangan Filestore.
Opsi CMEK
Filestore mendukung CMEK yang disimpan sebagai kunci software, sebagai kunci hardware di cluster HSM, dan sebagai kunci yang disimpan secara eksternal di Cloud External Key Manager (Cloud EKM).
Untuk mengetahui informasi selengkapnya, lihat Cloud Key Management Service.
Gangguan pada layanan EKM
Secara desain, kunci eksternal dikelola oleh pihak ketiga; dalam keadaan 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
. Selama hingga satu jam, pengguna memiliki akses terbatas ke operasi pada instance. Setelah satu jam, jika status kunci tidak berubah, tindakan berikut akan
diterapkan:
- Kunci dinonaktifkan.
- Semua operasi enkripsi dan dekripsi gagal.
- Instance Filestore ditangguhkan.
Dalam beberapa kasus, seperti peristiwa yang tidak direncanakan seperti mulai ulang VM, akses ke instance dapat terganggu sebelum satu jam.
Notifikasi kunci yang tidak dapat dijangkau dapat dilihat dari halaman detail instance Filestore:
Buka halaman instance Filestore
Pengguna juga menerima notifikasi ekm_key_unreachable_detected
pada salah satu operasi berikut jika dilakukan dalam waktu satu jam setelah notifikasi pertama dilaporkan:
- Mengembalikan snapshot
- Membuat cadangan instance
- Menghapus cadangan
- Memulihkan instance dari cadangan
- Mengupdate atau memperbaiki instance
Tingkatan yang didukung
Tabel berikut menunjukkan tingkatan layanan Filestore yang mendukung CMEK:
Tingkat | Dukungan CMEK |
---|---|
HDD Dasar | Tidak |
SSD Dasar | Tidak |
Zonal | Ya |
Regional | Ya |
Enterprise | Ya |
Membuat key ring dan kunci untuk digunakan dengan instance Anda
Key ring dan kunci dapat berada di project yang berbeda dari 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 CMEK, 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 Pengenkripsi/Pendekripsi CryptoKey Cloud KMS ke 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 yang berisi kunci Cloud KMS yang ingin Anda gunakan.
- INSTANCE_PROJECT_NUMBER dengan nomor project (bukan project ID) dari project tempat Anda ingin membuat instance Filestore.
Buat instance yang menggunakan kunci Cloud KMS Anda
Google Cloud console
Untuk membuat instance yang menggunakan kunci Cloud KMS Anda 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 biasa.
Klik Tampilkan opsi lanjutan.
Pilih kotak centang Gunakan kunci enkripsi yang dikelola pelanggan (CMEK).
Pilih kunci Cloud KMS yang ingin Anda gunakan untuk instance.
Klik Buat.
gcloud CLI
Untuk membuat instance Filestore yang menggunakan kunci Cloud KMS Anda 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 CMEK.
- KMS_KEY dengan nama lengkap kunci Cloud KMS 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 atau ID project tempat kunci dibuat.
- KMS_KEY_RING dengan nama key ring.
- KMS_REGION dengan region key ring. Key ring dan instance harus berada di region yang sama.
Mendapatkan daftar kunci
Anda bisa mendapatkan 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 atau ID project tempat kunci dibuat.
- KEY_RING dengan nama key ring.
- KMS_REGION dengan region key ring.
Kolom Name dari output memberikan nama lengkap kunci yang ada. Contoh:
projects/example-project/locations/us-central1/keyRings/example-ring/cryptoKeys/example-key
Mendapatkan informasi utama instance
Bagian berikut membahas cara mendapatkan informasi kunci instance.
Mencantumkan 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 yang 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 instance
Gunakan salah satu metode berikut untuk mendapatkan informasi kunci Cloud KMS untuk instance Filestore:
Google Cloud console
Buka halaman instance Filestore.
Klik ID instance untuk membuka halaman detail instance.
Klik tab Ringkasan.
Jika instance mengenkripsi data menggunakan kunci Cloud KMS, bukan Google-owned and Google-managed encryption key, nama kunci 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 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 menyajikan data. Beberapa contoh termasuk berikut ini:
- Menonaktifkan kunci atau versi kunci.
- Menghancurkan kunci atau versi kunci.
- Mengubah 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 snapshot apa pun 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 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.
Dukungan CMEK tidak tersedia untuk cadangan tingkat dasar.
Rantai pencadangan 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 untuk rantai cadangan. 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.
Batasan rotasi kunci
Selama rotasi kunci, kunci enkripsi baru dibuat untuk menggantikan kunci yang ada. Tindakan berikut yang terkait dengan rotasi kunci dapat mencegah Anda memulihkan rantai cadangan:
- Menonaktifkan kunci atau versi kunci.
- Menghancurkan kunci atau versi kunci.
- Mengubah izin kunci.
Tindakan ini tidak mencegah pembuatan cadangan dalam rantai.
Jika Anda tidak dapat memulihkan rantai cadangan, lakukan langkah-langkah berikut:
- Hapus semua cadangan.
- Mulai rantai baru. Anda dapat menggunakan salah satu opsi berikut:
- Buat cadangan Anda di lokasi yang berbeda dengan CMEK yang sama.
- Buat cadangan Anda di lokasi yang sama dengan CMEK baru.
Untuk mengetahui informasi selengkapnya, lihat Ringkasan pencadangan.
Langkah berikutnya
- Pelajari cara menerapkan kebijakan organisasi CMEK.
- Pelajari CMEK lebih lanjut.
- Pelajari enkripsi dalam pengiriman di Google Cloud.