Untuk meningkatkan keamanan akses basis data ApsaraDB RDS, simpan nama pengguna dan kata sandi akun ApsaraDB RDS di dalam rahasia Key Management Service (KMS). Aplikasi dapat secara dinamis mengambil rahasia ini menggunakan Alibaba Cloud SDK, Secret SDK, KMS Agent, atau KMS Instance SDK. Rotasi rahasia juga dapat dikonfigurasi untuk meminimalkan risiko paparan akun. Topik ini menjelaskan cara mengelola dan menggunakan rahasia ApsaraDB RDS.
Cara kerjanya
Rahasia ApsaraDB RDS menghilangkan kebutuhan konfigurasi akun basis data statis di aplikasi. Saat Anda membuat rahasia ApsaraDB RDS untuk akun basis data di KMS, aplikasi dapat memanggil operasi GetSecretValue untuk mengakses basis data menggunakan rahasia yang diambil.
Setelah menyimpan nama pengguna dan kata sandi akun ApsaraDB RDS di KMS, hindari memodifikasi atau menghapusnya di ApsaraDB RDS untuk mencegah gangguan layanan.
Metode rotasi rahasia ApsaraDB RDS
KMS mengubah kata sandi akun ApsaraDB RDS saat merotasikan rahasia tersebut, sementara nama pengguna tetap sama. Rotasi rahasia biasanya instan. Jika memakan waktu lebih dari 2 menit, verifikasi bahwa instance ApsaraDB RDS terkait dan akun berfungsi dengan baik.
Untuk menghindari kegagalan rotasi, jangan hapus instance ApsaraDB RDS atau akun terkait dengan rahasia selama rotasi.
KMS mendukung hosting akun tunggal dan ganda untuk rahasia ApsaraDB RDS, dengan kebijakan rotasi yang berbeda untuk masing-masing:
Akun Tunggal
Rotasi kata sandi menghasilkan kata sandi baru untuk akun. Selama proses ini, versi rahasia saat ini mungkin sementara tidak tersedia saat kata sandi sedang diperbarui. Oleh karena itu, disarankan untuk mengatur kebijakan ulang coba.
Multi-Akun
Saat membuat rahasia, jika Anda memiliki nama pengguna dan kata sandi akun ApsaraDB RDS, Key Management Service (KMS) akan membuat akun kedua selama rotasi pertama. Pada rotasi berikutnya, KMS secara bergantian mengubah kata sandi di antara kedua akun tersebut. Gambar berikut mengilustrasikan proses ini:
Batasan
ApsaraDB RDS yang didukung termasuk ApsaraDB RDS for MySQL, ApsaraDB RDS for MariaDB, ApsaraDB RDS for SQL Server (kecuali SQL Server 2017 Edisi Kluster), dan ApsaraDB RDS for PostgreSQL.
Jangan simpan nama pengguna dan kata sandi akun ApsaraDB RDS di beberapa rahasia. Merotasikan satu rahasia memperbarui kata sandi, sehingga nilai rahasia di rahasia lain menjadi tidak dapat digunakan untuk masuk ke basis data ApsaraDB RDS.
Prasyarat
Kunci simetris untuk mengenkripsi rahasia dibuat di dalam instance KMS.
Jika mengelola rahasia ApsaraDB RDS dengan pengguna RAM atau peran RAM, pastikan akun Alibaba Cloud telah memberikan kebijakan sistem AliyunKMSSecretAdminAccess kepada pengguna RAM atau peran RAM. Untuk informasi lebih lanjut, lihat Berikan izin kepada pengguna RAM atau Berikan izin kepada peran RAM.
Langkah 1: Buat rahasia ApsaraDB RDS
Saat membuat rahasia, Anda dapat mengonfigurasi rotasi otomatis untuk rahasia tersebut. Ini membantu mengurangi risiko kebocoran rahasia.
Masuk ke Konsol KMS. Di bilah navigasi atas, pilih wilayah. Di panel navigasi kiri, pilih .
Klik tab Database Secrets, pilih Instance ID, lalu klik . Setelah menyelesaikan konfigurasi, klik Confirm.
CatatanAnda tidak dapat membuat beberapa rahasia ApsaraDB RDS sekaligus.
Saat membuat rahasia ApsaraDB RDS, sistem secara otomatis membuat peran layanan terhubung AliyunServiceRoleForKMSSecretsManagerForRDS dan memberikan kebijakan izin AliyunServiceRolePolicyForKMSSecretsManagerForRDS. KMS mengasumsikan peran ini untuk mengelola rahasia ApsaraDB RDS, seperti memutar kata sandi untuk akun ApsaraDB RDS.
Anda dapat masuk ke konsol RAM untuk melihat detail peran layanan terhubung dan kebijakan. Untuk informasi lebih lanjut, lihat Lihat informasi tentang peran RAM dan Lihat informasi tentang kebijakan.
Parameter
Deskripsi
Database Type
Tipe rahasia basis data yang ingin Anda buat. Pilih ApsaraDB RDS Secrets.
Secret Name
Nama rahasia. Nama rahasia unik di wilayah saat ini.
ApsaraDB RDS Instance
Instance ApsaraDB RDS yang ada yang ingin Anda kelola di dalam akun Alibaba Cloud Anda.
Account Management
Manage Dual Accounts (direkomendasikan): Mode ini cocok untuk skenario di mana rahasia digunakan oleh aplikasi untuk mengakses instance ApsaraDB RDS. Dalam mode ini, KMS mengelola dua akun yang memiliki izin identik. Mode ini memastikan bahwa koneksi antara aplikasi dan instance ApsaraDB RDS tidak terputus saat rahasia diputar.
Klik tab Create Account, tentukan awalan nama pengguna, pilih basis data, lalu tentukan izin.
CatatanKMS tidak langsung membuat akun. KMS membuat akun setelah Anda memeriksa ulang dan mengonfirmasi informasi rahasia.
Klik tab Import Existing Accounts, pilih nama pengguna, lalu tentukan kata sandi untuk nama pengguna tersebut.
CatatanKami sarankan Anda menentukan kata sandi yang sama seperti kata sandi yang Anda tentukan untuk akun saat membuat instance ApsaraDB RDS. Jika nama pengguna dan kata sandi yang ditentukan tidak cocok, Anda dapat mengambil nama pengguna dan kata sandi yang valid pada saat rahasia pertama kali diputar.
Manage Single Account: Mode ini cocok untuk skenario di mana akun istimewa atau akun O&M manual dikelola. Dalam mode ini, versi rahasia saat ini mungkin sementara tidak tersedia saat rahasia diputar.
Klik tab Create Account, tentukan awalan nama pengguna, lalu pilih tipe akun.
Anda dapat memilih Standard Account atau Privileged Account untuk parameter Tipe Akun. Jika Anda memilih Standard Account, Anda harus memilih basis data dan menentukan izin akun.
Klik tab Import Existing Accounts, pilih nama pengguna, lalu tentukan kata sandi untuk nama pengguna tersebut.
CMK
Kunci yang digunakan untuk mengenkripsi nilai saat ini dari rahasia.
PentingKunci Anda dan rahasia harus milik instance KMS yang sama. Kunci harus berupa kunci simetris. Untuk informasi lebih lanjut tentang kunci simetris yang didukung oleh KMS, lihat Spesifikasi kunci untuk enkripsi simetris dan asimetris.
Jika Anda adalah pengguna RAM atau peran RAM, Anda harus memiliki izin untuk memanggil operasi GenerateDataKey menggunakan kunci.
Tag
Tag yang ingin Anda tambahkan ke rahasia. Anda dapat menggunakan tag untuk mengklasifikasikan dan mengelola rahasia. Tag terdiri dari pasangan key-value.
CatatanKunci tag atau nilai tag dapat mencapai hingga 128 karakter dan dapat berisi huruf, angka, garis miring (/), backslash (\), garis bawah (_), tanda hubung (-), titik (.), tanda plus (+), tanda sama dengan (=), titik dua (:), at (@), dan spasi.
Kunci tag tidak boleh dimulai dengan aliyun atau acs:.
Anda dapat mengonfigurasi hingga 20 pasangan key-value untuk setiap rahasia.
Automatic Rotation
Menentukan apakah akan mengaktifkan rotasi rahasia otomatis.
Rotation Period
Interval rotasi rahasia otomatis. Pengaturan ini hanya diperlukan saat Anda mengaktifkan rotasi otomatis. Nilainya berkisar dari 6 jam hingga 365 hari.
KMS secara berkala memperbarui rahasia berdasarkan nilai parameter ini.
Description
Deskripsi rahasia.
Policy Settings
Pengaturan kebijakan rahasia. Untuk informasi lebih lanjut, lihat Ikhtisar.
Anda dapat menggunakan kebijakan default dan kemudian memodifikasi kebijakan berdasarkan kebutuhan bisnis Anda setelah membuat rahasia.
Langkah 2: Integrasikan rahasia ApsaraDB RDS ke dalam aplikasi
KMS menawarkan Secret JDBC Client, Secret Client, Alibaba Cloud SDK, KMS Agent, dan KMS Instance SDK untuk memanggil operasi GetSecretValue (OpenAPI) atau GetSecretValue (KMS Instance API) (tidak direkomendasikan) untuk mengambil nilai rahasia ApsaraDB RDS.
Untuk meningkatkan keandalan layanan, kami sarankan Anda menerapkan mekanisme ulang coba kesalahan yang kuat di aplikasi Anda.
KMS menyediakan beberapa metode autentikasi. Untuk keamanan yang lebih baik, kami sarankan memprioritaskan penggunaan peran RAM instance ECS atau peran RAM standar.
Endpoint:
Endpoint gateway bersama: lihat Endpoint.
Endpoint gateway khusus:
{INSTANCE_ID}.cryptoservice.kms.aliyuncs.com.
Metode | Skenario yang berlaku | Gateway yang didukung |
Catatan Secret JDBC Client mengenkapsulasi logika bisnis, praktik terbaik, dan pola desain. Ini dapat langsung menyelesaikan otentikasi koneksi basis data dan mengakses basis data melalui antarmuka JDBC setelah koneksi basis data dibuat. |
| |
Aplikasi dikembangkan dalam Java 8 atau lebih baru, Go, atau Python. |
| |
Aplikasi mendukung Java 8 atau lebih baru (Java 6 atau lebih baru dengan Alibaba Cloud SDK V1.0), PHP, Go, Python, .NET (hanya C#), C++, TypeScript, dan Swift. |
| |
|
| |
KMS Instance SDK (tidak direkomendasikan) | Aplikasi dikembangkan dalam Java 8 atau lebih baru, PHP, Go, Python, atau .NET (hanya C#). | Gateway khusus |
Apa yang harus dilakukan selanjutnya
Putar rahasia ApsaraDB RDS
Selama rotasi, KMS meminta ApsaraDB RDS untuk mengubah kata sandi akun terkait. Pastikan semua aplikasi mengambil rahasia ApsaraDB RDS dari KMS sebelum rotasi untuk menghindari downtime aplikasi.
Jika instance atau akun di ApsaraDB RDS yang terkait dengan rahasia dihapus, KMS tidak dapat memutar rahasia. Lakukan pemeriksaan akun sebelum rotasi dan lanjutkan hanya setelah KMS mengonfirmasi pemeriksaan berhasil.
Anda dapat mengonfigurasi rotasi otomatis untuk rahasia guna mengurangi risiko kebocoran rahasia. Jika rahasia bocor, Anda dapat segera memutar rahasia di konsol KMS untuk menghilangkan risiko intrusi.
Masuk ke Konsol KMS. Di bilah navigasi atas, pilih wilayah. Di panel navigasi kiri, pilih .
Klik tab Database Secrets, pilih Instance ID, temukan rahasia yang ingin Anda putar segera, dan klik Actions di kolom Details.
Di bagian Versions di bagian bawah halaman detail rahasia, klik Configure Rotation.
Rotasi Otomatis: Jika Anda mengaktifkan Rotasi Otomatis, pilih periode rotasi mulai dari 6 jam hingga 365 hari.
Putar Sekarang: Pilih opsi ini untuk memutar rahasia segera.
Periksa nilai rahasia
KMS memverifikasi apakah akun yang dilindungi oleh rahasia termasuk dalam instance ApsaraDB RDS terkait. Jika ya, rahasia dapat diputar; jika tidak, hapus rahasia dan buat yang baru.
Masuk ke Konsol KMS. Di bilah navigasi atas, pilih wilayah. Di panel navigasi kiri, pilih .
Klik tab Database Secrets, pilih Instance ID, temukan rahasia target, dan klik Actions di kolom Details.
Di bagian Versions, klik Check Account. Setelah pemeriksaan selesai, tinjau hasilnya.
Hapus rahasia ApsaraDB RDS
Pastikan rahasia ApsaraDB RDS tidak digunakan sebelum penghapusan untuk mencegah kegagalan layanan.
Anda dapat langsung menghapus rahasia ApsaraDB RDS atau menjadwalkan tugas untuk penghapusannya. Saat Anda menghapus rahasia ApsaraDB RDS, rahasia tersebut dihapus hanya dari KMS; nama pengguna dan kata sandi terkait tetap utuh di ApsaraDB RDS.
Masuk ke Konsol KMS. Di bilah navigasi atas, pilih wilayah. Di panel navigasi kiri, pilih .
Klik tab Database Secrets, pilih Instance ID, temukan rahasia yang ingin Anda hapus, dan klik Actions di kolom Schedule Deletion.
Di kotak dialog Schedule Deletion, pilih metode untuk menghapus rahasia dan klik OK.
Jika Anda memilih Schedule Deletion, konfigurasikan Periode Penyimpanan (7 hingga 30 Hari). Saat periode penghapusan terjadwal berakhir, KMS menghapus rahasia.
Jika Anda memilih Delete Immediately, sistem segera menghapus rahasia.
Selama periode penghapusan terjadwal, Anda dapat mengklik OK di kolom Actions untuk membatalkan penghapusan.
Konfigurasikan tag untuk rahasia
Anda dapat menggunakan tag untuk mengklasifikasikan dan mengelola rahasia. Tag terdiri dari pasangan key-value.
Kunci tag atau nilai tag dapat mencapai hingga 128 karakter dan dapat berisi huruf, angka, garis miring (/), backslash (\), garis bawah (_), tanda hubung (-), titik (.), tanda plus (+), tanda sama dengan (=), titik dua (:), at (@), dan spasi.
Kunci tag tidak boleh dimulai dengan aliyun atau acs:.
Anda dapat mengonfigurasi hingga 20 pasangan key-value untuk setiap rahasia.
Tambahkan tag untuk rahasia
Solusi | Deskripsi |
Metode 1: Tambahkan tag di halaman Secrets |
|
Metode 2: Tambahkan tag di halaman Detail Rahasia |
|
Konfigurasikan tag untuk beberapa rahasia sekaligus
Masuk ke Konsol KMS. Di bilah navigasi atas, pilih wilayah. Di panel navigasi kiri, pilih .
Klik tab berdasarkan jenis rahasia Anda, pilih instance ID yang diperlukan dari daftar drop-down Instance ID, lalu pilih rahasia yang diinginkan dari daftar rahasia.
Tambahkan tag: Di bagian bawah daftar rahasia, klik Tambah Tag. Di kotak dialog Tambah Tag, masukkan beberapa Tag Key dan Tag Value, lalu klik OK. Di pesan yang muncul, klik Tutup.
Hapus tag: Di bagian bawah daftar rahasia, klik Hapus Tag. Di kotak dialog Hapus Massal, pilih tag yang ingin Anda hapus lalu klik Hapus. Di pesan yang muncul, klik Tutup.