Secara default, Filestore mengenkripsi konten pelanggan dalam penyimpanan. Filestore menangani enkripsi untuk Anda tanpa 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 terintegrasi CMEK, termasuk Filestore. Menggunakan kunci Cloud KMS memberi Anda kontrol atas tingkat perlindungan, lokasi, jadwal rotasi, izin penggunaan dan akses, serta batas kriptografisnya. Dengan menggunakan 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, Andalah 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 informasi selengkapnya, lihat Cloud Key Management Service.
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
. Selama maksimal satu jam, pengguna memiliki akses terbatas ke operasi pada instance. 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 yang tidak terencana 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 sejak notifikasi
pertama dilaporkan:
- Mengembalikan snapshot
- Membuat cadangan instance
- Menghapus cadangan
- Memulihkan instance dari cadangan
- Mengupdate atau menerapkan patch pada instance
Tingkat yang didukung
Tabel berikut menunjukkan tingkat 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 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 di 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 Pengenkripsi/Pendekripsi
CryptoKey Cloud KMS (roles/cloudkms.cryptoKeyEncrypterDecrypter
).
Akun layanan Filestore dibuat saat pertama kali Anda membuat instance Filestore di 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 project atau ID project tempat Anda ingin membuat instance Filestore.
Tetapkan akun layanan Filestore ke peran Pengenkripsi/Pendekripsi Cloud KMS CryptoKey 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) 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 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 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 Create.
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 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 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 project atau ID project tempat kunci dibuat.
- KEY_RING dengan nama key ring.
- KMS_REGION dengan region key ring.
Kolom Nama 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 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:
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 milik dan dikelola Google, 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 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 menayangkan 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 apa pun, 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 untuk rantai cadangan. Beberapa persyaratan berlaku:
CMEK harus berada di region yang sama dengan rantai cadangan yang dienkripsi.
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 cadangan tingkat dasar.
Untuk informasi selengkapnya, lihat Pencadangan.
Langkah selanjutnya
- Pelajari cara menerapkan kebijakan organisasi CMEK.
- Pelajari CMEK lebih lanjut.
- Pelajari enkripsi dalam pengiriman di Google Cloud.