Rahasia Key Management Service (KMS) merupakan sumber daya yang spesifik per wilayah. Jika Anda menerima notifikasi migrasi untuk suatu wilayah, segera migrasikan rahasia Anda ke wilayah tujuan untuk menghindari gangguan layanan. Pendekatan migrasi bergantung pada jenis rahasia tersebut.
| Jenis rahasia | Diperlukan migrasi | Pendekatan |
|---|---|---|
| Rahasia generik (dalam instans KMS) | Ya | Migrasikan menggunakan pencadangan dan pemulihan |
| Rahasia generik (di luar instans KMS) | Ya | Buat ulang rahasia di wilayah tujuan menggunakan API |
| RAM secret | Migrasi tidak didukung — hapus dan buat ulang | Hapus di wilayah sumber, lalu buat di wilayah tujuan |
| ApsaraDB RDS secret | Tidak | Instans ApsaraDB RDS bersifat spesifik per wilayah; rahasia mengikuti secara otomatis |
| ECS secret | Tidak | Instans Elastic Compute Service (ECS) bersifat spesifik per wilayah; rahasia mengikuti secara otomatis |
Rahasia generik
Batasan
Selama migrasi, jangan melakukan operasi apa pun terhadap rahasia di wilayah sumber hingga migrasi selesai dan Anda telah menghapus rahasia sumber. Misalnya, jangan mengubah metadata rahasia atau membuat versi rahasia baru (misalnya, jangan memanggil
PutSecretValue).Setelah migrasi, cap waktu pembuatan rahasia dan versi-versinya akan berbeda antara wilayah sumber dan wilayah tujuan. Hal ini tidak memengaruhi layanan Anda.
Migrasikan rahasia generik dalam instans KMS
Jika rahasia generik Anda dibuat di dalam instans KMS, migrasikan menggunakan pencadangan dan pemulihan. Untuk detailnya, lihat Backups.
Migrasikan rahasia generik di luar instans KMS
Pada versi lama KMS, Anda dapat membuat rahasia generik tanpa membeli instans KMS. Jenis rahasia ini dianggap "di luar instans KMS." Pada KMS 3.0, Anda harus membeli instans KMS terlebih dahulu sebelum membuat rahasia generik.
Gunakan prosedur berikut untuk membuat ulang rahasia di wilayah tujuan melalui panggilan API.
Langkah 1: Kueri dan simpan detail rahasia di wilayah sumber
Panggil API berikut di wilayah sumber untuk mengambil semua informasi yang Anda perlukan guna membuat ulang rahasia:
| API | Parameter kunci | Tujuan |
|---|---|---|
DescribeSecret | Atur FetchTags ke true | Dapatkan metadata rahasia (nama, tipe, tag, deskripsi, konfigurasi tambahan) |
ListSecretVersionIds | Atur IncludeDeprecated ke true | Dapatkan semua versi rahasia, termasuk yang sudah usang |
GetSecretValue | Panggil satu kali per versi | Dapatkan nilai rahasia dan tipe nilainya untuk setiap versi |
VersionIds dalam respons ListSecretVersionIds tidak diurutkan berdasarkan waktu pembuatan. Urutkan secara lokal sebelum melanjutkan.
Sebagai contoh, jika ListSecretVersionIds mengembalikan tiga versi, urutkan berdasarkan waktu pembuatan:
| Versi | Dibuat | Stage |
|---|---|---|
| v1 | 1 Januari 2023 | 001 (versi awal) |
| v2 | 1 Mei 2023 | ACSPrevious |
| v3 | 1 November 2023 | ACSCurrent |
Langkah 2: Migrasikan aplikasi Anda ke wilayah tujuan
Pindahkan aplikasi Anda ke wilayah tujuan.
Buat kredensial untuk aplikasi di wilayah tujuan:
Jika menggunakan pasangan AccessKey dari RAM user atau RAM role: Buat RAM user atau RAM role di wilayah tujuan dan lampirkan kebijakan
AliyunKMSSecretAdminAccess. Lihat Create a RAM user and grant permissions to the RAM user dan Create a RAM role and attach the required policies to the role.Jika menggunakan client key dari application access point (AAP): Beli instans KMS terlebih dahulu, lalu buat client key di wilayah tujuan. Lihat Create an AAP.
Perbarui pengaturan endpoint dan kredensial di aplikasi Anda.
Endpoint KMS dan endpoint instans KMS berbeda. Konfigurasikan endpoint sesuai SDK yang Anda gunakan. Untuk detailnya, lihat SDK references.
Langkah 3: Buat rahasia di wilayah tujuan
Beli instans KMS di wilayah tujuan. Lihat Instance selection dan Purchase and enable a KMS instance.
Buat kunci di instans KMS untuk mengenkripsi rahasia. Lihat Getting started with Key Management.
Panggil API berikut untuk membuat ulang rahasia dengan metadata, versi, dan nilai yang identik:
API Yang harus diatur CreateSecretGunakan nilai dari DescribeSecretuntuksecretName,secretType,Tags,Description, danExtendedConfig. UntukVersionId, gunakan versi awal (v1 dalam contoh ini). UntukSecretDatadanSecretDataType, gunakan nilai dariGetSecretValueuntuk versi awal.PutSecretValueSimpan setiap versi yang tersisa. Dalam contoh ini, panggil sekali untuk v2 dan sekali untuk v3. UpdateSecretVersionStageAtur stage untuk setiap versi. Dalam contoh ini: v1 → 001, v2 →ACSPrevious, v3 →ACSCurrent.Panggil
DescribeSecretdi kedua wilayah dan pastikan informasi tentang rahasia tersebut sama.
Langkah 4: Verifikasi aplikasi Anda
Uji aplikasi Anda di wilayah tujuan untuk memastikan aplikasi dapat mengakses rahasia dan berjalan sesuai harapan.
Langkah 5: Hapus rahasia di wilayah sumber
Setelah memastikan aplikasi berfungsi dengan benar di wilayah tujuan, hapus rahasia di wilayah sumber. Lihat Manage and use generic secrets.
Gunakan ActionTrail untuk memeriksa panggilan API terbaru terhadap rahasia sebelum menghapusnya. Event terkait rahasia mencakupGetSecretValue,DescribeSecret,ListSecretVersionIds,PutSecretValue,UpdateSecret,UpdateSecretVersionStage,UpdateSecretRotationPolicy, danRestoreSecret. Lihat Use ActionTrail to query KMS events dan Audit events of KMS.
RAM secret
Migrasi tidak didukung. Satu RAM user hanya dapat memiliki satu RAM secret di KMS. Untuk memindahkan RAM secret ke wilayah baru, hapus di wilayah sumber dan buat yang baru di wilayah tujuan.
Sebelum menghapus RAM secret dari KMS, pastikan rahasia tersebut tidak lagi digunakan. Menghapus RAM secret dari KMS tidak menghapus pasangan AccessKey yang terkait.
ApsaraDB RDS secret
Migrasi tidak diperlukan. Instans ApsaraDB RDS merupakan sumber daya yang spesifik per wilayah, sehingga rahasia terkait tidak perlu dimigrasikan secara terpisah.
ECS secret
Migrasi tidak diperlukan. Instans Elastic Compute Service (ECS) merupakan sumber daya yang spesifik per wilayah, sehingga rahasia terkait tidak perlu dimigrasikan secara terpisah.