Dokumen ini menjelaskan cara mengonfigurasi dan mengelola kunci enkripsi yang dikelola pelanggan (CMEK) untuk Cloud Logging guna memenuhi kebutuhan kepatuhan organisasi Anda. Anda dapat mengonfigurasi CMEK sebagai setelan resource default untuk organisasi, folder, atau keduanya. Saat dikonfigurasi, Cloud Logging memastikan bahwa semua bucket log baru di organisasi atau folder dienkripsi dengan kunci yang dikelola pelanggan.
Ringkasan
Secara default, Cloud Logging mengenkripsi konten pelanggan yang tersimpan dalam penyimpanan. Data yang disimpan dalam bucket log oleh Logging dienkripsi menggunakan kunci enkripsi kunci, sebuah proses yang dikenal sebagai enkripsi envelope. Akses ke data logging memerlukan akses ke kunci enkripsi kunci tersebut, yang dikelola Google untuk Anda tanpa perlu tindakan apa pun.
Organisasi Anda mungkin memiliki persyaratan enkripsi terkait peraturan, terkait kepatuhan, atau enkripsi lanjutan yang tidak diberikan oleh enkripsi default kami. Untuk memenuhi persyaratan organisasi, Anda dapat mengonfigurasi CMEK untuk mengontrol dan mengelola enkripsi, bukan mengelola kunci enkripsi yang melindungi data oleh Google.
Untuk mengetahui informasi spesifik tentang CMEK, termasuk keunggulan dan batasannya, lihat Kunci enkripsi yang dikelola pelanggan.
Jika Anda mengonfigurasi CMEK sebagai setelan resource default untuk Logging, bucket log baru di organisasi atau folder otomatis dienkripsi dengan kunci yang dikonfigurasi. Namun, Anda dapat mengubah kunci tersebut atau membuat bucket log dan menentukan kunci yang berbeda. Untuk mengetahui informasi selengkapnya, lihat Mengonfigurasi CMEK untuk bucket log.
Prasyarat
Untuk memulai, selesaikan langkah-langkah berikut:
Ada beberapa batasan saat menggunakan CMEK. Sebelum membuat bucket log dengan CMEK diaktifkan, tinjau Batasan.
Instal Google Cloud CLI, lalu initialize dengan menjalankan perintah berikut:
gcloud init
Panduan ini berisi petunjuk menggunakan Google Cloud CLI.
Temukan ID untuk organisasi atau folder tempat Anda ingin mengaktifkan CMEK:
- ORGANIZATION_ID adalah ID numerik unik dari organisasi Google Cloud tempat Anda mengaktifkan CMEK. Anda tidak memerlukan nilai ini jika hanya berencana mengonfigurasi CMEK untuk sebuah folder. Untuk informasi tentang cara mendapatkan ID ini, lihat Mendapatkan ID organisasi.
- FOLDER_ID adalah ID numerik unik dari folder Google Cloud tempat Anda mengaktifkan CMEK. Anda tidak memerlukan nilai ini jika hanya berencana mengonfigurasi CMEK untuk organisasi. Untuk mengetahui informasi tentang penggunaan folder, lihat Membuat dan mengelola folder.
-
Untuk mendapatkan izin yang Anda perlukan untuk membuat kunci, minta administrator untuk memberi Anda peran IAM Cloud KMS Admin (
roles/cloudkms.admin
) pada project atau resource induk. Untuk mengetahui informasi selengkapnya tentang cara memberikan peran, lihat Mengelola akses.Anda mungkin juga bisa mendapatkan izin yang diperlukan melalui peran khusus atau peran bawaan lainnya.
Pastikan Anda memiliki izin Cloud Logging berikut untuk organisasi:
logging.settings.get
logging.settings.update
Aktifkan Cloud KMS API untuk project Google Cloud yang menjalankan Cloud KMS.
Buat key ring dan kunci untuk project Google Cloud yang menjalankan Cloud KMS.
Dengan Cloud Logging, Anda dapat menggunakan kunci dari region mana pun. Namun, saat Anda membuat bucket log, lokasi bucket log harus cocok dengan lokasi kunci. Untuk mengetahui informasi tentang region yang didukung, lihat referensi berikut:
Jika Anda mengonfigurasi CMEK sebagai setelan resource default untuk Logging menggunakan langkah-langkah dalam dokumen ini, bucket log baru yang dibuat di organisasi atau folder akan otomatis dikonfigurasi untuk CMEK. Selain itu, karena lokasi bucket log harus cocok dengan lokasi kunci, setelah mengonfigurasi CMEK sebagai setelan resource default, Anda tidak dapat membuat bucket log di region
global
.Identifikasi nilai untuk parameter Cloud KMS berikut:
- KMS_PROJECT_ID adalah ID alfanumerik unik, yang terdiri dari nama project Google Cloud dan angka yang ditetapkan secara acak, untuk project Google Cloud yang menjalankan Cloud KMS. Untuk informasi tentang cara mendapatkan ID ini, lihat Mengidentifikasi project.
- KMS_KEY_LOCATION adalah region kunci Cloud KMS.
- KMS_KEY_RING adalah nama key ring Cloud KMS.
- KMS_KEY_NAME dengan nama kunci Cloud KMS.
Formatnya seperti ini:
projects/KMS_PROJECT_ID/locations/LOCATION/keyRings/KEYRING/cryptoKeys/KEY
Mengaktifkan CMEK untuk organisasi atau folder
Setelah menyelesaikan langkah-langkah prasyarat, ikuti petunjuk berikut guna mengaktifkan CMEK untuk organisasi Google Cloud Anda.
Menentukan ID akun layanan
Untuk menentukan ID akun layanan yang terkait dengan organisasi atau folder tempat CMEK akan diterapkan, jalankan perintah gcloud logging settings describe
berikut:
FOLDER
gcloud logging settings describe --folder=FOLDER_ID
ORGANISASI
gcloud logging settings describe --organization=ORGANIZATION_ID
Menjalankan perintah sebelumnya akan menghasilkan akun layanan untuk organisasi atau folder, jika belum ada, dan menampilkan ID di kolom kmsServiceAccountId
.
Berikut adalah contoh respons terhadap perintah sebelumnya saat organisasi ditentukan:
kmsServiceAccountId: cmek-p12345@gcp-sa-logging.iam.gserviceaccount.com name: organizations/ORGANIZATION_ID/settings
Dalam contoh ini, nilai SERVICE_ACCT_NAME adalah cmek-p12345
.
Jalankan proses penyediaan hanya sekali per resource. Menjalankan perintah describe
beberapa kali akan menampilkan nilai yang sama untuk kolom
kmsServiceAccountId
.
Jika Anda tidak dapat menggunakan Google Cloud CLI, jalankan metode Cloud Logging API getSettings
.
Menetapkan peran Pengenkripsi/Pendekripsi
Untuk menggunakan CMEK, beri akun layanan izin untuk menggunakan Cloud KMS Anda dengan menetapkan peran Cloud KMS CryptoKey Encrypter/Decrypter ke akun layanan:
gcloud
gcloud kms keys add-iam-policy-binding \ --project=KMS_PROJECT_ID \ --member serviceAccount:SERVICE_ACCT_NAME@gcp-sa-logging.iam.gserviceaccount.com \ --role roles/cloudkms.cryptoKeyEncrypterDecrypter \ --location=KMS_KEY_LOCATION \ --keyring=KMS_KEY_RING \ KMS_KEY_NAME
Tetapkan variabel dalam perintah sebagai berikut:
Ganti SERVICE_ACCT_NAME dengan nilai
serviceAccountId
yang Anda tentukan di langkah sebelumnya.Ganti variabel lainnya dengan nilai yang Anda tentukan dalam langkah-langkah prasyarat.
Konsol
- Buka browser Cloud Key Management Service Keys di Konsol Google Cloud.
Buka browser Kunci Cloud KMS Klik nama key ring yang berisi kunci yang diinginkan.
Centang kotak untuk kunci yang diinginkan.
Tab Izin akan tersedia.
Pada dialog Add members, tentukan alamat email akun layanan Logging yang Anda beri akses.
Di menu drop-down Select a role, pilih Cloud KMS CryptoKey Encrypter/Decrypte.
Klik Tambahkan.
Mengonfigurasi kebijakan organisasi
Logging mendukung kebijakan organisasi yang dapat memerlukan perlindungan CMEK dan dapat membatasi CryptoKey Cloud KMS yang dapat digunakan untuk perlindungan CMEK:
Jika
logging.googleapis.com
berada dalam daftar layanan kebijakanDeny
untuk batasanconstraints/gcp.restrictNonCmekServices
, Logging akan menolak pembuatan bucket baru yang ditentukan pengguna yang tidak dilindungi CMEK. Namun, batasan ini tidak mencegah Cloud Logging membuat bucket log_Required
dan_Default
yang dibuat saat project Google Cloud dibuat.Saat
constraints/gcp.restrictCmekCryptoKeyProjects
diterapkan, Logging akan membuat resource yang dilindungi CMEK yang dilindungi oleh CryptoKey dari project, folder, atau organisasi yang diizinkan.
Untuk mengetahui informasi selengkapnya tentang CMEK dan kebijakan organisasi, lihat kebijakan organisasi CMEK.
Saat ada kebijakan organisasi yang menentukan batasan CMEK, pastikan batasan tersebut konsisten dengan setelan resource default Logging untuk organisasi atau folder. Selanjutnya, jika Anda berencana untuk mengubah setelan resource default, sebelum memperbarui setelan resource default, tinjau dan, jika perlu, perbarui kebijakan organisasi.
Untuk melihat atau mengonfigurasi kebijakan organisasi, lakukan hal berikut:
-
Pada panel navigasi konsol Google Cloud, pilih IAM & Admin, lalu pilih Organization Policies:
- Pilih organisasi Anda.
Verifikasi, dan jika perlu, perbarui batasan khusus untuk CMEK.
Untuk informasi tentang cara mengubah kebijakan organisasi, lihat Membuat dan mengedit kebijakan.
Mengonfigurasi Cloud Logging dengan kunci Cloud KMS
Untuk mengonfigurasi CMEK sebagai setelan resource default untuk Logging,
jalankan perintah
gcloud logging settings update
berikut:
FOLDER
gcloud logging settings update \ --folder=FOLDER_ID \ --kms-location=KMS_KEY_LOCATION \ --kms-key-name=KMS_KEY_NAME \ --kms-keyring=KMS_KEY_RING \ --kms-project=KMS_PROJECT_ID
Perintah sebelumnya memperbarui setelan resource default untuk menyimpan informasi tentang kunci Cloud KMS. Anda harus memastikan bahwa lokasi penyimpanan default untuk folder ditetapkan ke nilai KMS_KEY_LOCATION. Jika Anda belum menetapkan lokasi penyimpanan default, atau jika nilai lokasi tersebut tidak cocok dengan nilai KMS_KEY_LOCATION, maka tambahkan kode berikut ke perintah sebelumnya:
--storage-location = KMS_KEY_LOCATION
Tanda --storage-location
memungkinkan Anda menetapkan atau memperbarui
lokasi penyimpanan default untuk folder.
ORGANISASI
gcloud logging settings update \ --organization=ORGANIZATION_ID \ --kms-location=KMS_KEY_LOCATION \ --kms-key-name=KMS_KEY_NAME \ --kms-keyring=KMS_KEY_RING \ --kms-project=KMS_PROJECT_ID
Perintah sebelumnya memperbarui setelan resource default untuk menyimpan informasi tentang kunci Cloud KMS. Anda harus memastikan bahwa lokasi penyimpanan default untuk organisasi ditetapkan ke nilai KMS_KEY_LOCATION. Jika Anda belum menetapkan lokasi penyimpanan default, atau jika nilai lokasi tersebut tidak cocok dengan nilai KMS_KEY_LOCATION, maka tambahkan kode berikut ke perintah sebelumnya:
--storage-location = KMS_KEY_LOCATION
Tanda --storage-location
memungkinkan Anda menetapkan atau memperbarui
lokasi penyimpanan default untuk organisasi.
Setelah kunci diterapkan, bucket log baru di organisasi atau folder
akan dikonfigurasi untuk mengenkripsi data dalam penyimpanan menggunakan kunci ini. Anda juga dapat
mengubah kunci
untuk masing-masing bucket log. Anda tidak dapat membuat bucket log di region global
karena Anda harus menggunakan kunci dengan region yang cocok dengan cakupan regional data Anda.
Jika Anda tidak dapat menggunakan Google Cloud CLI, jalankan metode Cloud Logging API updateSettings
.
Memverifikasi pengaktifan kunci
Untuk memverifikasi bahwa Anda telah berhasil mengaktifkan CMEK untuk organisasi atau folder, jalankan perintah gcloud logging settings describe
berikut:
FOLDER
gcloud logging settings describe --folder=FOLDER_ID
ORGANISASI
gcloud logging settings describe --organization=ORGANIZATION_ID
Perintah sebelumnya menampilkan nama kunci Cloud KMS:
kmsKeyName: KMS_KEY_NAME kmsServiceAccountId: SERVICE_ACCT_NAME@gcp-sa-logging.iam.gserviceaccount.com
Jika kolom kmsKeyName
terisi, CMEK akan diaktifkan untuk
organisasi atau folder.
Merutekan log ke tujuan yang didukung
Bucket log Cloud Logging dapat dikonfigurasi untuk mengenkripsi data dengan CMEK. Jika Anda mengonfigurasi CMEK sebagai setelan resource default untuk organisasi atau folder, bucket log baru di organisasi atau folder akan otomatis menggunakan CMEK. Anda dapat mengubah kunci bucket log ini, dan membuat bucket log yang menggunakan kunci KMS berbeda dengan yang ditentukan oleh setelan resource default.
Untuk mengetahui informasi tentang CMEK yang diterapkan pada bucket log, termasuk cara mengubah kunci dan batasan saat Anda mengaktifkan CMEK pada bucket log, lihat Mengonfigurasi CMEK untuk bucket log.
Cloud Storage mendukung CMEK untuk merutekan log. Untuk mengetahui petunjuk cara mengonfigurasi CMEK untuk Cloud Storage, lihat Menggunakan kunci enkripsi yang dikelola pelanggan.
Jika data hilang karena ketidaktersediaan kunci saat merutekan data log ke Cloud Storage, Anda dapat menyalin log secara retroaktif ke Cloud Storage saat log tersebut juga disimpan di bucket log. Untuk mengetahui detailnya, lihat Menyalin entri log.
BigQuery secara default mengenkripsi konten pelanggan yang tersimpan dalam penyimpanan. Untuk mengetahui detailnya, lihat Melindungi data dengan kunci Cloud Key Management Service.
Pub/Sub secara default mengenkripsi konten pelanggan yang tersimpan dalam penyimpanan. Untuk mengetahui detailnya, lihat Mengonfigurasi enkripsi pesan.
Mengelola kunci Cloud KMS
Bagian berikut menjelaskan cara mengubah, mencabut akses, atau menonaktifkan kunci Cloud KMS.
Mengubah kunci Cloud KMS
Untuk mengubah kunci Cloud KMS yang terkait dengan organisasi atau folder, buat kunci lalu perbarui setelan CMEK dengan nama kunci Cloud KMS baru:
FOLDER
gcloud logging settings update \ --folder=FOLDER_ID --kms-key-name=NEW_KMS_KEY_NAME --kms-location=NEW_KMS_KEY_LOCATION \ --kms-keyring=NEW_KMS_KEY_RING \ --kms-project=NEW_KMS_PROJECT_ID
Anda harus memastikan bahwa lokasi penyimpanan default untuk folder ditetapkan ke nilai KMS_KEY_LOCATION. Jika Anda belum menetapkan lokasi penyimpanan default, atau jika nilai lokasi tersebut tidak cocok dengan nilai KMS_KEY_LOCATION, maka tambahkan kode berikut ke perintah sebelumnya:
--storage-location = NEW_KMS_KEY_LOCATION
ORGANISASI
gcloud logging settings update \ --organization=ORGANIZATION_ID --kms-key-name=NEW_KMS_KEY_NAME --kms-location=NEW_KMS_KEY_LOCATION \ --kms-keyring=NEW_KMS_KEY_RING \ --kms-project=NEW_KMS_PROJECT_ID
Anda harus memastikan bahwa lokasi penyimpanan default untuk organisasi ditetapkan ke nilai KMS_KEY_LOCATION. Jika Anda belum menetapkan lokasi penyimpanan default, atau jika nilai lokasi tersebut tidak cocok dengan nilai KMS_KEY_LOCATION, maka tambahkan kode berikut ke perintah sebelumnya:
--storage-location = NEW_KMS_KEY_LOCATION
Mencabut akses ke kunci Cloud KMS
Anda dapat mencabut akses Logging ke kunci Cloud KMS dengan menghapus izin IAM akun layanan yang dikonfigurasi untuk kunci tersebut.
Jika Anda menghapus akses Logging ke sebuah kunci, perlu waktu hingga satu jam agar perubahan diterapkan.
Untuk mencabut akses Logging ke kunci Cloud KMS, jalankan perintah Google Cloud CLI berikut:
gcloud kms keys remove-iam-policy-binding \ --project=KMS_PROJECT_ID \ --member serviceAccount:SERVICE_ACCT_NAME@gcp-sa-logging.iam.gserviceaccount.com \ --role roles/cloudkms.cryptoKeyEncrypterDecrypter \ --location=KMS_KEY_LOCATION \ --keyring=KMS_KEY_RING \ KMS_KEY_NAME
Nonaktifkan CMEK
Menonaktifkan CMEK untuk organisasi atau folder hanya akan menghapus penerapan kebijakan CMEK untuk operasi mendatang; konfigurasi yang diterapkan sebelumnya tidak akan berubah.
Untuk menonaktifkan CMEK pada resource yang memiliki CMEK yang dikonfigurasi sebagai setelan resource default, jalankan perintah Google Cloud CLI berikut:
FOLDER
gcloud logging settings update --folder=FOLDER_ID --clear-kms-key
ORGANISASI
gcloud logging settings update --organization=ORGANIZATION_ID --clear-kms-key
Jika ingin menghancurkan kunci, lihat Menghancurkan dan memulihkan versi kunci.
Pertimbangan rotasi kunci Cloud KMS
Cloud Logging tidak otomatis merotasi kunci enkripsi untuk file pemulihan dari bencana sementara saat kunci Cloud KMS yang terkait dengan organisasi atau folder Google Cloud dirotasi. File pemulihan yang sudah ada akan terus menggunakan versi kunci yang digunakan untuk membuatnya. File pemulihan baru menggunakan versi kunci utama saat ini.
Batasan
Berikut adalah batasan umum saat Anda mengonfigurasi CMEK sebagai setelan resource default untuk Logging.
Tidak tersedianya file pemulihan dari bencana (disaster recovery)
Kunci Cloud KMS dianggap tersedia dan dapat diakses oleh Logging jika kedua hal berikut terpenuhi:
- Kunci diaktifkan.
- Akun layanan Logging memiliki izin untuk mengenkripsi dan mendekripsi kunci tersebut.
Jika Logging kehilangan akses ke kunci Cloud KMS, Logging tidak akan dapat menulis file pemulihan dari bencana sementara dan, bagi pengguna, kueri akan berhenti berfungsi. Performa kueri dapat tetap menurun bahkan setelah akses kunci dipulihkan.
Memilih rute log ke Cloud Storage juga dapat terpengaruh karena Logging tidak dapat menulis file sementara yang diperlukan untuk memfasilitasi perutean. Jika terjadi error saat mengenkripsi atau mendekripsi data, notifikasi akan dikirim ke project Google Cloud yang berisi kunci Cloud KMS.
Ketersediaan library klien
Library klien logging tidak menyediakan metode untuk mengonfigurasi CMEK.
Penurunan karena ketidaktersediaan kunci Cloud EKM
Saat Anda menggunakan kunci Cloud EKM, Google tidak memiliki kontrol atas ketersediaan kunci yang dikelola secara eksternal di sistem partner pengelolaan kunci eksternal.
Jika CMEK dikonfigurasi sebagai setelan resource default untuk organisasi atau folder, jika kunci yang dikelola secara eksternal tidak tersedia, Cloud Logging akan terus mencoba mengakses kunci tersebut. Cloud Logging juga melakukan buffering data log yang masuk hingga satu jam. Setelah satu jam, jika Cloud Logging masih tidak dapat mengakses kunci yang dikelola secara eksternal, Cloud Logging akan mulai menghapus data.
Jika CMEK diterapkan ke bucket log, dan jika kunci yang dikelola secara eksternal tidak tersedia, Cloud Logging akan terus menyimpan log di bucket log, tetapi pengguna tidak akan dapat mengakses data tersebut.
Lihat dokumentasi Cloud External Key Manager untuk pertimbangan lainnya dan kemungkinan alternatif saat menggunakan kunci eksternal.
Batasan pada bucket log
Untuk mengetahui batasan saat menggunakan CMEK dengan bucket log, lihat Batasan.
Kuota
Untuk mengetahui detail tentang batas penggunaan Logging, lihat Kuota dan batas.
Memecahkan masalah error konfigurasi
Untuk mengetahui informasi tentang cara memecahkan masalah error konfigurasi CMEK, lihat Memecahkan masalah CMEK dan error setelan default.