Dokumen ini menunjukkan cara memigrasikan kunci Cloud EKM Anda antara tingkat perlindungan
eksternal melalui internet (EXTERNAL) dan eksternal melalui VPC (EXTERNAL_VPC). Migrasi kunci eksternal hanya didukung untuk
gcloud CLI dan Cloud KMS API.
Kasus penggunaan migrasi
Jika kunci memiliki tingkat perlindungan EXTERNAL atau EXTERNAL_VPC, Anda dapat melakukan salah satu hal berikut:
- Putar kunci, buat versi kunci baru dengan tingkat perlindungan Cloud EKM yang berbeda dari kunci induk. Misalnya, Anda dapat merotasi kunci di tingkat perlindungan
EXTERNALuntuk membuat versi kunci baru di tingkat perlindunganEXTERNAL_VPC. - Perbarui versi kunci untuk menggunakan tingkat perlindungan Cloud EKM yang berbeda
untuk materi kunci yang sama. Misalnya, Anda dapat memperbarui versi kunci di tingkat perlindungan
EXTERNALuntuk menggunakan materi kunci yang sama dan resource versi kunci yang sama dengan tingkat perlindunganEXTERNAL_VPC. - Merotasi kunci
EXTERNAL_VPCatau memperbarui versi kunciEXTERNAL_VPCuntuk menggunakanEkmConnectionyang berbeda dengan kunci induk.
Memigrasikan versi kunci yang ada di antara dua tingkat perlindungan Cloud EKM memungkinkan Anda mengubah cara mengakses materi kunci eksternal tanpa perlu mengonfigurasi ulang aplikasi atau mengenkripsi ulang data dan tanpa waktu henti. Kunci yang dimigrasikan menggunakan materi kunci yang sama dan ID resource yang sama.
Saat memigrasikan versi kunci dari tingkat perlindungan EXTERNAL ke tingkat perlindungan EXTERNAL_VPC, Anda mengaitkan resource EkmConnection dengan versi kunci dan menambahkan ekmConnectionKeyPath. Saat memigrasikan versi kunci
dari tingkat perlindungan EXTERNAL_VPC ke EXTERNAL, Anda menambahkan
externalKeyUri untuk menggantikan EkmConnection dan ekmConnectionKeyPath.
Jika versi kunci memiliki EkmConnection yang terkait dengannya, koneksi tersebut akan digunakan untuk semua operasi versi kunci, meskipun kunci induk memiliki EkmConnection yang berbeda.
Bermigrasi ke eksternal melalui VPC
Bermigrasi dari tingkat perlindungan eksternal melalui internet ke tingkat perlindungan eksternal melalui VPC akan meningkatkan keandalan kunci Cloud EKM Anda. Anda mendapatkan manfaat dari jaringan Virtual Private Cloud (VPC), termasuk isolasi yang kuat dan dukungan operasional yang lebih baik.
Anda juga dapat melakukan migrasi di antara berbagai konfigurasi VPC—misalnya, untuk mengupgrade dari penggunaan VPC dengan Partner Interconnect ke penggunaan VPC dengan Dedicated Interconnect.
Sebelum memulai
Sebelum dapat memigrasikan kunci Cloud EKM, Anda harus memiliki hal berikut:
- Google Cloud Project dengan penagihan dan Cloud KMS API diaktifkan.
-
Untuk mendapatkan izin yang diperlukan untuk memigrasikan kunci eksternal, minta administrator untuk memberi Anda peran IAM Admin Cloud KMS (
roles/cloudkms.admin) di project atau resource induk. Untuk mengetahui informasi selengkapnya tentang cara memberikan peran, lihat Mengelola akses ke project, folder, dan organisasi.Peran bawaan ini berisi izin
cloudkms.cryptoKeys.update, yang diperlukan untuk memigrasikan kunci eksternal.Anda mungkin juga bisa mendapatkan izin ini dengan peran khusus atau peran bawaan lainnya.
- Jika Anda bermigrasi ke tingkat perlindungan eksternal melalui internet (
EXTERNAL), Anda harus Menyiapkan Cloud EKM melalui internet jika belum melakukannya. - Jika Anda bermigrasi ke tingkat perlindungan eksternal melalui VPC (
EXTERNAL_VPC) atau bermigrasi ke jaringan VPC baru, Anda harus Membuat koneksi EKM jika belum melakukannya.
Membuat versi kunci eksternal yang dikelola secara manual melalui VPC baru
gcloud
Untuk menggunakan Cloud KMS di command line, Instal atau upgrade ke versi terbaru Google Cloud CLI terlebih dahulu.
Untuk membuat versi kunci eksternal baru melalui VPC pada kunci Cloud EKM yang ada, gunakan perintah kms keys versions create dengan tanda --protection-level,
--crypto-key-backend, dan --ekm-connection-key-path:
gcloud kms keys versions create \
--key KEY_NAME \
--keyring KEY_RING \
--location LOCATION \
--protection-level "external-vpc" \
--crypto-key-backend EKM_CONNECTION_PATH \
--ekm-connection-key-path EXTERNAL_KEY_PATH
Ganti kode berikut:
KEY_NAME: nama kunci.KEY_RING: nama key ring yang berisi kunci.LOCATION: lokasi Cloud KMS key ring.EKM_CONNECTION_PATH: ID resource koneksi EKM yang ingin Anda gunakan untuk versi kunci baru—misalnya,projects/PROJECT_ID/locations/LOCATION/ekmConnections/EKM_CONNECTIONEXTERNAL_KEY_PATH: jalur ke versi kunci eksternal baru dari koneksi EKM Anda—misalnya,v0/path/to/my/key.
Jika kunci induk adalah
Jika kunci adalah kunci enkripsi simetris dan Anda ingin menjadikan versi kunci baru sebagai versi utama, tambahkan tanda --primary.
Untuk mengetahui informasi tentang semua flag dan kemungkinan nilai, jalankan perintah dengan flag --help.
REST
Contoh ini menggunakan curl sebagai klien HTTP untuk menunjukkan penggunaan API. Untuk mengetahui informasi selengkapnya tentang kontrol akses, lihat Mengakses Cloud KMS API.
Untuk membuat versi kunci eksternal melalui VPC yang baru pada kunci Cloud EKM yang ada, buat versi kunci baru dengan memanggil metode CryptoKeyVersions.create.
curl "https://cloudkms.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/keyRings/KEY_RING/cryptoKeys/KEY_NAME/cryptoKeyVersions" \
--request "POST" \
--header "authorization: Bearer TOKEN" \
--header "content-type: application/json" \
--data '{
"protectionLevel": "EXTERNAL_VPC",
"externalProtectionLevelOptions": {
"ekmConnectionKeyPath": "EXTERNAL_KEY_PATH",
"ekmConnectionBackendOverride": "EKM_CONNECTION_PATH"
},
}'
PROJECT_ID: ID project yang berisi kunci yang ingin Anda ganti.KEY_NAME: nama kunci.KEY_RING: nama key ring yang berisi kunci.LOCATION: lokasi Cloud KMS key ring.EKM_CONNECTION_PATH: ID resource koneksi EKM yang ingin Anda gunakan untuk versi kunci baru—misalnya,projects/PROJECT_ID/locations/LOCATION/ekmConnections/EKM_CONNECTIONEXTERNAL_KEY_PATH: jalur ke versi kunci eksternal baru dari koneksi EKM Anda—misalnya,v0/path/to/my/key.
Perintah ini membuat versi kunci baru, tetapi tidak menetapkannya sebagai versi utama.
Untuk menetapkan versi kunci baru sebagai kunci utama, lihat Menetapkan versi yang ada sebagai versi kunci utama.
Membuat versi kunci eksternal baru melalui internet
gcloud
Untuk menggunakan Cloud KMS di command line, Instal atau upgrade ke versi terbaru Google Cloud CLI terlebih dahulu.
Untuk membuat versi kunci eksternal baru melalui internet pada kunci Cloud EKM yang ada, gunakan perintah kms keys versions create dengan flag --protection-level dan --external-key-uri:
gcloud kms keys versions create \
--key KEY_NAME \
--keyring KEY_RING \
--location LOCATION \
--protection-level "external" \
--external-key-uri EXTERNAL_KEY_URI
Ganti kode berikut:
KEY_NAME: nama kunci.KEY_RING: nama key ring yang berisi kunci.LOCATION: lokasi Cloud KMS key ring.EXTERNAL_KEY_URI: URI ke versi kunci eksternal baru.
Jika kunci adalah kunci enkripsi simetris dan Anda ingin menjadikan versi kunci baru sebagai versi utama, tambahkan tanda --primary.
Untuk mengetahui informasi tentang semua flag dan kemungkinan nilai, jalankan perintah dengan flag --help.
REST
Contoh ini menggunakan curl sebagai klien HTTP untuk menunjukkan penggunaan API. Untuk mengetahui informasi selengkapnya tentang kontrol akses, lihat Mengakses Cloud KMS API.
Untuk membuat versi kunci eksternal baru melalui internet pada kunci Cloud EKM yang ada, buat versi kunci baru dengan memanggil metode CryptoKeyVersions.create.
curl "https://cloudkms.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/keyRings/KEY_RING/cryptoKeys/KEY_NAME/cryptoKeyVersions" \
--request "POST" \
--header "authorization: Bearer TOKEN" \
--header "content-type: application/json" \
--data '{
"protectionLevel": "EXTERNAL",
"externalProtectionLevelOptions": {
"externalKeyUri": "EXTERNAL_KEY_URI",
},
}'
PROJECT_ID: ID project yang berisi kunci yang ingin Anda ganti.KEY_NAME: nama kunci.KEY_RING: nama key ring yang berisi kunci.LOCATION: lokasi Cloud KMS key ring.EXTERNAL_KEY_URI: URI ke versi kunci eksternal baru.
Perintah ini membuat versi kunci baru, tetapi tidak menetapkannya sebagai versi utama.
Untuk menetapkan versi kunci baru sebagai kunci utama, lihat Menetapkan versi yang ada sebagai versi kunci utama.
Memperbarui versi kunci untuk menggunakan mode perlindungan eksternal melalui VPC
gcloud
Untuk menggunakan Cloud KMS di command line, Instal atau upgrade ke versi terbaru Google Cloud CLI terlebih dahulu.
Untuk memperbarui versi kunci external yang ada ke tingkat perlindungan external-vpc, gunakan perintah kms keys versions update dengan flag --protection-level, --crypto-key-backend, dan --ekm-connection-key-path:
gcloud kms keys versions update KEY_VERSION \
--key KEY_NAME \
--keyring KEY_RING \
--location LOCATION \
--protection-level "external-vpc" \
--crypto-key-backend EKM_CONNECTION_PATH \
--ekm-connection-key-path EXTERNAL_KEY_PATH
Ganti kode berikut:
KEY_VERSION: nomor versi kunci yang ingin Anda migrasikan—misalnya,3.KEY_NAME: nama kunci.KEY_RING: nama key ring yang berisi kunci.LOCATION: lokasi Cloud KMS key ring.EKM_CONNECTION_PATH: ID resource koneksi EKM yang ingin Anda gunakan untuk versi kunci—misalnya,projects/PROJECT_ID/locations/LOCATION/ekmConnections/EKM_CONNECTIONEXTERNAL_KEY_PATH: jalur baru ke materi kunci eksternal yang ada dari koneksi EKM Anda—misalnya,v0/path/to/my/key. Koneksi EKM dan jalur kunci harus mengarah ke materi kunci yang sama dengan URI kunci saat ini.
Untuk mengetahui informasi tentang semua flag dan kemungkinan nilai, jalankan perintah dengan flag --help.
REST
Contoh ini menggunakan curl sebagai klien HTTP untuk menunjukkan penggunaan API. Untuk mengetahui informasi selengkapnya tentang kontrol akses, lihat Mengakses Cloud KMS API.
Untuk memperbarui versi kunci external yang ada ke tingkat perlindungan external-vpc, panggil metode CryptoKeyVersions.patch.
curl "https://cloudkms.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/keyRings/KEY_RING/cryptoKeys/KEY_NAME/cryptoKeyVersions/KEY_VERSION?updateMask=protectionLevel,externalProtectionLevelOptions" \
--request "PATCH" \
--header "authorization: Bearer TOKEN" \
--header "content-type: application/json" \
--data '{
"protectionLevel": "EXTERNAL_VPC",
"externalProtectionLevelOptions": {
"ekmConnectionKeyPath": "EXTERNAL_KEY_PATH",
"ekmConnectionBackendOverride": "EKM_CONNECTION_PATH"
},
}'
PROJECT_ID: ID project yang berisi kunci yang ingin Anda migrasikan.KEY_NAME: nama kunci.KEY_RING: nama key ring yang berisi kunci.LOCATION: lokasi Cloud KMS key ring.EKM_CONNECTION_PATH: ID resource koneksi EKM yang ingin Anda gunakan untuk versi kunci—misalnya,projects/PROJECT_ID/locations/LOCATION/ekmConnections/EKM_CONNECTIONEXTERNAL_KEY_PATH: jalur baru ke materi kunci eksternal yang ada dari koneksi EKM Anda—misalnya,v0/path/to/my/key. Koneksi EKM dan jalur kunci harus mengarah ke materi kunci yang sama dengan URI kunci saat ini.
Memperbarui versi kunci untuk menggunakan mode perlindungan eksternal melalui internet
gcloud
Untuk menggunakan Cloud KMS di command line, Instal atau upgrade ke versi terbaru Google Cloud CLI terlebih dahulu.
Untuk memperbarui versi kunci external-vpc yang ada ke tingkat perlindungan external, gunakan perintah kms keys versions update dengan flag --protection-level dan --external-key-uri:
gcloud kms keys versions update KEY_VERSION \
--key KEY_NAME \
--keyring KEY_RING \
--location LOCATION \
--protection-level "external" \
--external-key-uri EXTERNAL_KEY_URI
Ganti kode berikut:
KEY_VERSION: nomor versi kunci yang ingin Anda migrasikan—misalnya,3.KEY_NAME: nama kunci.KEY_RING: nama key ring yang berisi kunci.LOCATION: lokasi Cloud KMS key ring.EXTERNAL_KEY_URI: URI baru ke materi kunci eksternal yang ada di EKM Anda. URI harus mengarah ke materi kunci yang sama dengan koneksi EKM saat ini dan kunci eksternal.
Untuk mengetahui informasi tentang semua flag dan kemungkinan nilai, jalankan perintah dengan flag --help.
REST
Contoh ini menggunakan curl sebagai klien HTTP untuk menunjukkan penggunaan API. Untuk mengetahui informasi selengkapnya tentang kontrol akses, lihat Mengakses Cloud KMS API.
Untuk memperbarui versi kunci external-vpc yang ada ke tingkat perlindungan external, panggil metode CryptoKeyVersions.patch.
curl "https://cloudkms.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/keyRings/KEY_RING/cryptoKeys/KEY_NAME/cryptoKeyVersions/KEY_VERSION?updateMask=protectionLevel,externalProtectionLevelOptions" \
--request "PATCH" \
--header "authorization: Bearer TOKEN" \
--header "content-type: application/json" \
--data '{
"protectionLevel": "EXTERNAL",
"externalProtectionLevelOptions": {
"externalKeyUri": "EXTERNAL_KEY_URI",
},
}'
PROJECT_ID: ID project yang berisi kunci yang ingin Anda migrasikan.KEY_NAME: nama kunci.KEY_RING: nama key ring yang berisi kunci.LOCATION: lokasi Cloud KMS key ring.EXTERNAL_KEY_URI: URI baru ke materi kunci eksternal yang ada di EKM Anda. URI harus mengarah ke materi kunci yang sama dengan koneksi EKM saat ini dan kunci eksternal.