Secara default, Eventarc mengenkripsi konten pelanggan dalam penyimpanan. Eventarc 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 yang terintegrasi dengan CMEK, termasuk Eventarc. 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 Eventarc Anda serupa dengan menggunakan enkripsi default Google. Untuk mengetahui informasi selengkapnya tentang opsi enkripsi, lihat Kunci enkripsi yang dikelola pelanggan (CMEK).
Kunci enkripsi yang dikelola pelanggan disimpan sebagai kunci software, dalam cluster Cloud HSM, atau secara eksternal menggunakan Cloud External Key Manager.
Cloud KMS menghasilkan log audit saat kunci diaktifkan, dinonaktifkan, atau digunakan oleh resource Eventarc Advanced untuk mengenkripsi dan mendekripsi pesan. Untuk mengetahui informasi selengkapnya, lihat Informasi logging audit Cloud KMS.
Yang dilindungi oleh CMEK
Anda dapat mengonfigurasi CMEK untuk saluran yang digunakan Eventarc Standar dan mengenkripsi peristiwa yang melewati saluran tersebut. Mengaktifkan channel dengan CMEK akan melindungi data yang terkait dengannya menggunakan kunci enkripsi yang hanya dapat Anda akses.
Saat Anda mengaktifkan CMEK untuk saluran Google di Google Cloud project, semua pemicu Standar Eventarc untuk jenis peristiwa Google di project dan region tersebut akan dienkripsi sepenuhnya dengan kunci CMEK tersebut. Kunci CMEK tidak dapat diterapkan per pemicu.
Sebelum memulai
Sebelum menggunakan fitur ini di Eventarc, Anda harus:
Konsol
-
Enable the Cloud KMS and Eventarc APIs.
- Buat key ring.
- Buat kunci untuk key ring tertentu.
gcloud
- Perbarui komponen
gcloud
.gcloud components update
- Aktifkan Cloud KMS API dan Eventarc API untuk project yang akan menyimpan kunci enkripsi Anda.
gcloud services enable cloudkms.googleapis.com eventarc.googleapis.com
- Buat key ring.
- Buat kunci untuk key ring tertentu.
Untuk mengetahui informasi tentang semua flag dan kemungkinan nilai, jalankan perintah dengan flag --help
.
Terraform
Aktifkan Cloud KMS API dan Eventarc API untuk project yang akan menyimpan kunci enkripsi Anda dengan mengonfigurasi resource
google_project_service
:Buat key ring dan kunci dengan mengonfigurasi
google_kms_key_ring
dangoogle_kms_crypto_key
resource:
Untuk mengetahui informasi selengkapnya tentang cara menggunakan Terraform, lihat dokumentasi Terraform di Google Cloud.
Perhatikan bahwa Cloud KMS dan Eventarc adalah layanan regional. Region untuk kunci Cloud KMS dan channel Eventarc yang dilindungi harus sama.
Memberi akun layanan Eventarc akses ke kunci
Untuk memberi akun layanan Eventarc akses ke kunci Cloud KMS, tambahkan akun layanan sebagai akun utama kunci, dan berikan peran Cloud KMS CryptoKey Encrypter/Decrypter kepada akun layanan tersebut:
Konsol
Saat Anda mengaktifkan CMEK untuk channel Google atau pihak ketiga melalui konsol, Anda akan diminta untuk memberikan peran Pengenkripsi/Pendekripsi CryptoKey Cloud KMS ke akun layanan. Untuk mengetahui informasi selengkapnya, dalam dokumen ini, lihat Mengaktifkan CMEK untuk jenis peristiwa Google atau Mengaktifkan CMEK untuk saluran peristiwa pihak ketiga.
gcloud
gcloud kms keys add-iam-policy-binding KEY_NAME \ --keyring RING_NAME \ --location LOCATION \ --member serviceAccount:SERVICE_AGENT_EMAIL \ --role roles/cloudkms.cryptoKeyEncrypterDecrypter
Ganti kode berikut:
KEY_NAME
: nama kunci. Contoh,my-key
.RING_NAME
: nama key ring. Contoh,my-keyring
.LOCATION
: lokasi kunci. Contoh,us-central1
.SERVICE_AGENT_EMAIL
: alamat email akun layanan dengan peraneventarc.serviceAgent
.Misalnya,
service-PROJECT_NUMBER@gcp-sa-eventarc.iam.gserviceaccount.com
. Untuk mengetahui informasi selengkapnya, lihat Agen layanan.
Terraform
Buat identitas layanan untuk layanan Eventarc dengan mengonfigurasi resource
google_project_service_identity
:Berikan peran Cloud KMS ke akun layanan Eventarc dengan mengonfigurasi resource
google_kms_crypto_key_iam_member
:
Mengaktifkan CMEK untuk jenis peristiwa Google
Pemicu Eventarc yang merutekan jenis peristiwa Google memublikasikan peristiwa ke saluran virtual yang disebut sebagai saluran Google yang spesifik per project dan regional. Channel virtual ini tersedia di semua wilayah Eventarc.
Saat Anda mengaktifkan CMEK untuk saluran Google di project Google Cloud , semua pemicu Eventarc untuk jenis peristiwa Google di project dan region tersebut akan dienkripsi sepenuhnya dengan kunci CMEK tersebut. Anda dapat menambahkan beberapa kunci CMEK dan mengaitkan setiap kunci dengan wilayah tertentu untuk channel Google. Kunci CMEK tidak dapat diterapkan per pemicu.
Konsol
Di konsol Google Cloud , buka halaman Eventarc > Channels.
Klik channel dengan Penyedia Google.
Di halaman Edit channel, centang kotak Gunakan kunci enkripsi yang dikelola pelanggan (CMEK).
Klik Tambahkan kunci enkripsi.
Pilih Region, lalu di daftar Kunci enkripsi CMEK, pilih key ring yang telah Anda buat untuk region tersebut. Perhatikan bahwa Anda hanya dapat menambahkan satu kunci enkripsi per region untuk channel.
Opsional: Untuk memasukkan nama resource kunci secara manual, di daftar Kunci enkripsi CMEK, klik Tidak melihat kunci Anda? Masukkan nama resource utama, lalu masukkan nama kunci dalam format yang ditentukan.
Jika diminta, berikan peran
cloudkms.cryptoKeyEncrypterDecrypter
ke akun layanan Eventarc dengan peraneventarc.serviceAgent
.Opsional: Klik Tambahkan kunci enkripsi untuk menambahkan key ring lain yang telah Anda buat untuk region yang berbeda.
Klik Simpan.
gcloud
gcloud eventarc google-channels update \ --location=LOCATION \ --crypto-key=KEY
Ganti kode berikut:
LOCATION
: region channel Google yang akan dilindungi. Harus cocok dengan lokasi kunci yang digunakan. Perhatikan bahwa Anda hanya dapat menambahkan satu kunci enkripsi per region untuk channel.KEY
: nama kunci Cloud KMS yang sepenuhnya memenuhi syarat dalam formatprojects/PROJECT_ID/locations/LOCATION/keyRings/RING_NAME/cryptoKeys/KEY_NAME
.
Terraform
Aktifkan CMEK untuk resource GoogleChannelConfig
di project dan lokasi tertentu dengan mengonfigurasi resource google_eventarc_google_channel_config
:
REST
Anda dapat memperbarui resource GoogleChannelConfig
menggunakan metode
projects.locations.updateGoogleChannelConfig
dan menentukan kunci CMEK untuk project dan lokasi tertentu.
Sebelum menggunakan salah satu data permintaan, lakukan penggantian berikut:
PROJECT_ID
: project ID Google Cloud Anda.LOCATION
: region saluran Google yang akan dilindungi. Harus cocok dengan lokasi kunci yang digunakan—misalnya,us-central1
. Perhatikan bahwa Anda hanya dapat menambahkan satu kunci enkripsi per region untuk channel.KEY_NAME
: nama kunci—misalnya,my-key
.RING_NAME
: nama key ring—misalnya,my-keyring
.
Meminta isi JSON:
{ "cryptoKeyName": "projects/PROJECT_ID/locations/LOCATION/keyRings/RING_NAME/cryptoKeys/KEY_NAME" }
Untuk mengirim permintaan Anda, perluas salah satu opsi berikut:
Jika berhasil, isi respons berisi instance GoogleChannelConfig
yang diperbarui:
GoogleChannelConfig
:
{ "name": "projects/PROJECT_ID/locations/LOCATION/googleChannelConfig", "updateTime": "2025-03-05T17:56:54.106390447Z", "cryptoKeyName": "projects/PROJECT_ID/locations/LOCATION/keyRings/RING_NAME/cryptoKeys/KEY_NAME" }
Jika Anda membuat pemicu Pub/Sub menggunakan topik yang sudah ada, untuk perlindungan CMEK yang komprehensif, sebaiknya Anda juga mengonfigurasi kunci KMS di topik tersebut. Untuk mengetahui informasi selengkapnya, lihat Mengonfigurasi topik Pub/Sub.
Memverifikasi penggunaan Cloud KMS
Untuk memverifikasi bahwa channel kini mematuhi CMEK:
Konsol
Di konsol Google Cloud , buka halaman Eventarc > Triggers.
Klik pemicu yang mencantumkan Google Cloud sumber sebagai Penyedia peristiwa dan Region yang telah Anda lindungi menggunakan CMEK.
Di halaman Detail pemicu, status Enkripsi ditampilkan, pesan,
Events encrypted using Customer-managed encryption keys
.
gcloud
Untuk mengonfirmasi kunci CMEK, Anda dapat menggunakan perintah
google-channels describe
.
gcloud eventarc google-channels describe \ --location=LOCATION
Outputnya akan mirip dengan berikut ini:
cryptoKeyName: projects/PROJECT_ID/locations/LOCATION/keyRings/RING_NAME/cryptoKeys/KEY_NAME name: projects/PROJECT_ID/locations/LOCATION/googleChannelConfig updateTime: '2022-06-28T17:24:56.365866104Z'
Nilai cryptokeyName
menunjukkan kunci Cloud KMS yang digunakan untuk
saluran Google.
Terraform
Untuk mengonfirmasi kunci CMEK, Anda dapat menggunakan perintah Terraform state show
.
terraform state show google_eventarc_google_channel_config.default
Outputnya akan mirip dengan berikut ini:
# google_eventarc_google_channel_config.default: resource "google_eventarc_google_channel_config" "default" { crypto_key_name = "projects/PROJECT_ID/locations/LOCATION/keyRings/RING_NAME/cryptoKeys/KEY_NAME" id = "projects/PROJECT_ID/locations/LOCATION/googleChannelConfig" location = "LOCATION" name = "projects/PROJECT_ID/locations/LOCATION/googleChannelConfig" project = "PROJECT_ID" update_time = "2025-03-24T17:15:08.809635011Z" }
REST
Untuk mengonfirmasi kunci CMEK, Anda dapat mengambil resource GoogleChannelConfig
menggunakan metode projects.locations.getGoogleChannelConfig
.
Sebelum menggunakan salah satu data permintaan, lakukan penggantian berikut:
PROJECT_ID
: project ID Google Cloud Anda.LOCATION
: region channel Google yang dilindungi.
Untuk mengirim permintaan Anda, perluas salah satu opsi berikut:
Jika berhasil, isi respons berisi instance
GoogleChannelConfig
:
{ "name": "projects/PROJECT_ID/locations/LOCATION/googleChannelConfig", "updateTime": "2025-03-05T17:56:54.106390447Z", "cryptoKeyName": "projects/PROJECT_ID/locations/LOCATION/keyRings/RING_NAME/cryptoKeys/KEY_NAME" }
Mengaktifkan CMEK untuk saluran pihak ketiga
Channel Eventarc untuk pihak ketiga adalah resource yang memungkinkan entitas non-Google Cloud yang menawarkan sumber Eventarc berinteraksi dengan tujuan. Channel ini khusus untuk wilayah tertentu dan Anda hanya dapat menambahkan satu kunci per channel pihak ketiga.
Untuk mengaktifkan CMEK untuk saluran pihak ketiga:
Konsol
Di konsol Google Cloud , buka halaman Eventarc > Channels.
Klik channel dengan Penyedia pihak ketiga.
Di halaman Detail channel, klik
Edit.Di halaman Edit channel, untuk Enkripsi, pilih Kunci Cloud KMS.
Dalam daftar Key type, pilih metode untuk mengelola kunci Anda.
Anda dapat mengelola kunci secara manual atau menggunakan Autokey yang memungkinkan Anda membuat keyring dan kunci sesuai permintaan. Jika opsi Autokey dinonaktifkan, opsi tersebut belum terintegrasi dengan jenis resource saat ini.
Di daftar Select a Cloud KMS key, pilih kunci. Perhatikan bahwa Anda hanya dapat menambahkan satu kunci enkripsi per region untuk satu channel.
Opsional: Untuk memasukkan nama resource kunci secara manual, di daftar Pilih kunci Cloud KMS, klik Masukkan kunci secara manual, lalu masukkan nama kunci dalam format yang ditentukan.
Jika diminta, berikan peran
cloudkms.cryptoKeyEncrypterDecrypter
kepada Agen Layanan Eventarc.Klik Simpan.
gcloud
gcloud eventarc channels update CHANNEL_NAME \ --location=LOCATION \ --crypto-key=KEY
Ganti kode berikut:
CHANNEL_NAME
: nama saluran pihak ketiga. Untuk membuat channel pihak ketiga baru, lihat Membuat channel.LOCATION
: region saluran pihak ketiga yang akan dilindungi. Lokasi ini harus cocok dengan lokasi kunci.KEY
: nama kunci Cloud KMS yang sepenuhnya memenuhi syarat dalam formatprojects/PROJECT_ID/locations/LOCATION/keyRings/RING_NAME/cryptoKeys/KEY_NAME
.
Terraform
Tentukan kunci CMEK untuk saluran pihak ketiga dengan mengonfigurasi
resource google_eventarc_channel
. Contoh:
resource "google_eventarc_channel" "default" { location = "us-central1" name = "CHANNEL_NAME" crypto_key_name = google_kms_crypto_key.default.id }
Ganti CHANNEL_NAME
dengan nama channel pihak ketiga.
REST
Anda dapat memperbarui resource Channel
menggunakan metode
projects.locations.channels.patch
dan menentukan kunci CMEK untuk project dan lokasi tertentu.
Sebelum menggunakan salah satu data permintaan, lakukan penggantian berikut:
CHANNEL_NAME
: nama saluran.PROJECT_ID
: project ID Google Cloud Anda.LOCATION
: region saluran yang akan dilindungi. Harus cocok dengan lokasi kunci yang digunakan—misalnya,us-central1
. Perhatikan bahwa Anda hanya dapat menambahkan satu kunci enkripsi per region untuk channel.KEY_NAME
: nama kunci—misalnya,my-key
.RING_NAME
: nama key ring—misalnya,my-keyring
.
Meminta isi JSON:
{ "cryptoKeyName": "projects/PROJECT_ID/locations/LOCATION/keyRings/RING_NAME/cryptoKeys/KEY_NAME" }
Untuk mengirim permintaan Anda, perluas salah satu opsi berikut:
Jika berhasil, isi respons berisi instance Operation
yang baru dibuat:
{ "name": "projects/PROJECT_ID/locations/LOCATION/operations/OPERATION_ID", "metadata": { "@type": "type.googleapis.com/google.cloud.eventarc.v1.OperationMetadata", "createTime": "2024-01-25T17:17:45.782370139Z", "target": "projects/PROJECT_ID/locations/LOCATION/channels/CHANNEL_NAME", "verb": "update", "requestedCancellation": false, "apiVersion": "v1" }, "done": false }
Memverifikasi penggunaan Cloud KMS
Untuk memverifikasi bahwa channel kini mematuhi CMEK:
Konsol
Di konsol Google Cloud , buka halaman Eventarc > Triggers.
Klik pemicu dengan sumber pihak ketiga sebagai Penyedia peristiwa dan Region yang telah Anda lindungi menggunakan CMEK.
Di halaman Detail pemicu, status Enkripsi menampilkan pesan,
Events encrypted using Customer-managed encryption keys
.
gcloud
gcloud eventarc channels describe CHANNEL_NAME \ --location=LOCATION
Outputnya akan mirip dengan berikut ini:
createTime: '2022-06-28T18:05:52.403999904Z' cryptoKeyName: projects/PROJECT_ID/locations/LOCATION/keyRings/RING_NAME/cryptoKeys/KEY_NAME name: projects/PROJECT_ID/locations/LOCATION/googleChannelConfig pubsubTopic: projects/PROJECT_ID/topics/PUBSUB_TOPIC_ID state: ACTIVE uid: 5ea277f9-b4b7-4e7f-a8e0-6ca9d7204fa3 updateTime: '2022-06-28T18:09:18.650727516Z'
Nilai cryptokeyName
menunjukkan kunci Cloud KMS yang digunakan untuk saluran pihak ketiga.
Terraform
Untuk mengonfirmasi kunci CMEK, Anda dapat menggunakan perintah Terraform state show
.
terraform state show google_eventarc_channel.default
Outputnya akan mirip dengan berikut ini:
# google_eventarc_channel.default: resource "google_eventarc_channel" "default" { create_time = "2025-03-31T13:07:44.721274062Z" crypto_key_name = "projects/PROJECT_ID/locations/LOCATION/keyRings/RING_NAME/cryptoKeys/KEY_NAME" id = "projects/PROJECT_ID/locations/LOCATION/channels/CHANNEL_NAME" location = "LOCATION" name = "CHANNEL_NAME" project = "PROJECT_ID" pubsub_topic = "projects/PROJECT_ID/topics/PUBSUB_TOPIC_ID" state = "ACTIVE" uid = "406302e9-1d41-4479-8f4f-2524a803790e" update_time = "2025-03-31T13:07:49.708241490Z" }
REST
Untuk mengonfirmasi kunci CMEK untuk suatu channel, Anda dapat mengambil resource Channel
menggunakan metode
projects.locations.channels.get
.
Sebelum menggunakan salah satu data permintaan, lakukan penggantian berikut:
CHANNEL_NAME
: nama saluran.PROJECT_ID
: project ID Google Cloud Anda.LOCATION
: region saluran yang dilindungi.
Untuk mengirim permintaan Anda, perluas salah satu opsi berikut:
Jika berhasil, isi respons berisi instance
Channel
:
{ "name": "projects/PROJECT_ID/locations/LOCATION/channels/CHANNEL_NAME", "uid": "12f941a6-196a-457b-bfdb-ca21138859d0", "createTime": "2025-01-29T15:05:12.113912689Z", "updateTime": "2025-01-29T15:05:17.210986285Z", "pubsubTopic": "projects/PROJECT_ID/topics/TOPIC_ID", "state": "ACTIVE", "cryptoKeyName": "projects/PROJECT_ID/locations/LOCATION/keyRings/RING_NAME/cryptoKeys/KEY_NAME" }
Menampilkan kunci yang digunakan untuk channel
Anda dapat mendeskripsikan saluran Eventarc dan menampilkan kunci Cloud KMS yang digunakan untuk saluran tersebut.
Konsol
Di konsol Google Cloud , buka halaman Eventarc > Channels.
Klik nama channel.
Kunci enkripsi CMEK yang digunakan untuk saluran akan ditampilkan.
gcloud
Berdasarkan jenis channel, jalankan perintah berikut:
Saluran Google
gcloud eventarc google-channels describe \ --location=LOCATION
Channel pihak ketiga
gcloud eventarc channels describe CHANNEL_NAME \ --location=LOCATION
Output harus berisi baris yang mirip dengan berikut ini:
cryptoKeyName: projects/PROJECT_ID/locations/LOCATION/keyRings/RING_NAME/cryptoKeys/KEY_NAME
Nilai cryptoKeyName
menunjukkan kunci Cloud KMS yang digunakan untuk
channel.
Terraform
Berdasarkan jenis channel, jalankan perintah berikut:
Saluran Google
terraform state show google_eventarc_google_channel_config.default
Channel pihak ketiga
terraform state show google_eventarc_channel.default
Output harus berisi baris yang mirip dengan berikut ini:
crypto_key_name= "projects/PROJECT_ID/locations/LOCATION/keyRings/RING_NAME/cryptoKeys/KEY_NAME"
Nilai crypto_key_name
menunjukkan kunci Cloud KMS yang digunakan untuk
channel.
REST
Berdasarkan jenis saluran, buat permintaan berikut:
Saluran Google
Untuk mengonfirmasi kunci CMEK untuk project dan lokasi tertentu, Anda dapat mengambil resource GoogleChannelConfig
menggunakan metode projects.locations.getGoogleChannelConfig
.
Sebelum menggunakan salah satu data permintaan, lakukan penggantian berikut:
PROJECT_ID
: project ID Google Cloud Anda.LOCATION
: region channel Google yang dilindungi.
Untuk mengirim permintaan Anda, perluas salah satu opsi berikut:
Jika berhasil, isi respons berisi instance
GoogleChannelConfig
:
{ "name": "projects/PROJECT_ID/locations/LOCATION/googleChannelConfig", "updateTime": "2025-03-05T17:56:54.106390447Z", "cryptoKeyName": "projects/PROJECT_ID/locations/LOCATION/keyRings/RING_NAME/cryptoKeys/KEY_NAME" }
Channel pihak ketiga
Untuk mengonfirmasi kunci CMEK untuk project dan lokasi tertentu, Anda dapat mengambil resource Channel
menggunakan metode projects.locations.channels.get
.
Sebelum menggunakan salah satu data permintaan, lakukan penggantian berikut:
CHANNEL_NAME
: nama saluran.PROJECT_ID
: project ID Google Cloud Anda.LOCATION
: region saluran yang dilindungi.
Untuk mengirim permintaan Anda, perluas salah satu opsi berikut:
Jika berhasil, isi respons berisi instance
Channel
:
{ "name": "projects/PROJECT_ID/locations/LOCATION/channels/CHANNEL_NAME", "uid": "12f941a6-196a-457b-bfdb-ca21138859d0", "createTime": "2025-01-29T15:05:12.113912689Z", "updateTime": "2025-01-29T15:05:17.210986285Z", "pubsubTopic": "projects/PROJECT_ID/topics/TOPIC_ID", "state": "ACTIVE", "cryptoKeyName": "projects/PROJECT_ID/locations/LOCATION/keyRings/RING_NAME/cryptoKeys/KEY_NAME" }
Menonaktifkan CMEK
Anda dapat menonaktifkan perlindungan CMEK yang terkait dengan channel. Peristiwa yang dikirimkan melalui saluran tersebut tetap dilindungi oleh Google-owned and Google-managed encryption keys. Untuk menghapus perlindungan CMEK yang terkait dengan channel:
Konsol
Di konsol Google Cloud , buka halaman Eventarc > Channels.
Berdasarkan jenis channel, selesaikan langkah-langkah berikut:
Saluran Google
- Klik channel dengan Penyedia Google.
- Di halaman Edit channel, tahan kursor di atas daftar Kunci enkripsi CMEK untuk melihat tombol Hapus item.
- Klik Hapus item.
Klik Simpan.
Anda mungkin perlu memuat ulang halaman untuk mengaktifkan kotak centang Gunakan kunci enkripsi yang dikelola pelanggan (CMEK).
Channel pihak ketiga
- Klik channel dengan Penyedia pihak ketiga.
- Di halaman Detail channel, klik Edit.
- Di halaman Edit channel, untuk Enkripsi, pilih Kunci enkripsi yang dikelola Google.
- Klik Simpan.
gcloud
Berdasarkan jenis channel, jalankan perintah berikut:
Saluran Google
gcloud eventarc google-channels \ update --clear-crypto-key
Channel pihak ketiga
gcloud eventarc channels CHANNEL_NAME \ update --clear-crypto-key
Terraform
Berdasarkan jenis saluran, hapus nilai crypto_key_name
dengan tidak
menentukannya saat mengonfigurasi resource Terraform:
Saluran Google
resource "google_eventarc_google_channel_config" "default" { location = "us-central1" name = "googleChannelConfig" }
Channel pihak ketiga
resource "google_eventarc_channel" "default" { location = "us-central1" name = "CHANNEL_NAME" }
REST
Berdasarkan jenis saluran, buat permintaan berikut:
Saluran Google
Untuk menghapus kunci CMEK, Anda dapat memperbarui resource GoogleChannelConfig
untuk project dan lokasi tertentu menggunakan metode
projects.locations.updateGoogleChannelConfig
.
Sebelum menggunakan salah satu data permintaan, lakukan penggantian berikut:
PROJECT_ID
: project ID Google Cloud Anda.LOCATION
: region saluran Google yang dilindungi yang akan dilindungi.
Meminta isi JSON:
{ "cryptoKeyName": "" }
Untuk mengirim permintaan Anda, perluas salah satu opsi berikut:
Jika berhasil, isi respons berisi instance GoogleChannelConfig
yang diperbarui:
GoogleChannelConfig
:
{ "name": "projects/PROJECT_ID/locations/LOCATION/googleChannelConfig", "updateTime": "2025-03-05T17:56:54.106390447Z" }
Channel pihak ketiga
Untuk menghapus kunci CMEK, Anda dapat memperbarui resource Channel
untuk project dan lokasi tertentu menggunakan metode
projects.locations.channels.patch
.
Sebelum menggunakan salah satu data permintaan, lakukan penggantian berikut:
CHANNEL_NAME
: nama saluran.PROJECT_ID
: project ID Google Cloud Anda.LOCATION
: region saluran yang dilindungi.
Meminta isi JSON:
{ "cryptoKeyName": "" }
Untuk mengirim permintaan Anda, perluas salah satu opsi berikut:
Jika berhasil, isi respons berisi instance Operation
yang baru dibuat:
{ "name": "projects/PROJECT_ID/locations/LOCATION/operations/OPERATION_ID", "metadata": { "@type": "type.googleapis.com/google.cloud.eventarc.v1.OperationMetadata", "createTime": "2024-01-25T17:17:45.782370139Z", "target": "projects/PROJECT_ID/locations/LOCATION/channels/CHANNEL_NAME", "verb": "update", "requestedCancellation": false, "apiVersion": "v1" }, "done": false }
Menerapkan kebijakan organisasi CMEK
Eventarc terintegrasi dengan dua batasan kebijakan organisasi untuk membantu memastikan penggunaan CMEK di seluruh organisasi:
constraints/gcp.restrictNonCmekServices
digunakan untuk mewajibkan perlindungan CMEK.constraints/gcp.restrictCmekCryptoKeyProjects
digunakan untuk membatasi kunci Cloud KMS yang digunakan untuk perlindungan CMEK.
Integrasi ini memungkinkan Anda menentukan persyaratan kepatuhan enkripsi berikut untuk resource Eventarc di organisasi Anda:
Pertimbangan saat menerapkan kebijakan organisasi
Sebelum menerapkan kebijakan organisasi CMEK, Anda harus mengetahui hal-hal berikut.
Mempersiapkan penundaan penerapan
Setelah Anda menetapkan atau memperbarui kebijakan organisasi, perlu waktu hingga 15 menit agar kebijakan baru dapat diterapkan.
Pertimbangkan resource yang ada
Resource yang ada tidak tunduk pada kebijakan organisasi yang baru dibuat. Misalnya, kebijakan organisasi tidak berlaku secara surut untuk pipeline yang ada. Resource tersebut masih dapat diakses tanpa CMEK dan, jika berlaku, masih dienkripsi dengan kunci yang ada.
Memverifikasi izin yang diperlukan untuk menetapkan kebijakan organisasi
Izin untuk menetapkan atau memperbarui kebijakan organisasi mungkin sulit diperoleh untuk tujuan pengujian. Anda harus diberi peran Administrator Kebijakan Organisasi, yang hanya dapat diberikan di tingkat organisasi (bukan di tingkat project atau folder).
Meskipun peran ini harus diberikan di tingkat organisasi, Anda tetap dapat menentukan kebijakan yang hanya berlaku untuk project atau folder tertentu.
Mewajibkan CMEK untuk resource Eventarc baru
Anda dapat menggunakan batasan constraints/gcp.restrictNonCmekServices
untuk mewajibkan
CMEK digunakan untuk melindungi resource Eventarc baru dalam
organisasi.
Jika ditetapkan, kebijakan organisasi ini akan menyebabkan semua permintaan pembuatan resource tanpa kunci Cloud KMS yang ditentukan akan gagal.
Setelah ditetapkan, kebijakan ini hanya berlaku untuk resource baru dalam project. Setiap resource yang ada tanpa kunci Cloud KMS yang diterapkan akan tetap ada dan dapat diakses tanpa masalah.
Konsol
Di konsol Google Cloud , buka halaman Kebijakan organisasi.
Dengan menggunakan Filter, telusuri batasan berikut:
constraints/gcp.restrictNonCmekServices
Di kolom Nama, klik Batasi layanan mana yang dapat membuat resource tanpa CMEK.
Klik
Kelola Kebijakan.Di halaman Edit kebijakan, di bagian Sumber kebijakan, pilih Ganti kebijakan induk.
Di bagian Aturan, klik Tambahkan aturan.
Dalam daftar Nilai kebijakan, pilih Kustom.
Dalam daftar Jenis kebijakan, pilih Tolak.
Di kolom Nilai kustom, masukkan berikut ini:
is:eventarc.googleapis.com
Klik Selesai, lalu klik Tetapkan kebijakan.
gcloud
Membuat file sementara
/tmp/policy.yaml
untuk menyimpan kebijakan:name: projects/PROJECT_ID/policies/gcp.restrictNonCmekServices spec: rules: - values: deniedValues: - is:eventarc.googleapis.com
Ganti
PROJECT_ID
dengan ID project tempat Anda menerapkan batasan ini.Jalankan perintah
org-policies set-policy
:gcloud org-policies set-policy /tmp/policy.yaml
Untuk memverifikasi bahwa kebijakan berhasil diterapkan, Anda dapat mencoba membuat channel Standard Eventarc dalam project. Proses ini akan gagal kecuali jika Anda menentukan kunci Cloud KMS.
Membatasi kunci Cloud KMS untuk project Eventarc
Anda dapat menggunakan batasan constraints/gcp.restrictCmekCryptoKeyProjects
untuk
membatasi kunci Cloud KMS yang dapat digunakan untuk melindungi resource dalam
project Eventarc.
Misalnya, Anda dapat menentukan aturan yang mirip dengan berikut ini: "Untuk resource Eventarc yang berlaku di projects/my-company-data-project
,
kunci Cloud KMS yang digunakan dalam project ini harus berasal dari
projects/my-company-central-keys
ATAU projects/team-specific-keys
."
Konsol
Di konsol Google Cloud , buka halaman Kebijakan organisasi.
Dengan menggunakan Filter, telusuri batasan berikut:
constraints/gcp.restrictCmekCryptoKeyProjects
Di kolom Nama, klik Batasi project mana yang dapat menyediakan CryptoKey KMS untuk CMEK.
Klik
Kelola Kebijakan.Di halaman Edit kebijakan, di bagian Sumber kebijakan, pilih Ganti kebijakan induk.
Di bagian Aturan, klik Tambahkan aturan.
Dalam daftar Nilai kebijakan, pilih Kustom.
Dalam daftar Jenis kebijakan, pilih Izinkan.
Di kolom Nilai kustom, masukkan berikut ini:
under:projects/KMS_PROJECT_ID
Ganti
KMS_PROJECT_ID
dengan ID project tempat kunci Cloud KMS yang ingin Anda gunakan berada.Misalnya,
under:projects/my-kms-project
.Klik Selesai, lalu klik Tetapkan kebijakan.
gcloud
Membuat file sementara
/tmp/policy.yaml
untuk menyimpan kebijakan:name: projects/PROJECT_ID/policies/gcp.restrictCmekCryptoKeyProjects spec: rules: - values: allowedValues: - under:projects/KMS_PROJECT_ID
Ganti kode berikut:
PROJECT_ID
: ID project tempat Anda menerapkan batasan ini.KMS_PROJECT_ID
: ID project tempat kunci Cloud KMS yang ingin Anda gunakan berada.
Jalankan perintah
org-policies set-policy
:gcloud org-policies set-policy /tmp/policy.yaml
Untuk memverifikasi bahwa kebijakan berhasil diterapkan, Anda dapat mencoba membuat channel Standar Eventarc menggunakan kunci Cloud KMS dari project lain. Proses tersebut akan gagal.
Menonaktifkan dan mengaktifkan kunci Cloud KMS
Versi kunci menyimpan materi kunci kriptografi yang Anda gunakan untuk mengenkripsi, mendekripsi, menandatangani, dan memverifikasi data. Anda dapat menonaktifkan versi kunci ini sehingga data yang dienkripsi dengan kunci tersebut tidak dapat diakses.
Jika Eventarc tidak dapat mengakses kunci Cloud KMS, penerbitan peristiwa dengan saluran akan gagal dengan error FAILED_PRECONDITION
dan pengiriman peristiwa akan berhenti. Anda dapat mengaktifkan kunci dalam status Dinonaktifkan sehingga data terenkripsi dapat diakses kembali.
Menonaktifkan kunci Cloud KMS
Untuk mencegah Eventarc menggunakan kunci untuk mengenkripsi atau mendekripsi data peristiwa Anda, lakukan salah satu hal berikut:
- Sebaiknya nonaktifkan versi kunci yang telah Anda konfigurasi untuk saluran. Hal ini hanya memengaruhi channel dan pemicu Eventarc yang terkait dengan kunci tertentu.
- Opsional: Mencabut peran
cloudkms.cryptoKeyEncrypterDecrypter
dari akun layanan Eventarc. Hal ini memengaruhi semua channel dan pemicu Eventarc project yang mendukung peristiwa yang dienkripsi menggunakan CMEK.
Meskipun kedua operasi tidak menjamin pencabutan akses secara instan, perubahan Identity and Access Management (IAM) umumnya disebarkan lebih cepat. Untuk mengetahui informasi selengkapnya, lihat Konsistensi resource Cloud KMS dan Penerapan perubahan akses.
Mengaktifkan kembali kunci Cloud KMS
Untuk melanjutkan pengiriman dan publikasi peristiwa, pulihkan akses ke Cloud KMS.
Harga
Integrasi ini tidak menimbulkan biaya tambahan di luar operasi utama, yang ditagih ke project Google CloudAnda. Penggunaan CMEK untuk saluran menimbulkan biaya akses ke layanan Cloud KMS berdasarkan harga Pub/Sub.
Untuk mengetahui informasi selengkapnya tentang informasi harga terbaru, lihat Harga Cloud KMS.
Langkah berikutnya
- Memecahkan masalah CMEK
- Praktik terbaik dalam menggunakan CMEK
- Menggunakan CMEK dengan Eventarc Advanced