Secara default, Google Cloud otomatis mengenkripsi data saat dalam penyimpanan menggunakan kunci enkripsi yang dikelola oleh Google. Jika memiliki persyaratan kepatuhan atau peraturan khusus yang terkait dengan kunci yang melindungi data, Anda dapat menggunakan kunci enkripsi yang dikelola pelanggan (CMEK) untuk enkripsi tingkat aplikasi Looker (Google Cloud core).
Untuk mengetahui informasi selengkapnya tentang CMEK secara umum, termasuk waktu dan alasan mengaktifkannya, lihat dokumentasi Cloud Key Management Service.
Halaman ini memandu Anda tentang cara mengonfigurasi instance Looker (Google Cloud core) untuk menggunakan CMEK.
Bagaimana cara Looker (Google Cloud core) berinteraksi dengan CMEK?
Looker (Google Cloud core) menggunakan satu kunci CMEK (melalui hierarki kunci sekunder) untuk membantu melindungi data sensitif yang dikelola oleh instance Looker (Google Cloud core). Selama startup, setiap proses dalam instance Looker melakukan satu panggilan awal ke Cloud Key Management Service (KMS) untuk mendekripsi kunci. Selama operasi normal (setelah startup), seluruh instance Looker melakukan satu panggilan ke KMS kira-kira setiap lima menit untuk memverifikasi bahwa kunci tersebut masih valid.
Jenis instance Looker (Google Cloud core) apa saja yang mendukung CMEK?
Instance Looker (Google Cloud core) mendukung CMEK jika dua kriteria terpenuhi:
- Langkah-langkah konfigurasi CMEK yang dijelaskan di halaman ini diselesaikan sebelum instance Looker (Google Cloud core) dibuat. Anda tidak dapat mengaktifkan kunci enkripsi yang dikelola pelanggan pada instance yang ada.
- Edisi instance harus Enterprise atau Embed.
Alur kerja untuk membuat instance Looker (Google Cloud core) dengan CMEK
Halaman ini akan memandu Anda melakukan langkah-langkah berikut guna menyiapkan CMEK untuk instance Looker (Google Cloud core).
- Menyiapkan lingkungan Anda.
- Khusus pengguna Google Cloud CLI, Terraform, dan API: Buat akun layanan untuk setiap project yang memerlukan kunci enkripsi yang dikelola pelanggan, jika akun layanan Looker belum disiapkan untuk project tersebut.
- Buat key ring dan kunci, lalu tetapkan lokasi untuk kunci tersebut. Lokasinya adalah region Google Cloud tempat Anda ingin membuat instance Looker (Google Cloud core).
- Khusus pengguna Google Cloud CLI, Terraform, dan API: Salin atau tulis ID kunci (KMS_KEY_ID) dan lokasi kunci tersebut, beserta ID (KMS_KEYRING_ID) untuk key ring. Anda memerlukan informasi ini saat memberi akun layanan akses ke kunci.
- Khusus pengguna Google Cloud CLI, Terraform, dan API: Memberikan akses akun layanan ke kunci tersebut.
- Buka project Anda dan buat instance Looker (Google Cloud core) dengan opsi berikut:
- Pilih lokasi yang sama dengan yang digunakan oleh kunci enkripsi yang dikelola pelanggan.
- Setel edisi ke Enterprise atau Embed.
- Aktifkan konfigurasi customer-managed key.
- Tambahkan kunci enkripsi yang dikelola pelanggan menurut nama atau ID.
Setelah semua langkah ini selesai, instance Looker (Google Cloud core) Anda akan diaktifkan dengan CMEK.
Sebelum memulai
Jika Anda belum melakukannya, pastikan lingkungan Anda telah dikonfigurasi agar Anda dapat mengikuti petunjuk di halaman ini. Ikuti langkah-langkah di bagian ini untuk memastikan penyiapan Anda sudah benar.
- Di konsol Google Cloud, pada halaman pemilih project, pilih atau buat project Google Cloud. Catatan: Jika Anda tidak berencana untuk menyimpan resource yang dibuat dalam prosedur ini, buatlah project, bukan memilih project yang sudah ada. Setelah menyelesaikan langkah-langkah ini, Anda dapat menghapus project, yang akan menghapus resource yang terkait dengan project tersebut.
- Pastikan penagihan telah diaktifkan untuk project Google Cloud Anda. Pelajari cara memeriksa apakah penagihan diaktifkan di sebuah project.
- Menginstal Google Cloud CLI.
Untuk initialize gcloud CLI, jalankan perintah berikut:
gcloud init
Mengaktifkan Cloud Key Management Service API.
Aktifkan Looker (Google Cloud core) API.
Peran yang diperlukan
Untuk memahami peran yang diperlukan untuk menyiapkan CMEK, buka halaman Kontrol akses dengan IAM dalam dokumentasi Cloud Key Management Service.
Untuk membuat instance Looker (Google Cloud core), pastikan Anda memiliki peran IAM Looker Admin untuk project tempat instance Looker (Google Cloud core) Anda dibuat. Agar dapat mengaktifkan CMEK untuk instance dalam konsol Google Cloud, pastikan Anda memiliki peran IAM Cloud KMS Encrypter/Decrypter pada kunci yang digunakan untuk CMEK.
Jika perlu memberi akun layanan Looker akses ke kunci Cloud KMS, Anda memerlukan peran IAM Admin Cloud KMS pada kunci yang digunakan.
Membuat akun layanan
Jika menggunakan Google Cloud CLI, Terraform, atau API untuk membuat instance Looker (Google Cloud core), dan akun layanan Looker belum dibuat untuk project Google Cloud yang akan menampungnya, Anda harus membuat akun layanan untuk project tersebut. Jika Anda akan membuat lebih dari satu instance Looker (Google Cloud core) dalam project, akun layanan yang sama berlaku untuk semua instance Looker (Google Cloud core) dalam project tersebut, dan pembuatan akun layanan hanya perlu dilakukan sekali. Jika Anda menggunakan konsol untuk membuat instance, Looker (Google Cloud core) akan otomatis membuat akun layanan dan memberinya akses ke kunci CMEK saat Anda mengonfigurasi opsi Gunakan kunci enkripsi yang dikelola pelanggan.
Untuk mengizinkan pengguna mengelola akun layanan, berikan salah satu peran berikut:
- Service Account User (
roles/iam.serviceAccountUser
): Mencakup izin untuk mencantumkan akun layanan, mendapatkan detail tentang akun layanan, dan meniru akun layanan. - Admin Akun Layanan (
roles/iam.serviceAccountAdmin
): Mencakup izin untuk mencantumkan akun layanan dan mendapatkan detail tentang akun layanan. Juga mencakup izin untuk membuat, memperbarui, dan menghapus akun layanan.
Saat ini, Anda hanya dapat menggunakan perintah Google Cloud CLI untuk membuat jenis akun layanan yang diperlukan untuk kunci enkripsi yang dikelola pelanggan. Jika Anda menggunakan konsol Google Cloud, Looker (Google Cloud core) akan otomatis membuat akun layanan ini untuk Anda.
gcloud
Jalankan perintah berikut untuk membuat akun layanan:
gcloud beta services identity create \ --service=looker.googleapis.com \ --project=PROJECT_ID
Ganti PROJECT_ID
dengan project tempat instance Looker (Google Cloud core) berada.
Perintah ini akan membuat akun layanan dan menampilkan nama akun layanan. Anda menggunakan nama akun layanan ini selama prosedur di Memberi akun layanan akses ke kunci.
Setelah membuat akun layanan, tunggu beberapa menit hingga akun layanan diterapkan.
Membuat key ring dan kunci
Anda dapat membuat kunci di project Google Cloud yang sama dengan instance Looker (Google Cloud core) atau di project pengguna terpisah. Lokasi key ring Cloud KMS harus cocok dengan region tempat Anda ingin membuat instance Looker (Google Cloud core). Kunci multi-region atau region global tidak akan berfungsi. Permintaan pembuatan instance Looker (Google Cloud core) akan gagal jika region tidak cocok.
Ikuti petunjuk di halaman dokumentasi Membuat key ring dan Membuat kunci untuk membuat key ring dan kunci yang memenuhi dua kriteria berikut:
- Kolom Key ring location harus cocok dengan region yang akan Anda tetapkan untuk instance Looker (Google Cloud core).
- Kolom Destination kunci harus berupa Enkripsi/dekripsi simetris.
Lihat bagian Merotasi kunci untuk mempelajari cara merotasi kunci dan membuat versi kunci baru.
Salin atau tuliskan KMS_KEY_ID
dan KMS_KEYRING_ID
Jika Anda menggunakan Google Cloud CLI, Terraform, atau API untuk menyiapkan instance Looker (Google Cloud core), ikuti petunjuk di halaman dokumentasi Mendapatkan ID resource Cloud KMS guna menemukan ID resource untuk key ring dan kunci yang baru saja Anda buat. Salin atau tuliskan ID kunci (KMS_KEY_ID) dan lokasi untuk kunci tersebut, bersama dengan ID (KMS_KEYRING_ID) untuk key ring. Anda memerlukan informasi ini saat memberi akun layanan akses ke kunci.
Beri akses akun layanan ke kunci
Anda hanya perlu melakukan prosedur ini jika kedua hal berikut terpenuhi:
- Anda menggunakan Google Cloud CLI, Terraform, atau API.
- Akun layanan belum diberi akses ke kunci. Misalnya, jika sudah ada instance Looker (Google Cloud core) dalam project yang sama yang menggunakan kunci yang sama, Anda tidak perlu memberikan akses. Atau, jika akses ke kunci telah diberikan oleh orang lain, Anda tidak perlu memberikan akses.
Anda harus memiliki peran IAM Admin Cloud KMS pada kunci yang digunakan untuk memberikan akses akun layanan.
Untuk memberikan akses akun layanan:
gcloud
gcloud kms keys add-iam-policy-binding KMS_KEY_ID \ --location=REGION \ --keyring=KMS_KEYRING_ID \ --member=serviceAccount:SERVICE_ACCOUNT_NAME \ --role=roles/cloudkms.cryptoKeyEncrypterDecrypter
Ganti kode berikut:
- KMS_KEY_ID: ID kunci KMS
- REGION: region tempat Looker (Google Cloud core) dibuat dan lokasi key ring
- KMS_KEYRING_ID: ID key ring KMS
- SERVICE_ACCOUNT_NAME: nama akun layanan yang ditampilkan saat Anda membuat akun layanan
Setelah memberikan peran IAM ke akun layanan, tunggu beberapa menit sampai izin diterapkan.
Membuat instance Looker (Google Cloud core) dengan CMEK
Untuk membuat instance dengan kunci enkripsi yang dikelola pelanggan di konsol Google Cloud, pertama-tama ikuti langkah-langkah di bagian Membuat key ring dan key, seperti yang ditunjukkan sebelumnya, untuk membuat key ring dan kunci di region yang sama yang akan Anda gunakan untuk instance Looker (Google Cloud core). Selanjutnya, dengan menggunakan setelan berikut, ikuti petunjuk untuk membuat instance Looker (Google Cloud core).
Untuk membuat instance IP pribadi dengan setelan CMEK, pilih salah satu opsi berikut:
console
- Pastikan Anda memiliki peran IAM Encrypter/Decrypter Cloud KMS CryptoKey pada kunci yang digunakan untuk CMEK.
- Di bagian Edisi di halaman Buat instance, Anda harus memilih edisi Enterprise atau Embed untuk menggunakan CMEK.
- Di bagian Enkripsi di halaman Buat instance, pilih tombol pilihan Kunci enkripsi yang dikelola pelanggan (CMEK). Tindakan ini akan menampilkan kolom drop-down Select a customer-managed key.
- Di kolom Pilih kunci yang dikelola pelanggan, tetapkan kunci yang ingin digunakan. Kunci harus berada dalam key ring yang memiliki lokasi yang ditetapkan ke region yang sama dengan instance Looker (Google Cloud core) yang Anda buat. Jika tidak, pembuatan instance akan gagal. Anda dapat memilih kunci melalui salah satu dari dua metode berikut:
- Pilih nama kunci dari menu drop-down: Kunci yang tersedia di project Google Cloud akan muncul di menu drop-down. Setelah memilih kunci, klik OK.
- Masukkan ID resource kunci: Klik teks Tidak melihat kunci Anda? Masukkan ID resource kunci, yang muncul di bagian bawah menu drop-down.Tindakan ini akan menampilkan dialog Enter key resource ID, tempat Anda dapat memasukkan ID kunci. Setelah Anda memasukkan ID, pilih Save.
- Setelah memilih kunci, akan muncul pesan yang meminta Anda memberikan izin ke akun layanan untuk menggunakan kunci tersebut. Klik tombol Grant.
- Jika akun layanan tidak memiliki izin untuk mengenkripsi dan mendekripsi dengan kunci yang dipilih, sebuah pesan akan muncul. Jika hal ini terjadi, klik Grant untuk memberi akun layanan peran IAM Cloud KMS CryptoKey Encrypter/Decrypter pada kunci KMS yang dipilih.
- Setelah menyelesaikan semua konfigurasi untuk instance Looker (Google Cloud core), klik Buat.
gcloud
gcloud looker instances create INSTANCE_NAME \ --project=PROJECT_ID \ --oauth-client-id=OAUTH_CLIENT_ID\ --oauth-client-secret=OAUTH_CLIENT_SECRET \ --kms-key=KMS_KEY_ID --region=REGION \ --edition=EDITION [--consumer-network=CONSUMER_NETWORK --private-ip-enabled --reserved-range=RESERVED_RANGE] [--no-public-ip-enabled] [--public-ip-enabled]
Ganti kode berikut:
INSTANCE_NAME
: nama untuk instance Looker (Google Cloud core) Anda; nama ini tidak terkait dengan URL instancePROJECT_ID
: nama project Google Cloud tempat Anda membuat instance Looker (Google Cloud core)OAUTH_CLIENT_ID
danOAUTH_CLIENT_SECRET
: client ID OAuth dan rahasia OAuth yang Anda buat saat menyiapkan klien OAuth. Setelah instance dibuat, masukkan URL instance di bagian Authorized redirect URI pada klien OAuth.- KMS_KEY_ID: ID kunci KMS
REGION
: region tempat instance Looker (Google Cloud core) Anda dihosting. Region yang tersedia tercantum di halaman dokumentasi Lokasi Looker (Google Cloud core).EDITION
: untuk mengaktifkan CMEK,EDITION
haruscore-embed-annual
ataucore-enterprise-annual
CONSUMER_NETWORK
: jaringan VPC Anda atau VPC Bersama. Harus ditetapkan jika Anda membuat instance IP pribadi.RESERVED_RANGE
: rentang alamat IP dalam VPC tempat Google akan menyediakan subnetwork untuk instance Looker (Google Cloud core) Anda. Harus ditetapkan jika Anda membuat instance IP pribadi.
Anda dapat menyertakan flag berikut:
--private-ip-enabled
mengaktifkan IP pribadi.--public-ip-enabled
memungkinkan IP publik.--no-public-ip-enabled
menonaktifkan IP publik.
Terraform
Gunakan resource Terraform berikut untuk menyediakan instance Looker Enterprise (Google Cloud core) dengan koneksi jaringan pribadi:
Untuk mempelajari cara menerapkan atau menghapus konfigurasi Terraform, lihat Perintah dasar Terraform.
Instance Looker (Google Cloud core) Anda kini diaktifkan dengan CMEK.
Melihat informasi penting untuk instance yang mendukung CMEK
Setelah berhasil membuat instance Looker (Google Cloud core), Anda dapat memeriksa apakah CMEK diaktifkan atau tidak.
Untuk melihat apakah CMEK diaktifkan, pilih salah satu opsi berikut:
console
- Di konsol Google Cloud, buka halaman Instance Looker.
- Klik nama instance untuk membuka halaman Detail. Jika instance mengaktifkan CMEK, baris Encryption akan menunjukkan enkripsi yang digunakan untuk instance. Kolom Kunci enkripsi yang dikelola pelanggan (CMEK) akan menampilkan ID kunci.
gcloud
gcloud looker instances describe INSTANCE_NAME --region=REGION --format config
Ganti kode berikut:
INSTANCE_NAME
: nama untuk instance Looker (Google Cloud core) Anda; nama ini tidak terkait dengan URL instance- REGION: region tempat instance dibuat
Perintah ini akan menampilkan kmsKeyName
, kmsKeyNameVersion
, dan kmsKeyState
untuk mengonfirmasi bahwa instance telah dikonfigurasi dengan CMEK.
Gunakan Cloud External Key Manager (Cloud EKM)
Untuk melindungi data di instance Looker (Google Cloud core), Anda dapat menggunakan kunci yang Anda kelola dalam partner pengelolaan kunci eksternal yang didukung. Untuk mengetahui informasi selengkapnya, lihat halaman dokumentasi Cloud External Key Manager, termasuk bagian Pertimbangan.
Setelah siap membuat kunci Cloud EKM, lihat bagian Cara kerjanya di halaman dokumentasi Cloud External Key Manager. Setelah kunci dibuat, berikan nama kunci tersebut saat Anda membuat instance Looker (Google Cloud core).
Google tidak mengontrol ketersediaan kunci di sistem partner pengelolaan kunci eksternal.
Merotasi kunci Anda
Sebaiknya Anda merotasi kunci Anda untuk membantu meningkatkan keamanan. Setiap kali kunci Anda dirotasi, versi kunci baru akan dibuat. Untuk mempelajari rotasi kunci lebih lanjut, lihat halaman dokumentasi Rotasi kunci.
Jika Anda merotasi kunci yang digunakan untuk membantu mengamankan instance Looker (Google Cloud core), versi kunci sebelumnya masih diperlukan untuk mengakses cadangan atau ekspor yang dibuat saat versi kunci tersebut digunakan. Oleh karena itu, Google merekomendasikan agar versi kunci sebelumnya tetap diaktifkan setidaknya selama 45 hari setelah rotasi untuk membantu memastikan bahwa item tersebut tetap dapat diakses. Versi kunci disimpan secara default sampai versi tersebut dinonaktifkan atau dihancurkan.
Menonaktifkan dan mengaktifkan kembali versi kunci
Lihat halaman dokumentasi berikut:
Jika versi kunci yang digunakan untuk membantu mengamankan instance Looker (Google Cloud core) dinonaktifkan, instance Looker (Google Cloud core) harus berhenti beroperasi, menghapus semua data sensitif yang tidak terenkripsi yang mungkin ada dalam memori, dan menunggu hingga kunci tersebut tersedia lagi. Prosesnya sebagai berikut:
- Versi kunci yang digunakan untuk membantu mengamankan instance Looker (Google Cloud core) dinonaktifkan.
- Dalam waktu sekitar 15 menit, instance Looker (Google Cloud core) mendeteksi bahwa versi kunci dicabut, berhenti beroperasi, dan menghapus semua data terenkripsi di memori.
- Setelah instance berhenti beroperasi, panggilan ke Looker API akan menampilkan pesan error.
- Setelah instance berhenti beroperasi, UI Looker (Google Cloud core) akan menampilkan pesan error.
- Jika versi kunci diaktifkan kembali, Anda harus memicu memulai ulang instance secara manual.
Jika Anda menonaktifkan suatu versi kunci dan tidak ingin menunggu instance Looker (Google Cloud core) berhenti sendiri, Anda dapat memicu instance mulai ulang secara manual sehingga instance Looker (Google Cloud core) segera mendeteksi versi kunci yang dicabut.
Menghancurkan versi kunci
Lihat halaman dokumentasi berikut:
Jika versi kunci yang digunakan untuk membantu mengamankan instance Looker (Google Cloud core) dihancurkan, instance Looker tidak akan dapat diakses. Instance harus dihapus, dan Anda tidak akan dapat mengakses datanya.
Memecahkan masalah
Bagian ini menjelaskan berbagai hal yang perlu dicoba saat Anda menerima pesan error saat menyiapkan atau menggunakan instance yang mendukung CMEK.
Operasi administrator Looker (Google Cloud core), seperti pembuatan atau pembaruan, mungkin gagal karena error Cloud KMS dan peran atau izin yang hilang. Alasan umum kegagalan mencakup versi kunci Cloud KMS yang tidak ada, versi kunci Cloud KMS yang dinonaktifkan atau dihancurkan, izin IAM yang tidak memadai untuk mengakses versi kunci Cloud KMS, atau versi kunci Cloud KMS yang berada di region yang berbeda dengan instance Looker (Google Cloud core). Gunakan tabel pemecahan masalah berikut untuk mendiagnosis dan menyelesaikan masalah umum.
Tabel pemecahan masalah kunci enkripsi yang dikelola pelanggan
Pesan error | Kemungkinan penyebab | Strategi pemecahan masalah |
Akun layanan per-project, per-produk tidak ditemukan | Nama akun layanan tersebut tidak tepat. | Pastikan Anda membuat akun layanan untuk project pengguna yang benar. |
Tidak dapat memberikan akses ke akun layanan. | Akun pengguna tidak memiliki izin untuk memberikan akses ke akun layanan ini. | Tambahkan peran Organization Administrator pada akun pengguna atau layanan Anda. |
Versi kunci Cloud KMS dihancurkan | Versi kunci tersebut sudah dihancurkan. | Jika versi kunci tersebut dihancurkan, Anda tidak dapat menggunakannya untuk mengenkripsi atau mendekripsi data. Instance Looker (Google Cloud core) harus dihapus. |
Versi kunci Cloud KMS dinonaktifkan | Versi kunci tersebut dinonaktifkan. | Aktifkan kembali versi kunci Cloud KMS. |
Izin tidak memadai untuk menggunakan kunci Cloud KMS | Peran cloudkms.cryptoKeyEncrypterDecrypter tidak ada pada akun pengguna atau layanan yang Anda gunakan untuk menjalankan operasi pada instance Looker (inti Google Cloud), atau versi kunci Cloud KMS tidak ada.
|
Tambahkan peran Jika peran tersebut sudah ada di akun Anda, lihat bagian Membuat key ring dan kunci untuk mempelajari cara membuat versi kunci baru. Kemudian, selesaikan kembali langkah-langkah pembuatan instance. |
Kunci Cloud KMS tidak ditemukan. | Versi kunci tersebut tidak ada. | Buat versi kunci baru dan selesaikan kembali langkah-langkah pembuatan instance. Lihat bagian Membuat key ring dan kunci. |
Instance Looker (Google Cloud core) dan versi kunci Cloud KMS berada di region yang berbeda | Versi kunci Cloud KMS dan instance Looker (inti Google Cloud) harus berada di region yang sama. Opsi ini tidak akan berfungsi jika versi kunci Cloud KMS berada di region global atau multi-region. | Buat versi kunci di region yang sama tempat Anda ingin membuat instance, lalu selesaikan kembali langkah-langkah pembuatan instance. Lihat bagian Membuat key ring dan kunci. |
Langkah selanjutnya
- Mengelola instance Looker (Google Cloud core) dari konsol Google Cloud
- Setelan admin Looker (Google Cloud core)