Dokumen ini memberikan petunjuk untuk mengonfigurasi kunci enkripsi yang dikelola pelanggan (CMEK) untuk log yang disimpan di bucket log. Dokumen ini juga menjelaskan cara mengelola kunci tersebut, dan batasan yang terkait dengan penggunaan CMEK.
Anda dapat mengonfigurasi CMEK sebagai setelan resource default untuk organisasi atau folder. Jika dikonfigurasi, Cloud Logging akan memastikan bahwa semua bucket log baru di organisasi atau folder dienkripsi dengan kunci yang dikelola pelanggan. Jika Anda tidak memberikan kunci saat membuat bucket log, maka kunci default akan digunakan. Untuk mengetahui informasi selengkapnya, lihat Mengonfigurasi CMEK untuk Cloud Logging.
Ringkasan
Secara default, Cloud Logging mengenkripsi konten pelanggan yang disimpan dalam penyimpanan. Data yang disimpan di bucket log oleh Logging dienkripsi menggunakan kunci enkripsi kunci, sebuah proses yang dikenal sebagai enkripsi menyeluruh. Akses ke data logging Anda memerlukan akses ke kunci enkripsi tersebut. Secara default, nilai ini adalah Google Cloud-powered encryption keys dan Anda tidak perlu melakukan tindakan apa pun.
Organisasi Anda mungkin memiliki persyaratan enkripsi tingkat lanjut, terkait kepatuhan, atau peraturan yang tidak disediakan oleh enkripsi saat istirahat default kami. Untuk memenuhi persyaratan organisasi Anda, alih-alih menggunakan Google Cloud-powered encryption keys, Anda dapat mengelola kunci Anda sendiri.
Untuk mengetahui informasi spesifik tentang penggunaan CMEK, termasuk keuntungan dan batasannya, lihat Kunci enkripsi yang dikelola pelanggan.
Untuk enkripsi simetris, merotasi kunci secara berkala dan otomatis adalah praktik keamanan yang direkomendasikan. Untuk mengetahui informasi selengkapnya, lihat Rotasi kunci.
Prasyarat
Selesaikan langkah-langkah berikut:
Ada beberapa batasan saat menggunakan CMEK. Sebelum membuat bucket log dengan CMEK diaktifkan, tinjau Batasan.
Instal Google Cloud CLI, lalu login ke gcloud CLI dengan identitas gabungan Anda. Setelah login, lakukan inisialisasi Google Cloud CLI dengan menjalankan perintah berikut:
gcloud init
Konfigurasi project Trusted Cloud tempat Anda berencana membuat kunci:
-
Untuk mendapatkan izin yang diperlukan untuk membuat kunci, minta administrator untuk memberi Anda peran IAM Admin Cloud KMS (
roles/cloudkms.admin
) di project atau resource induk. Untuk mengetahui informasi selengkapnya tentang cara memberikan peran, lihat Mengelola akses ke project, folder, dan organisasi.Anda mungkin juga bisa mendapatkan izin yang diperlukan melalui peran khusus atau peran bawaan lainnya.
-
Lokasi bucket log harus cocok dengan lokasi kunci. Untuk mengetahui informasi tentang region yang didukung, lihat Region yang Didukung untuk Logging.
Anda tidak dapat mengaktifkan CMEK untuk bucket log yang dibuat di region
global
.
-
Pastikan Anda memiliki izin Cloud Logging berikut di Trusted Cloud project tempat Anda berencana membuat bucket log:
logging.settings.get
logging.buckets.get
logging.buckets.list
logging.buckets.create
logging.buckets.update
Jalankan perintah
gcloud logging settings describe
berikut:gcloud logging settings describe --project=BUCKET_PROJECT_ID
Sebelum menjalankan perintah sebelumnya, lakukan penggantian berikut:
- BUCKET_PROJECT_ID: Nama project Trusted Cloud tempat Anda berencana membuat bucket log.
Perintah sebelumnya membuat akun layanan untuk resource yang ditentukan, jika akun layanan belum ada, dan menampilkan ID akun layanan tersebut di kolom
kmsServiceAccountId
:kmsServiceAccountId: KMS_SERVICE_ACCT_NAME@gcp-sa-logging. loggingServiceAccountId: SERVICE_ACCT_NAME@gcp-sa-logging. name: projects/BUCKET_PROJECT_ID/settings
Kolom
kmsServiceAccountId
mencantumkan akun layanan yang digunakan oleh Cloud Logging untuk memanggil Cloud Key Management Service.- KMS_PROJECT_ID: ID alfanumerik unik, yang terdiri dari Trusted Cloud nama project dan nomor yang ditetapkan secara acak, dari Trusted Cloud project yang menjalankan Cloud KMS. Untuk mengetahui informasi tentang cara mendapatkan ID ini, lihat Mengidentifikasi project.
- KMS_SERVICE_ACCT_NAME: Nama akun layanan yang ditampilkan di kolom
kmsServiceAccountId
dalam respons perintahgcloud logging settings describe
. - KMS_KEY_LOCATION: Region kunci Cloud KMS.
- KMS_KEY_RING: Nama key ring Cloud KMS.
- KMS_KEY_NAME:
Nama kunci Cloud KMS. Formatnya seperti ini:
projects/KMS_PROJECT_ID/locations/LOCATION/keyRings/KMS_KEY_RING/cryptoKeys/KEY
. - BUCKET_ID: Nama atau ID bucket log.
- LOCATION: Lokasi bucket log.
- KMS_KEY_NAME:
Nama kunci Cloud KMS. Formatnya seperti ini:
projects/KMS_PROJECT_ID/locations/LOCATION/keyRings/KMS_KEY_RING/cryptoKeys/KEY
. - BUCKET_PROJECT_ID: Nama project Trusted Cloud tempat bucket log akan dibuat.
- BUCKET_PROJECT_ID: Nama project Trusted Cloud yang menyimpan bucket log.
- Identifikasi kunci Cloud KMS saat ini untuk bucket log. Untuk mengetahui informasi selengkapnya, lihat Memverifikasi pengaktifan kunci.
- Identifikasi kunci Cloud KMS lain yang dapat Anda gunakan. Jika key ring Anda hanya memiliki satu kunci, klik Buat kunci.
- Ubah kunci Cloud KMS untuk bucket log ke kunci Cloud KMS yang dibuat pada langkah sebelumnya.
- Ubah kunci Cloud KMS untuk bucket log ke kunci Cloud KMS asli.
- BUCKET_ID: Nama atau ID bucket log.
- LOCATION: Lokasi bucket log.
- NEW_KMS_KEY_NAME: Nama kunci baru.
- BUCKET_PROJECT_ID: Nama project Trusted Cloud yang menyimpan bucket log.
- KMS_PROJECT_ID: ID alfanumerik unik, yang terdiri dari Trusted Cloud nama project dan nomor yang ditetapkan secara acak, dari Trusted Cloud project yang menjalankan Cloud KMS. Untuk mengetahui informasi tentang cara mendapatkan ID ini, lihat Mengidentifikasi project.
- KMS_SERVICE_ACCT_NAME: Nama akun layanan yang ditampilkan di kolom
kmsServiceAccountId
dalam respons perintahgcloud logging settings describe
. - KMS_KEY_LOCATION: Region kunci Cloud KMS.
- KMS_KEY_RING: Nama key ring Cloud KMS.
- KMS_KEY_NAME:
Nama kunci Cloud KMS. Formatnya seperti ini:
projects/KMS_PROJECT_ID/locations/LOCATION/keyRings/KMS_KEY_RING/cryptoKeys/KEY
. - Kunci diaktifkan.
- Akun layanan Logging memiliki izin enkripsi dan dekripsi pada kunci.
Mengaktifkan CMEK
Setelah Anda menyelesaikan langkah-langkah prasyarat, ikuti petunjuk berikut untuk mengaktifkan CMEK bagi bucket log tertentu.
Menentukan ID akun layanan
Untuk menentukan ID akun layanan yang terkait dengan Trusted Cloud resource yang akan menerapkan CMEK, lakukan hal berikut:
Menetapkan peran Pengenkripsi/Pendekripsi
Saat Anda mengonfigurasi CMEK di tingkat bucket log, berikan izin akun layanan untuk menggunakan Cloud KMS Anda dengan menetapkan peran Pengenkripsi/Pendekripsi CryptoKey Cloud KMS ke akun layanan yang diidentifikasi oleh kolom kmsServiceAccountId
:
gcloud kms keys add-iam-policy-binding \ --project=KMS_PROJECT_ID \ --member serviceAccount:KMS_SERVICE_ACCT_NAME@gcp-sa-logging. \ --role roles/cloudkms.cryptoKeyEncrypterDecrypter \ --location=KMS_KEY_LOCATION \ --keyring=KMS_KEY_RING \ KMS_KEY_NAME
Sebelum menjalankan perintah sebelumnya, lakukan penggantian berikut:
Buat bucket log dan berikan kunci Cloud KMS
Untuk membuat bucket log dan mengaktifkan CMEK untuk bucket log, jalankan perintah gcloud logging buckets create
berikut:
gcloud logging buckets create BUCKET_ID \ --location=LOCATION \ --cmek-kms-key-name=KMS_KEY_NAME \ --project=BUCKET_PROJECT_ID
Sebelum menjalankan perintah sebelumnya, lakukan penggantian berikut:
Memverifikasi pengaktifan kunci
Untuk memverifikasi bahwa Anda telah berhasil membuat bucket log dengan CMEK yang diaktifkan, jalankan perintah gcloud logging buckets list
berikut:
gcloud logging buckets list --project=BUCKET_PROJECT_ID
Sebelum menjalankan perintah sebelumnya, lakukan penggantian berikut:
Dalam output tabel, Anda akan melihat kolom berlabel CMEK
. Jika nilai kolom CMEK
adalah TRUE
, maka CMEK diaktifkan untuk bucket log.
Untuk melihat detail bucket log tertentu, termasuk detail kunci, jalankan perintah ini:
gcloud logging buckets describe BUCKET_ID --location=LOCATION --project=BUCKET_PROJECT_ID
Mengelola kunci Cloud KMS Anda
Bagian berikut menjelaskan cara memperbarui bucket log agar menggunakan versi kunci utama terbaru dari kunci Cloud KMS. Dokumen ini juga menjelaskan cara mengubah, mencabut akses untuk, dan menonaktifkan kunci Cloud KMS Anda.
Merotasi kunci Cloud KMS Anda
Saat membuat kunci Cloud KMS, Anda dapat mengonfigurasi periode rotasi. Anda juga dapat merotasi kunci Cloud KMS secara manual. Setiap kali kunci dirotasi, versi baru untuk kunci tersebut akan dibuat.
Jika Anda merotasi kunci Cloud KMS, versi kunci baru hanya berlaku untuk bucket log yang dibuat setelah rotasi kunci. Jika kunci digunakan oleh bucket log yang ada, merotasi kunci tidak akan mengubah cara bucket log melindungi datanya.
Misalnya, Anda membuat bucket log dan mengaktifkan CMEK, lalu merotasi kunci Cloud KMS. Bucket log yang Anda buat tidak menggunakan versi kunci baru, melainkan terus melindungi datanya dengan versi kunci yang ditandai sebagai utama saat bucket log dibuat.
Untuk memperbarui bucket log agar menggunakan versi kunci utama terbaru dari kunci Cloud KMS, lakukan hal berikut:
Mengubah kunci Cloud KMS Anda
Untuk mengubah kunci Cloud KMS yang terkait dengan bucket log Anda, buat kunci dan perbarui setelan CMEK untuk bucket log:
gcloud logging buckets update BUCKET_ID --location=LOCATION \ --cmek-kms-key-name=NEW_KMS_KEY_NAME --project=BUCKET_PROJECT_ID
Mencabut akses ke kunci Cloud KMS
Untuk mencabut akses Logging ke kunci Cloud KMS kapan saja, hapus izin IAM akun layanan yang dikonfigurasi untuk kunci tersebut.
Jika Anda menghapus akses Logging ke kunci, perubahan tersebut dapat memerlukan waktu hingga satu jam untuk diterapkan.
Untuk mengetahui informasi selengkapnya tentang dampak pencabutan akses, lihat Batasan.
Untuk menghapus akses Logging ke kunci, jalankan perintah berikut:
gcloud kms keys remove-iam-policy-binding \ --project=KMS_PROJECT_ID \ --member serviceAccount:KMS_SERVICE_ACCT_NAME@gcp-sa-logging. \ --role roles/cloudkms.cryptoKeyEncrypterDecrypter \ --location=KMS_KEY_LOCATION \ --keyring=KMS_KEY_RING \ KMS_KEY_NAME
Sebelum menjalankan perintah sebelumnya, lakukan penggantian berikut:
Batasan
Berikut adalah batasan umum.
CMEK tidak dapat dihapus dari bucket log
Anda tidak dapat mengonfigurasi ulang bucket log untuk mengubah atau menghapus CMEK.
Penurunan kualitas karena kunci Cloud KMS tidak tersedia
Kunci Cloud KMS dianggap tersedia dan dapat diakses oleh Logging jika kedua kondisi berikut benar:
Logging sangat merekomendasikan untuk memastikan bahwa semua kunci dikonfigurasi dengan benar dan selalu tersedia.
Hilangnya pemulihan dari bencana
Jika terjadi kegagalan kritis di penyimpanan utama Cloud Logging, maka Logging akan mencerminkan data logging ke file pemulihan bencana. Jika CMEK diaktifkan untuk resource, seperti organisasi Trusted Cloud , log yang termasuk dalam resource tersebut dilindungi oleh kunci CMEK yang dikonfigurasi. Jika kunci CMEK tidak dapat diakses, file pemulihan bencana tidak dapat ditulis untuk resource tersebut.
Hilangnya file pemulihan bencana tidak memengaruhi operasi pencatatan log normal. Namun, jika terjadi bencana penyimpanan, Cloud Logging mungkin tidak dapat memulihkan log dari resource yang CMEK-nya tidak dikonfigurasi dengan benar.
Performa kueri yang menurun
Jika kunci enkripsi yang dikelola pelanggan tidak dapat diakses, Cloud Logging akan terus mengenkripsi data Anda dan menyimpan data di bucket log. Namun, Cloud Logging tidak dapat melakukan pengoptimalan di latar belakang pada data ini. Jika akses kunci dipulihkan, data akan tersedia; namun, data awalnya akan disimpan dalam status yang tidak dioptimalkan dan performa kueri mungkin terpengaruh.
Penurunan kualitas karena kunci Cloud EKM tidak tersedia
Saat Anda menggunakan kunci Cloud EKM, Trusted Cloud by S3NS tidak memiliki kontrol atas ketersediaan kunci yang dikelola secara eksternal di sistem partner pengelolaan kunci eksternal. Untuk CMEK tingkat bucket, jika kunci yang dikelola secara eksternal tidak tersedia, Cloud Logging akan terus menyimpan log di bucket log, tetapi pengguna tidak dapat mengakses log tersebut.
Untuk pertimbangan lainnya, dan alternatif yang mungkin ada, saat menggunakan kunci eksternal, lihat dokumentasi Cloud External Key Manager.
Regionalitas
Saat membuat bucket log dan mengaktifkan CMEK, Anda harus menggunakan kunci yang regionnya cocok dengan cakupan regional data Anda.
Ketersediaan library klien
Library klien Logging tidak menyediakan metode untuk mengonfigurasi CMEK.
Kuota
Saat Anda menggunakan CMEK di Logging, project Anda dapat memakai kuota permintaan kriptografis Cloud KMS. Misalnya, mengaktifkan CMEK di bucket log dapat menggunakan kuota ini. Operasi enkripsi dan dekripsi menggunakan kunci CMEK memengaruhi kuota Cloud KMS hanya jika Anda menggunakan kunci eksternal (Cloud EKM). Untuk mengetahui informasi selengkapnya, lihat Kuota Cloud KMS.
Untuk mengetahui detail tentang batas penggunaan Logging, lihat Kuota dan batas.
Memecahkan masalah error konfigurasi
Untuk mengetahui informasi tentang pemecahan masalah error konfigurasi CMEK, lihat Memecahkan masalah error setelan organisasi dan CMEK.