Halaman ini menjelaskan cara kerja kunci enkripsi yang dikelola pelanggan (CMEK) dengan tugas migrasi Database Migration Service.
Secara default, Database Migration Service (untuk Oracle ke AlloyDB untuk PostgreSQL) mengenkripsi konten pelanggan saat dalam penyimpanan. Database Migration Service (untuk Oracle ke AlloyDB untuk PostgreSQL) 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 terintegrasi CMEK, termasuk Database Migration Service (untuk Oracle ke AlloyDB untuk PostgreSQL). Dengan menggunakan kunci Cloud KMS, Anda dapat mengontrol tingkat perlindungan, lokasi, jadwal rotasi, izin penggunaan dan akses, serta batas kriptografisnya. Dengan Cloud KMS, Anda juga dapat melacak penggunaan kunci, melihat log audit, dan mengontrol siklus proses kunci. Alih-alih Google yang memiliki dan mengelola kunci enkripsi kunci (KEK) simetris yang melindungi data Anda, Andalah yang mengontrol dan mengelola kunci ini di Cloud KMS.
Setelah Anda menyiapkan resource dengan CMEK, pengalaman mengakses resource Database Migration Service (untuk Oracle ke AlloyDB untuk PostgreSQL) mirip dengan menggunakan enkripsi default Google. Untuk mengetahui informasi selengkapnya tentang opsi enkripsi Anda, lihat Kunci enkripsi yang dikelola pelanggan (CMEK).
Region tempat Database Migration Service mendukung CMEK
CMEK tersedia di semua lokasi Database Migration Service.
CMEK dengan Kunci Otomatis Cloud KMS
Anda dapat membuat CMEK secara manual untuk melindungi resource Database Migration Service (untuk Oracle ke AlloyDB untuk PostgreSQL) atau menggunakan Cloud KMS Autokey. Dengan Autokey, ring kunci dan kunci dibuat sesuai permintaan sebagai bagian dari pembuatan atau pembaruan resource di Database Migration Service (untuk Oracle ke AlloyDB untuk PostgreSQL). Agen layanan yang menggunakan kunci untuk operasi enkripsi dan dekripsi akan dibuat jika belum ada dan diberi peran Identity and Access Management (IAM) yang diperlukan. Untuk mengetahui informasi selengkapnya, lihat Ringkasan kunci otomatis.
Memahami akun layanan
Jika tugas migrasi Database Migration Service telah mengaktifkan CMEK, Anda harus menggunakan akun layanan untuk meminta akses kunci dari Cloud Key Management Service.
Untuk menggunakan CMEK pada project, Anda harus memiliki akun layanan dan harus memberikan akses kunci ke akun layanan. Akun layanan harus ada di dalam project. Akun layanan dapat dilihat di semua region.
Memahami kunci
Di Cloud Key Management Service, Anda perlu membuat keyring dengan kunci kriptografis, yang ditetapkan dengan lokasi. Saat membuat tugas migrasi baru di Database Migration Service, Anda memilih kunci ini untuk mengenkripsi tugas migrasi.
Anda perlu mengetahui ID kunci dan region kunci saat membuat tugas migrasi baru yang menggunakan CMEK. Anda harus menempatkan database tujuan di region yang sama dengan CMEK yang terkait dengan tugas migrasi. Anda dapat membuat satu project untuk kunci dan database tujuan, atau project yang berbeda untuk masing-masing kunci.
CMEK menggunakan format berikut:
projects/[CMEK_ENABLED_PROJECT]/locations/[REGION]/keyRings/[RING_NAME]/cryptoKeys/[KEYNAME]
Bagaimana cara membuat data terenkripsi CMEK tidak dapat diakses secara permanen?
Anda mungkin ingin menghancurkan data yang dienkripsi dengan CMEK secara permanen. Untuk melakukannya, Anda menghancurkan versi CMEK. Anda tidak dapat menghancurkan keyring atau kunci, tetapi Anda dapat menghancurkan versi kunci dari kunci tersebut.
Pembatasan
Pembatasan berikut berlaku saat menggunakan CMEK:
Anda tidak dapat memperbarui CMEK pada tugas migrasi yang sedang berjalan.
Meskipun Anda dapat menggunakan CMEK untuk mengenkripsi data dari database sumber, Anda tidak dapat menggunakan kunci ini untuk mengenkripsi metadata tugas migrasi, seperti ID tugas migrasi, alamat IP database sumber, dan sebagainya.
Menggunakan CMEK
Bagian berikut menjelaskan cara menyiapkan CMEK untuk
Sebelum memulai
- Sign in to your Google Cloud account. If you're new to Google Cloud, create an account to evaluate how our products perform in real-world scenarios. New customers also get $300 in free credits to run, test, and deploy workloads.
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
-
Make sure that billing is enabled for your Google Cloud project.
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
-
Make sure that billing is enabled for your Google Cloud project.
- Instal dan lakukan inisialisasi Google Cloud CLI.
- Pastikan Anda memiliki peran Admin Migrasi Database yang ditetapkan ke akun pengguna Anda.
-
Enable the Cloud Key Management Service API.
- Mengaktifkan API Database Migration Service.
Alur kerja untuk membuat tugas migrasi di Database Migration Service dengan CMEK
Khusus pengguna gcloud CLI dan API: Pastikan Anda memiliki akun layanan untuk setiap project yang memerlukan CMEK. Untuk mengetahui informasi selengkapnya, lihat Membuat akun layanan.
Buat keyring dan kunci, lalu tetapkan lokasi untuk setiap kunci. Lokasinya adalah region Google Cloud .
Salin atau tulis kunci ID (
KMS_KEY_ID
) dan lokasi untuk kunci, serta ID (KMS_KEYRING_ID
) untuk KeyRing. Anda memerlukan informasi ini saat memberikan akses kunci ke akun layanan.Buka project, buat tugas migrasi di Database Migration Service, dan gunakan CMEK Anda di bagian Advanced encryption options.
Tugas migrasi Anda di Database Migration Service kini diaktifkan dengan CMEK.
Membuat akun layanan
Anda perlu membuat akun layanan untuk setiap project yang memerlukan CMEK. 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, serta melihat atau mengubah kebijakan Database Migration Service (untuk Oracle ke AlloyDB untuk PostgreSQL) di akun layanan.
Anda hanya dapat menggunakan perintah gcloud CLI
untuk membuat jenis
akun layanan yang diperlukan untuk CMEK.
Untuk membuat akun layanan dengan gcloud CLI
, jalankan perintah berikut:
gcloud beta services identity create \ --service=datamigration.googleapis.com\ --project=PROJECT_ID
Perintah sebelumnya menampilkan nama akun layanan. Anda dapat menggunakan nama akun layanan ini selama prosedur di bagian Memberi akses kunci ke akun layanan.
Buat kunci
Anda dapat membuat kunci di project Google Cloud yang sama dengan tugas migrasi di Database Migration Service, atau di project pengguna yang terpisah. Lokasi key ring Cloud KMS harus cocok dengan region database tujuan yang terkait dengan tugas migrasi. Kunci multi-region atau region global tidak didukung. Jika region tidak cocok, Anda tidak dapat membuat tugas migrasi.
Untuk membuat kunci Cloud KMS:
Konsol
- Di konsol Google Cloud, buka halaman Kunci kriptografis.
- Klik Create key ring.
- Tambahkan Nama key ring. Catat nama ini karena Anda akan memerlukannya saat memberikan akses kunci ke akun layanan.
- Tambahkan Lokasi key ring.
- Klik Buat. Halaman Buat kunci akan terbuka.
- Tambahkan Nama kunci.
- Pilih Tujuan (simetris atau asimetris).
- Pilih Periode rotasi dan Mulai pada tanggal.
- Klik Buat.
- Pada tabel Kunci , klik tiga titik di kolom terakhir, lalu
pilih Salin ID resource atau tuliskan. Ini adalah
KMS_KEY_ID
. Anda memerlukanKMS_KEY_ID
saat memberikan akses kunci ke akun layanan.
gcloud CLI
- Buat key ring baru.
Tuliskan nama ini karena Anda akan memerlukannya saat memberikan akses kunci ke akun layanan.gcloud kms keyrings create KMS_KEYRING_ID \ --location=REGION
- Buat kunci pada key ring.
Tuliskan nama ini karena Anda akan memerlukannya saat memberikan akses kunci ke akun layanan.gcloud kms keys create KMS_KEY_ID \ --location=REGION \ --keyring=KMS_KEYRING_ID \ --purpose=encryption
Memberi akun layanan Anda akses ke kunci
Anda hanya perlu melakukan prosedur ini jika menggunakan gcloud CLI
atau API.
Untuk memberikan akses ke akun layanan, gunakan kode berikut:
gcloud kms keys add-iam-policy-binding KMS_KEY_ID \ --location=REGION \ --keyring=KMS_KEYRING_ID \ --member=serviceAccount:service-PROJECT_NUMBER@gcp-sa-datamigration.iam.gserviceaccount.com \ --role=roles/cloudkms.cryptoKeyEncrypterDecrypter
Membuat tugas migrasi di Database Migration Service dengan CMEK
Sebagai bagian dari membuat tugas migrasi di Database Migration Service, Anda dapat menggunakan CMEK untuk mengelola enkripsi data.
Menonaktifkan dan mengaktifkan kembali versi kunci
Lihat topik berikut: