All Products
Search
Document Center

Key Management Service:Manage and use ApsaraDB RDS secrets

Last Updated:Jun 11, 2026

Aplikasi bisnis umumnya menyimpan kata sandi akun database dalam kode atau file konfigurasi, yang berisiko bocor. Dengan mendelegasikan manajemen kata sandi akun RDS ke rahasia KMS, aplikasi dapat mengambil nilai kata sandi secara dinamis melalui SDK dan mendukung rotasi otomatis, sehingga secara efektif mengurangi risiko kebocoran rahasia.

Cara kerja

Dengan rahasia RDS, aplikasi tidak perlu menyematkan kredensial database secara langsung di kode atau file konfigurasi. Setelah administrator membuat rahasia RDS di KMS, aplikasi memanggil operasi API GetSecretValue untuk mengambil informasi akun dan kata sandi database guna mengakses database RDS. Kasus penggunaan umum meliputi:

  • Akses database aplikasi cloud: Aplikasi yang diterapkan pada layanan Alibaba Cloud seperti ECS atau ACK memerlukan manajemen terpusat atas kredensial akses database, menghindari manajemen tersebar di berbagai instans.

  • Persyaratan kepatuhan keamanan berkala: Kebijakan keamanan perusahaan mewajibkan rotasi kata sandi database secara berkala. Rotasi otomatis melalui rahasia KMS memenuhi persyaratan audit kepatuhan.

  • Manajemen kredensial multi-lingkungan: Lingkungan produksi, pengujian, dan pengembangan memerlukan kredensial akses database yang terisolasi. Gunakan tag rahasia untuk mengelola kredensial berdasarkan dimensi tertentu.

Penting

Setelah Anda menyimpan kredensial RDS di KMS, jangan mengubah atau menghapus kredensial tersebut di ApsaraDB RDS untuk menghindari gangguan layanan.

image

Sebelum memulai

  • Database yang didukung: ApsaraDB RDS for MySQL, ApsaraDB RDS for MariaDB, ApsaraDB RDS for SQL Server (kecuali Edisi Kluster 2017), dan ApsaraDB RDS for PostgreSQL.

  • Persiapan kunci KMS: Kunci simetris harus dibuat di instans KMS untuk enkripsi. Kunci tersebut harus berada di instans yang sama dengan rahasia. Untuk informasi lebih lanjut, lihat Manage RAM user permissions.

  • Izin RAM: Jika Anda menggunakan Pengguna RAM atau Peran RAM, Akun Alibaba Cloud harus menyambungkan kebijakan sistem AliyunKMSSecretAdminAccess ke Pengguna RAM atau Peran RAM tersebut. Untuk informasi lebih lanjut, lihat Grant permissions to a RAM role atau Manage RAM user permissions.

  • Batasan penggunaan: Jangan mendelegasikan akun database RDS yang sama ke beberapa rahasia RDS. Saat rahasia diputar, kata sandi berubah, menyebabkan rahasia lain untuk akun yang sama menyimpan kata sandi lama dan mengakibatkan kegagalan login.

Create an RDS secret

Anda dapat mengonfigurasi rotasi periodik otomatis saat membuat kredensial untuk mengurangi risiko keamanan akibat kebocoran kredensial.

  1. Masuk ke Konsol Key Management Service. Di bilah navigasi atas, pilih wilayah. Di panel navigasi kiri, pilih Resource > Secrets.

  2. Klik tab Database Secrets, pilih Instance ID, lalu klik Create Secret > Create Single Secret. Konfigurasikan parameter dan klik Confirm.

    Catatan
    • Rahasia RDS tidak mendukung pembuatan batch.

    • Kami menyarankan Anda mengaktifkan rotasi rahasia otomatis secara berkala untuk mengurangi risiko kebocoran rahasia.

    Parameter

    Description

    Database Type

    Pilih ApsaraDB RDS Secrets.

    Secret Name

    Nama kredensial kustom. Harus unik dalam wilayah saat ini.

    ApsaraDB RDS Instance

    Pilih instans RDS di bawah Akun Alibaba Cloud Anda.

    Account Management

    • Manage Dual Accounts (Direkomendasikan): Cocok untuk akses database terprogram. KMS mengelola dua akun dengan hak istimewa identik untuk menghindari gangguan koneksi selama rotasi.

      • Klik Create Account untuk mengonfigurasi nama akun, pilih database, dan tentukan izin.

        Catatan
        • Pembuatan dan otorisasi satu-klik tidak langsung membuat akun baru. Akun akan dibuat setelah Anda meninjau dan mengonfirmasi informasi kredensial.

        • Untuk RDS PostgreSQL, Anda tidak dapat memperoleh nama database selama pembuatan. Anda harus mengatur DBName secara manual.

      • Klik Import Existing Accounts untuk memilih username dan mengonfigurasi kata sandi.

        Catatan

        Kami menyarankan Anda mengatur kata sandi sesuai dengan yang digunakan saat membuat akun pengguna instans RDS. Jika username dan kata sandi yang diimpor tidak cocok, Anda dapat memperoleh akun dan kata sandi yang benar setelah rotasi kredensial pertama.

    • Manage Single Account: Cocok untuk akun istimewa atau skenario hosting akun O&M manual. Versi kredensial saat ini mungkin sementara tidak tersedia segera setelah reset kata sandi.

      • Klik Create Account untuk mengonfigurasi nama akun dan memilih jenis akun.

        Mendukung Standard Account dan Privileged Account. Saat Anda memilih Standard Account, Anda juga harus memilih database dan menentukan izin.

      • Klik tab Import Existing Accounts untuk memilih username dan mengonfigurasi kata sandi.

    CMK

    Pilih kunci simetris yang digunakan untuk mengenkripsi nilai kredensial. Kunci dan kredensial harus berada di instans KMS yang sama.

    Penting
    • Kunci dan kredensial harus berada di instans KMS yang sama, dan kunci harus berupa kunci simetris. Untuk informasi lebih lanjut tentang kunci simetris yang didukung oleh KMS, lihat Key types and specifications.

    • Jika Pengguna RAM atau Peran RAM digunakan, entitas tersebut harus memiliki izin untuk melakukan operasi GenerateDataKey menggunakan kunci master enkripsi.

    Tags

    Tambahkan tag ke kredensial untuk klasifikasi. Setiap tag terdiri dari pasangan kunci-nilai.

    Catatan
    • Format kunci tag dan nilai tag: Panjang kunci tag atau nilai tag maksimal 128 karakter dan dapat berisi huruf, angka, garis miring (/), garis miring terbalik (\), garis bawah (_), tanda hubung (-), titik (.), tanda tambah (+), tanda sama dengan (=), titik dua (:), tanda at (@), dan spasi.

    • Kunci tag tidak boleh diawali dengan aliyun atau acs:.

    • Setiap kredensial mendukung hingga 20 pasangan kunci-nilai tag.

    Automatic Rotation

    Pilih apakah akan mengaktifkan rotasi otomatis. Saat diaktifkan, KMS secara berkala memperbarui nilai kredensial untuk mengurangi risiko kebocoran kredensial.

    Rotation Period

    Atur parameter ini hanya jika rotasi otomatis diaktifkan. Nilai valid: 6 jam hingga 365 hari.

    Menentukan interval rotasi. KMS secara berkala memperbarui nilai kredensial berdasarkan pengaturan ini.

    Description

    Deskripsi opsional kredensial untuk identifikasi dan manajemen.

    Advanced Settings > Policy Settings

    Atur kebijakan akses untuk kredensial guna mengontrol Pengguna RAM atau peran mana yang dapat membaca atau mengubahnya.

    Anda dapat memilih kebijakan default terlebih dahulu dan mengubahnya nanti sesuai kebutuhan.

  3. Setelah pembuatan, verifikasi bahwa rahasia baru muncul dalam daftar kredensial database dengan status Normal.

    Catatan

    Sistem secara otomatis membuat peran terkait layanan AliyunServiceRoleForKMSSecretsManagerForRDS dan menyambungkan kebijakan AliyunServiceRolePolicyForKMSSecretsManagerForRDS. KMS menggunakan peran ini untuk mengelola rahasia RDS, termasuk memutar kata sandi akun RDS.

Manage RDS secrets

Rotate RDS secret

Mekanisme rotasi rahasia RDS

KMS mendukung rotasi otomatis kata sandi untuk instans ApsaraDB RDS terkait. Selama rotasi, KMS mengatur ulang kata sandi akun RDS yang sesuai sambil mempertahankan nama akun tetap tidak berubah.

  • Mode rotasi: KMS mendukung mode pengelolaan akun tunggal dan pengelolaan akun ganda untuk rahasia RDS.

    Item perbandingan

    Single-account managed

    Dual-account managed

    Skenario

    Skema sederhana di mana aplikasi toleran terhadap gangguan singkat.

    Skema ketersediaan tinggi yang memerlukan kelangsungan bisnis tinggi untuk aplikasi inti.

    Prinsip rotasi

    Menghasilkan kata sandi baru untuk akun selama rotasi.

    Mempertahankan dua akun bergantian (Pengguna A dan Pengguna B).

    Ketersediaan

    Memiliki jendela ketidaktersediaan singkat: selama pergantian kata sandi, kredensial lama menjadi tidak valid sebelum kredensial baru sepenuhnya berlaku, yang dapat menyebabkan kegagalan koneksi sementara. Kami menyarankan Anda mengonfigurasi kebijakan pengulangan (retry) untuk aplikasi Anda.

    Sepenuhnya tersedia sepanjang rotasi: selama rotasi, kredensial salah satu akun selalu tetap valid, sehingga prosesnya transparan bagi aplikasi Anda.

  • Bagan alir rotasi akun ganda: Saat Anda membuat rahasia, kata sandi akun RDS untuk pengguna pertama sudah ada. Selama rotasi pertama, KMS memanggil API RDS untuk membuat kata sandi akun untuk pengguna kedua. Selama rotasi kedua, KMS mengubah kata sandi pengguna pertama. Pada rotasi berikutnya, KMS secara bergantian mengubah kata sandi kedua pengguna tersebut.

    image

Perhatian

  • Konfirmasi integrasi aplikasi: Sebelum rotasi, pastikan semua aplikasi bisnis dikonfigurasi untuk mengambil kredensial secara dinamis dari KMS. Jika aplikasi menyematkan kata sandi lama secara langsung, rotasi akan menyebabkan kegagalan koneksi.

  • Verifikasi status resource: Kami menyarankan Anda menggunakan fitur ini sebelum rotasi untuk memverifikasi bahwa instans RDS dan akun yang terkait dengan rahasia tersebut ada dan dalam kondisi normal.

  • Jangan hapus resource: Selama atau setelah konfigurasi rotasi berlaku, jangan menghapus instans RDS atau akun database terkait. Jika tidak, tugas rotasi akan gagal.

Prosedur

Mengonfigurasi rotasi kredensial otomatis berkala secara efektif mengurangi risiko kebocoran akibat kurangnya pembaruan dalam jangka panjang. Selain itu, konsol juga mendukung rotasi manual segera, memungkinkan respons cepat terhadap insiden keamanan dan mitigasi ancaman potensial secara tepat waktu.

  1. Masuk ke Konsol Key Management Service. Di bilah navigasi atas, pilih wilayah. Di panel navigasi kiri, pilih Resource > Secrets.

  2. Klik tab Database Secrets, pilih Instance ID, temukan rahasia yang akan diputar, lalu klik Details di kolom Actions.

  3. Di bagian Versions di bagian bawah halaman detail rahasia, klik Configure Rotation.

    • Rotasi otomatis terjadwal: Aktifkan fitur ini dan pilih periode rotasi. Anda dapat mengatur parameter ini ke nilai antara 6 jam hingga 365 hari.

      Catatan

      Saat membuat rahasia, Anda dapat mengaktifkan rotasi otomatis dan mengatur Rotation Period.

    • Putar sekarang: Picu rotasi manual segera.

Verifikasi akun rahasia

KMS memverifikasi apakah akun database RDS yang dilindungi oleh rahasia tersebut termasuk dalam instans RDS yang dikonfigurasi. Jika verifikasi berhasil, rahasia dapat diputar secara normal. Jika tidak, hapus rahasia tersebut dan buat rahasia RDS baru.

  1. Masuk ke Konsol Key Management Service. Di bilah navigasi atas, pilih wilayah. Di panel navigasi kiri, pilih Resource > Secrets.

  2. Klik tab Database Secrets, pilih Instance ID, temukan rahasia target, lalu klik Details di kolom Actions.

  3. Di bagian Versions, klik Check Account. Setelah verifikasi selesai, lihat hasilnya.

Configure the database name (DBName)

Setelah rahasia RDS dibuat, jika Anda perlu mengubah nama database RDS terkait, tentukan DBName yang benar di bagian Extended Configurations. Untuk melakukannya:

Penting

Untuk RDS PostgreSQL, Anda harus menambahkan secara manual bidang DBName. Jika tidak, rahasia RDS tidak dapat digunakan.

  1. Masuk ke Konsol Key Management Service. Di bilah navigasi atas, pilih wilayah. Di panel navigasi kiri, pilih Resource > Secrets.

  2. Di tab Customer-managed Secrets, pilih Database Secrets, pilih instans KMS target, lalu klik Details di kolom Actions untuk rahasia target.

  3. Di tab Extended Configurations, klik Edit di kolom Actions untuk CustomData.

  4. Di kotak dialog Edit Custom Data, klik Add Key-value Pair dan konfigurasikan sebagai berikut:

    Catatan

    Jika pasangan kunci-nilai DBName sudah ada, ubah nilai Value.

    • Key: Masukkan DBName.

    • Value: Masukkan nama database dari instans RDS target. Anda dapat memperoleh nama ini dengan masuk ke konsol RDS dan membuka halaman detail instans.

Configure credential tags

Anda dapat memberikan tag pada kredensial untuk mengorganisasi dan mengelolanya. Setiap tag terdiri dari pasangan kunci-nilai (Key : Value), mencakup kunci tag (Key) dan nilai tag (Value).

Catatan penggunaan tag

  • Kunci tag atau nilai tag dapat berisi hingga 128 karakter, termasuk huruf, angka, garis miring (/), garis miring terbalik (\), garis bawah (_), tanda hubung (-), titik (.), tanda tambah (+), tanda sama dengan (=), titik dua (:), tanda at (@), dan spasi.

  • Kunci tag tidak boleh diawali dengan aliyun atau acs:. Pembatasan ini tidak berlaku untuk nilai tag.

  • Setiap kredensial dapat memiliki hingga 20 tag.

Prosedur

Memberi tag pada satu kredensial
  1. Masuk ke Konsol Key Management Service. Di bilah navigasi atas, pilih wilayah. Di panel navigasi kiri, pilih Resource > Secrets.

  2. Klik tab jenis kredensial yang sesuai, pilih Instance ID, lalu temukan kredensial target.

  3. Buka editor tag dengan salah satu metode berikut:

    • Metode 1: Di daftar kredensial, klik ikon image.png di kolom Tags untuk kredensial target.

    • Metode 2: Klik Actions > Details untuk membuka halaman detail kredensial, lalu klik ikon image.png di samping Tag.

  4. Di kotak dialog Edit Tag, masukkan Tag Key dan Tag Value, lalu klik OK.

Memberi tag pada beberapa kredensial sekaligus
  1. Masuk ke Konsol Key Management Service. Di bilah navigasi atas, pilih wilayah. Di panel navigasi kiri, pilih Resource > Secrets.

  2. Klik tab jenis kredensial yang sesuai, pilih Instance ID, lalu pilih kredensial yang akan dioperasikan dari daftar kredensial.

    • Tambahkan tag: Di bagian bawah daftar kredensial, klik Add Tag, masukkan Tag Key dan Tag Value, lalu klik OK.

    • Hapus tag: Di bagian bawah daftar kredensial, klik Remove Tag, pilih tag yang akan dilepas di kotak dialog Batch Remove, klik Cancel, lalu klik Close di kotak dialog konfirmasi.

Delete an RDS secret

Peringatan

Sebelum menghapus rahasia, pastikan rahasia tersebut tidak lagi digunakan untuk menghindari kegagalan layanan.

Anda dapat menjadwalkan penghapusan atau langsung menghapus rahasia yang tidak lagi diperlukan. Menghapus rahasia RDS hanya menghapus informasi rahasia dari KMS dan tidak memengaruhi akun atau kata sandinya di RDS.

  1. Masuk ke Konsol Key Management Service. Di bilah navigasi atas, pilih wilayah. Di panel navigasi kiri, pilih Resource > Secrets.

  2. Klik tab Database Secrets, pilih Instance ID, temukan rahasia yang ingin dihapus, lalu klik Schedule Deletion di kolom Actions.

  3. Di kotak dialog Schedule Deletion, pilih metode penghapusan untuk rahasia tersebut dan klik OK.

    • Schedule Deletion: Tentukan periode pemulihan 7 hingga 30 hari. Sistem akan menghapus rahasia setelah periode pemulihan berakhir.

    • Delete Immediately: Sistem langsung menghapus rahasia.

    Selama periode pemulihan, Anda dapat menemukan rahasia tersebut dan mengklik Restore Secret di kolom Actions untuk membatalkan penghapusan.

Integrate RDS secrets into applications

KMS menyediakan berbagai metode untuk memperoleh nilai rahasia RDS. Pilih metode berdasarkan prioritas berikut. Untuk langkah integrasi terperinci, rujuk dokumentasi khusus yang ditautkan untuk setiap metode.

Prioritas

Kasus penggunaan

Jenis gerbang yang didukung

Prioritas 1: Secret JDBC Client

  • Aplikasi dikembangkan dalam Java 8 atau versi lebih baru.

  • Jenis database adalah MySQL, SQL Server, PostgreSQL, atau MariaDB.

Catatan

Secret JDBC Client mengenkapsulasi logika bisnis, praktik terbaik, dan pola desain. Komponen ini secara langsung menangani otentikasi identitas untuk koneksi database dan menyediakan akses database melalui antarmuka JDBC standar.

Gerbang bersama / Gerbang khusus

Prioritas 2: Secret Client

Aplikasi dikembangkan dalam Java (Java 8 atau versi lebih baru), Go, atau Python.

Gerbang bersama / Gerbang khusus

Prioritas 3: Alibaba Cloud SDK

Aplikasi dikembangkan dalam Java (Java 6 atau versi lebih baru), PHP, Go, Python, .NET (C# saja), C++, atau Node.js.

Gerbang khusus (direkomendasikan) / Gerbang bersama

Prioritas 4: KMS Agent

  • Cocok untuk penerapan terpusat aplikasi yang memerlukan akses skala besar ke KMS.

  • KMS Agent menyediakan layanan berbasis API HTTP standar, mendukung aplikasi bisnis yang dikembangkan dalam bahasa pemrograman apa pun.

Gerbang khusus (direkomendasikan) / Gerbang bersama

Prioritas 5: KMS instance SDK (tidak direkomendasikan)

Aplikasi dikembangkan dalam Java (Java 8 atau versi lebih baru), PHP, Go, Python, atau .NET (C# saja).

Gerbang khusus

FAQ

Secret rotation

  • Rotasi gagal dengan pesan "Your secret is being rotated. Try again later."?

    Jenis rahasia

    Kemungkinan penyebab

    Rahasia RAM

    Rahasia RAM sedang dalam proses rotasi.

    Rotasi rahasia RAM memerlukan waktu untuk diselesaikan dalam jendela rotasi. Jendela rotasi untuk rotasi otomatis sekitar 48 jam. Jendela rotasi untuk rotasi manual adalah durasi yang Anda atur.

    Jika rotasi tidak selesai dalam jendela rotasi, periksa apakah Pengguna RAM masih ada di konsol RAM.

    Rahasia RDS

    Secara normal, rotasi rahasia RDS selesai secara instan. Jika rotasi tidak selesai dalam 2 menit, periksa apakah instans RDS dan akun RDS dalam kondisi normal.

    Rahasia ECS

    Secara normal, rotasi rahasia ECS selesai secara instan. Jika rotasi tidak selesai dalam 2 menit, periksa apakah instans ECS dan akun ECS dalam kondisi normal.

  • Status rahasia menunjukkan tidak tersedia atau panggilan API mengembalikan "Rejected.Unavailable"?

    Instans KMS telah kedaluwarsa. Perpanjang instans KMS dalam waktu 15 hari kalender setelah kedaluwarsa, atau instans akan dilepas. Untuk informasi lebih lanjut, lihat .

    Jika Anda tidak berencana menggunakan instans KMS saat ini tetapi mungkin memerlukan kunci atau rahasia di dalamnya di masa depan, kami menyarankan Anda mencadangkannya terlebih dahulu. Untuk informasi lebih lanjut, lihat .

Secret configuration

  • Mengapa rahasia RDS PostgreSQL tidak berfungsi?

    RDS PostgreSQL tidak mengisi otomatis bidang DBName. Anda harus menambahkannya secara manual di konfigurasi tambahan saat pembuatan rahasia. Untuk informasi lebih lanjut, lihat Manage and use ApsaraDB RDS secrets.

  • Apakah akun RDS yang sama dapat didelegasikan ke beberapa rahasia?

    Tidak disarankan. Setiap rahasia melakukan rotasi secara independen, mengubah kata sandi. Jika beberapa rahasia merujuk akun yang sama, rotasi salah satu rahasia menyebabkan rahasia lain menyimpan kredensial lama dan gagal saat login. Sebagai gantinya, biarkan beberapa aplikasi mengambil kredensial dari rahasia yang sama dan gunakan kebijakan RAM untuk mengontrol akses.

Permissions and management

  • Apa perbedaan antara menghapus rahasia di KMS dan menghapus akun di RDS?

    Menghapus rahasia di KMS hanya menghapus informasi kredensial terenkripsi dan tidak memengaruhi akun RDS yang sebenarnya. Menghapus akun di RDS membuat kata sandi yang disimpan di rahasia KMS tidak valid dan menyebabkan rotasi gagal.

  • Apa tujuan tag rahasia?

    Tag memungkinkan manajemen terklasifikasi dan pengambilan cepat rahasia berdasarkan lingkungan, proyek, atau dimensi lainnya. Dikombinasikan dengan kebijakan RAM, tag juga dapat menerapkan kontrol akses berbasis tag. Rencanakan strategi penandaan Anda saat membuat rahasia.