Menggunakan kunci enkripsi yang dikelola pelanggan (CMEK) untuk migrasi berkelanjutan

Ringkasan

Halaman ini menjelaskan cara kerja kunci enkripsi yang dikelola pelanggan (CMEK) dengan tugas migrasi Database Migration Service.

Apakah CMEK cocok untuk Anda?

CMEK ditujukan untuk organisasi yang memiliki data sensitif atau teregulasi yang mengharuskan mereka mengelola kunci enkripsinya sendiri.

Enkripsi yang dikelola Google versus enkripsi yang dikelola pelanggan

Dengan fitur CMEK, Anda dapat menggunakan kunci kriptografis Anda sendiri untuk data yang ditranspor oleh Database Migration Service. Setelah menambahkan CMEK, setiap kali panggilan API dilakukan, Database Migration Service akan menggunakan kunci Anda untuk mengakses data.

CMEK, termasuk software, hardware, dan kunci eksternal, semuanya dikelola melalui Cloud Key Management Service (KMS) API.

Lokasi mana yang mendukung tugas migrasi Database Migration Service yang mengaktifkan CMEK?

CMEK tersedia di semua lokasi Database Migration Service.

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 agar 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

Setelah memahami CMEK, Anda siap menyiapkan akun layanan dan kunci untuk CMEK. Selain itu, Anda akan mempelajari cara menyiapkan tugas migrasi untuk menggunakan CMEK. Untuk mempelajari CMEK lebih lanjut, lihat Ringkasan.

Sebelum memulai

  1. 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.
  2. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Go to project selector

  3. Make sure that billing is enabled for your Google Cloud project.

  4. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Go to project selector

  5. Make sure that billing is enabled for your Google Cloud project.

  6. Instal dan lakukan inisialisasi Cloud SDK.
  7. Pastikan Anda memiliki peran Admin Migrasi Database yang ditetapkan ke akun pengguna Anda.

    Buka halaman IAM

  8. Enable the Cloud Key Management Service API.

    Enable the API

  9. Mengaktifkan API Database Migration Service.

    Mengaktifkan API

Alur kerja untuk membuat tugas migrasi di Database Migration Service dengan CMEK

  1. Khusus pengguna gcloud dan API: Pastikan Anda memiliki akun layanan untuk setiap project yang memerlukan CMEK. Untuk mengetahui informasi selengkapnya, lihat Membuat akun layanan.

  2. Buat keyring dan kunci, lalu tetapkan lokasi untuk setiap kunci. Lokasinya adalah region Google Cloud .

  3. Berikan akses kunci ke akun layanan.

  4. 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.

  5. 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.

Saat ini, Anda hanya dapat menggunakan perintah gcloud untuk membuat jenis akun layanan yang diperlukan untuk CMEK.

Untuk membuat akun layanan dengan gcloud, 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

  1. Di konsol Google Cloud , buka halaman Kunci kriptografis.
  2. Klik Create key ring.
  3. Tambahkan Nama key ring. Catat nama ini karena Anda akan memerlukannya saat memberikan akses kunci ke akun layanan.
  4. Tambahkan Lokasi key ring.
  5. Klik Buat. Halaman Buat kunci akan terbuka.
  6. Tambahkan Nama kunci.
  7. Pilih Tujuan (simetris atau asimetris).
  8. Pilih Periode rotasi dan Mulai pada tanggal.
  9. Klik Buat.
  10. Pada tabel Kunci , klik tiga titik di kolom terakhir, lalu pilih Salin ID resource atau tuliskan. Ini adalah KMS_KEY_ID. Anda memerlukan KMS_KEY_ID saat memberikan akses kunci ke akun layanan.

gcloud

  1. Buat key ring baru.
    gcloud kms keyrings create KMS_KEYRING_ID \
    --location=REGION
      
    Tuliskan nama ini karena Anda akan memerlukannya saat memberikan akses kunci ke akun layanan.
  2. Buat kunci pada key ring.
    gcloud kms keys create KMS_KEY_ID \
    --location=REGION \
    --keyring=KMS_KEYRING_ID \
    --purpose=encryption
      
    Tuliskan nama ini karena Anda akan memerlukannya saat memberikan akses kunci ke akun layanan.

Memberikan akses kunci ke akun layanan

Anda hanya perlu melakukan prosedur ini jika menggunakan gcloud 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: