Secara default, Google Cloud akan otomatis mengenkripsi data saat dalam penyimpanan menggunakan kunci enkripsi yang dikelola oleh Google. Jika Anda memiliki persyaratan kepatuhan atau peraturan khusus terkait kunci yang melindungi data, Anda dapat menggunakan kunci enkripsi yang dikelola pelanggan (CMEK) untuk enkripsi tingkat aplikasi Looker (inti Google Cloud).
Untuk mengetahui informasi selengkapnya tentang CMEK secara umum, termasuk waktu dan alasan mengaktifkannya, lihat Dokumentasi Cloud Key Management Service.
Halaman ini menjelaskan cara mengonfigurasi instance Looker (Google Cloud core) untuk menggunakan CMEK.
Bagaimana cara Looker (Google Cloud core) berinteraksi dengan CMEK?
Looker (inti Google Cloud) menggunakan satu kunci CMEK (melalui hierarki kunci sekunder) untuk membantu melindungi data sensitif yang dikelola oleh instance Looker (inti Google Cloud). 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 sekitar setiap lima menit untuk memverifikasi bahwa kunci masih valid.
Jenis instance Looker (Google Cloud core) apa 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 sudah ada.
- Edisi instance harus berupa Enterprise atau Sematan.
Alur kerja untuk membuat instance Looker (Google Cloud core) dengan CMEK
Halaman ini akan memandu Anda melalui langkah-langkah berikut untuk menyiapkan CMEK untuk instance Looker (Google Cloud core).
- Siapkan 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. Lokasi adalah region Google Cloud tempat Anda ingin membuat instance Looker (Google Cloud core).
- Khusus pengguna Google Cloud CLI, Terraform, dan API: Salin atau tulis kunci ID (KMS_KEY_ID) dan lokasi untuk kunci tersebut, beserta ID (KMS_KEYRING_ID) untuk key ring. Anda memerlukan informasi ini saat memberikan akses ke kunci kepada akun layanan.
- Khusus pengguna Google Cloud CLI, Terraform, dan API: Berikan akses akun layanan ke kunci.
- Buka project Anda dan buat instance Looker (Google Cloud core) dengan opsi berikut:
- Pilih lokasi yang sama dengan yang digunakan kunci enkripsi yang dikelola pelanggan.
- Tetapkan edisi ke Enterprise atau Sematan.
- Aktifkan konfigurasi kunci yang dikelola pelanggan.
- Tambahkan kunci enkripsi yang dikelola pelanggan berdasarkan nama atau ID.
Setelah semua langkah ini selesai, instance Looker (inti Google Cloud) Anda akan diaktifkan dengan CMEK.
Sebelum memulai
Jika Anda belum melakukannya, pastikan lingkungan Anda 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 Anda buat dalam prosedur ini, buat project, bukan memilih project yang ada. Setelah menyelesaikan langkah-langkah ini, Anda dapat menghapus project, yang akan menghapus resource yang terkait dengan project tersebut.
- Pastikan penagihan diaktifkan untuk project Google Cloud Anda. Pelajari cara memeriksa apakah penagihan telah diaktifkan pada suatu project.
- Menginstal Google Cloud CLI.
Untuk melakukan inisialisasi gcloud CLI, jalankan perintah berikut:
gcloud init
Aktifkan Cloud Key Management Service API.
Aktifkan Looker (Google Cloud core) API.
Peran yang diperlukan
Untuk memahami peran yang diperlukan dalam menyiapkan CMEK, buka halaman Kontrol akses dengan IAM di 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. Untuk mengaktifkan CMEK untuk instance dalam konsol Google Cloud, pastikan Anda memiliki peran IAM Pengenkripsi/Pendekripsi CryptoKey Cloud KMS 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 sedang digunakan.
Membuat akun layanan
Jika Anda menggunakan Google Cloud CLI, Terraform, atau API untuk membuat instance Looker (inti Google Cloud), dan akun layanan Looker belum dibuat untuk project Google Cloud tempatnya akan berada, Anda perlu membuat akun layanan untuk project tersebut. Jika Anda akan membuat lebih dari satu instance Looker (Google Cloud core) dalam project, akun layanan yang sama akan 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 (inti Google Cloud) 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:
- Pengguna Akun Layanan (
roles/iam.serviceAccountUser
): Mencakup izin untuk mencantumkan akun layanan, mendapatkan detail tentang akun layanan, dan meniru identitas 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 (inti Google Cloud) 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 membuat akun layanan dan menampilkan nama akun layanan. Anda dapat menggunakan nama akun layanan ini selama prosedur di bagian 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 (inti Google Cloud) atau di project pengguna yang 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 Tujuan kunci harus Symmetric encrypt/decrypt.
Lihat bagian Merotasi kunci untuk mempelajari cara memutar kunci dan membuat versi kunci baru.
Salin atau tulis KMS_KEY_ID
dan KMS_KEYRING_ID
Jika Anda menggunakan Google Cloud CLI, Terraform, atau API untuk menyiapkan instance Looker (inti Google Cloud), ikuti petunjuk di halaman dokumentasi Mendapatkan ID resource Cloud KMS untuk menemukan ID resource untuk ring kunci dan kunci yang baru saja Anda buat. Salin atau tulis kunci ID (KMS_KEY_ID) dan lokasi untuk kunci tersebut, beserta ID (KMS_KEYRING_ID) untuk key ring. Anda memerlukan informasi ini saat memberikan akses ke kunci kepada akun layanan.
Beri akses akun layanan ke kunci
Anda hanya perlu melakukan prosedur ini jika kedua hal berikut benar:
- Anda menggunakan Google Cloud CLI, Terraform, atau API.
- Akun layanan belum diberi akses ke kunci. Misalnya, jika sudah ada instance Looker (Google Cloud core) di 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 Cloud KMS Admin pada kunci yang sedang 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 hingga izin diterapkan.
Membuat instance Looker (Google Cloud core) dengan CMEK
Untuk membuat instance dengan kunci enkripsi yang dikelola pelanggan di konsol Google Cloud, ikuti langkah-langkah di bagian Membuat cincin kunci dan kunci, yang ditampilkan sebelumnya, untuk membuat cincin kunci dan kunci di region yang sama dengan yang akan Anda gunakan untuk instance Looker (inti Google Cloud). Selanjutnya, menggunakan setelan berikut, ikuti petunjuk untuk membuat instance Looker (inti Google Cloud).
Untuk membuat instance Looker (Google Cloud core) dengan setelan CMEK, pilih salah satu opsi berikut:
console
- Pastikan Anda memiliki peran IAM Pengenkripsi/Pendekripsi CryptoKey Cloud KMS pada kunci yang sedang digunakan untuk CMEK.
- Di bagian Edition pada halaman Create an instance, Anda harus memilih edisi Enterprise atau Embed untuk menggunakan CMEK.
- Di bagian Encryption pada halaman Create an instance, pilih tombol pilihan Customer-managed encryption key (CMEK). Tindakan ini akan menampilkan kolom drop-down Pilih kunci yang dikelola pelanggan.
- Di kolom Select a customer managed key, tetapkan kunci yang ingin Anda gunakan. Kunci harus berada di key ring yang memiliki lokasi yang ditetapkan ke region yang sama dengan instance Looker (Google Cloud core) yang Anda buat, atau 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 Anda akan muncul dalam 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 Masukkan ID resource kunci, tempat Anda dapat memasukkan ID kunci. Setelah memasukkan ID, pilih Simpan.
- Setelah memilih kunci, pesan akan muncul 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, pesan akan muncul. Jika hal ini terjadi, klik Grant untuk memberikan peran IAM Encrypter/Decrypter CryptoKey Cloud KMS ke akun layanan pada kunci KMS yang dipilih.
- Setelah Anda menyelesaikan semua konfigurasi untuk instance Looker (Google Cloud core), klik Create.
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 secret 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
harus berupacore-embed-annual
ataucore-enterprise-annual
CONSUMER_NETWORK
: jaringan VPC atau VPC Bersama. Harus ditetapkan jika Anda membuat instance IP pribadi.RESERVED_RANGE
: rentang alamat IP dalam VPC tempat Google akan menyediakan subjaringan untuk instance Looker (inti Google Cloud) Anda. Harus ditetapkan jika Anda membuat instance IP pribadi.
Anda dapat menyertakan flag berikut:
--private-ip-enabled
mengaktifkan IP pribadi.--public-ip-enabled
mengaktifkan IP publik.--no-public-ip-enabled
menonaktifkan IP publik.
Terraform
Gunakan resource Terraform berikut untuk menyediakan instance Looker (Google Cloud core) Enterprise 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.
Untuk melihat apakah CMEK diaktifkan, pilih salah satu opsi berikut:
console
- Di konsol Google Cloud, buka halaman Looker Instances.
- Klik nama instance untuk membuka halaman Detail. Jika instance mengaktifkan CMEK, baris Enkripsi akan menunjukkan enkripsi yang digunakan untuk instance tersebut. Kolom Kunci enkripsi yang dikelola pelanggan (CMEK) 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 dikonfigurasi dengan CMEK.
Gunakan Cloud External Key Manager (Cloud EKM)
Untuk melindungi data dalam instance Looker (Google Cloud core), Anda dapat menggunakan kunci yang Anda kelola dalam partner pengelolaan kunci eksternal yang didukung. Untuk informasi selengkapnya, lihat halaman dokumentasi Cloud External Key Manager, termasuk bagian Pertimbangan.
Jika Anda sudah siap untuk 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 dalam sistem partner pengelolaan kunci eksternal.
Mengganti kunci Anda
Sebaiknya Anda memutar kunci untuk membantu meningkatkan keamanan. Setiap kali kunci dirotasi, kunci akan membuat versi kunci baru. Untuk mempelajari rotasi kunci lebih lanjut, lihat halaman dokumentasi Rotasi kunci.
Jika Anda merotasi kunci yang digunakan untuk membantu mengamankan instance Looker (inti Google Cloud), 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 selama minimal 45 hari setelah rotasi untuk membantu memastikan bahwa item tersebut tetap dapat diakses. Versi kunci disimpan secara default hingga dinonaktifkan atau dihancurkan.
Menonaktifkan dan mengaktifkan kembali versi kunci
Lihat halaman dokumentasi berikut:
Jika versi kunci yang digunakan untuk membantu mengamankan instance Looker (inti Google Cloud) dinonaktifkan, instance Looker (inti Google Cloud) harus berhenti beroperasi, menghapus data sensitif yang tidak dienkripsi yang mungkin ada di memori, dan menunggu hingga kunci tersedia lagi. Prosesnya adalah sebagai berikut:
- Versi kunci yang digunakan untuk membantu mengamankan instance Looker (Google Cloud core) dinonaktifkan.
- Dalam waktu sekitar 15 menit, instance Looker (inti Google Cloud) 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 (inti Google Cloud) akan menampilkan pesan error.
- Jika mengaktifkan kembali versi kunci, Anda harus memicu restart instance secara manual.
Jika Anda menonaktifkan versi kunci dan tidak ingin menunggu instance Looker (Google Cloud core) berhenti dengan sendirinya, Anda dapat memicu mulai ulang instance 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 dapat diakses. Instance harus dihapus, dan Anda tidak akan dapat mengakses datanya.
Memecahkan masalah
Bagian ini menjelaskan hal-hal yang perlu dicoba saat Anda menerima pesan error saat menyiapkan atau menggunakan instance yang mendukung CMEK.
Operasi administrator Looker (inti Google Cloud), seperti membuat atau memperbarui, mungkin gagal karena error Cloud KMS dan peran atau izin yang hilang. Penyebab kegagalan umum meliputi hilangnya versi kunci Cloud KMS, versi kunci Cloud KMS dinonaktifkan atau dihancurkan, izin IAM tidak memadai untuk mengakses versi kunci Cloud KMS, atau versi kunci Cloud KMS berada di region yang berbeda dengan instance Looker (inti Google Cloud). 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 tepat. |
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. |
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 di 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 langkah-langkah pembuatan instance lagi. |
Kunci Cloud KMS tidak ditemukan. | Versi kunci tersebut tidak ada. | Buat versi kunci baru dan selesaikan langkah-langkah pembuatan instance lagi. 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. Tindakan ini tidak dapat dilakukan jika versi kunci Cloud KMS berada di region global atau multi-region. | Buat versi kunci pada region yang sama tempat Anda membuat instance, dan selesaikan langkah-langkah pembuatan instance lagi. 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)