Jika kebijakan sistem tidak memenuhi kebutuhan akses Anda, buat kebijakan kustom untuk memberikan kontrol yang tepat kepada pengguna RAM atas kluster PolarDB tertentu, operasi, alamat IP, atau pengaturan enkripsi.
Prasyarat
Sebelum memulai, pastikan Anda telah:
Memiliki Akun Alibaba Cloud. Jika belum, daftar terlebih dahulu.
Memahami cara menentukan resource PolarDB dalam kebijakan RAM. Lihat Gunakan RAM untuk otorisasi resource.
Untuk menyesuaikan izin atau memberikan izin spesifik pada tabel, Anda dapat menggunakan fitur pengelolaan izin dari Database Management Service (DMS). Lihat Kelola izin pengguna pada database MySQL.
Struktur kebijakan
Kebijakan RAM adalah dokumen JSON yang mendefinisikan siapa yang boleh melakukan apa terhadap resource mana dan dalam kondisi apa. Setiap kebijakan berisi satu atau lebih objek Statement, masing-masing dengan:
| Field | Wajib | Deskripsi |
|---|---|---|
Action | Ya | Operasi API yang diizinkan atau ditolak (misalnya, polardb:CreateBackup) |
Resource | Ya | Resource PolarDB yang menjadi sasaran pernyataan tersebut — ARN kluster tertentu atau * untuk semua |
Effect | Ya | Allow atau Deny |
Condition | Tidak | Batasan tambahan seperti IP sumber atau persyaratan enkripsi |
Untuk detail sintaksis kebijakan, lihat Struktur dan sintaksis kebijakan.
Buat dan sambungkan kebijakan kustom
Buat kebijakan kustom menggunakan salah satu contoh di bawah sebagai titik awal. Lihat Buat kebijakan kustom.
Sambungkan kebijakan tersebut ke pengguna RAM. Lihat Berikan izin kepada pengguna RAM.
Contoh kebijakan
Batasi akses ke kluster tertentu
Gunakan kebijakan ini jika Anda memiliki beberapa kluster PolarDB dan ingin pengguna RAM hanya mengelola sebagian — misalnya, kluster i-001 dan i-002.
Cocok untuk: administrator kluster yang memerlukan kontrol penuh atas kluster yang ditentukan.
{
"Statement": [
{
"Action": "polardb:*",
"Effect": "Allow",
"Resource": [
"acs:polardb:*:*:*/i-001",
"acs:polardb:*:*:*/i-002"
]
},
{
"Action": "polardb:Describe*",
"Effect": "Allow",
"Resource": "*"
}
],
"Version": "1"
}`Resource` pada pernyataan pertama:
acs:polardb:*:*:*/i-001menargetkan kluster tertentu berdasarkan ID-nya (segmen terakhir ARN). Akses manajemen penuh hanya berlaku untuki-001dani-002.Action: polardb:Describe*padaResource: "*": Diperlukan agar pengguna RAM dapat melihat semua kluster di Konsol PolarDB. Tanpa ini, daftar kluster di konsol akan tampak kosong.
Pengguna RAM yang diotorisasi dapat melihat semua kluster dan resource, tetapi hanya dapat mengelola dua kluster dengan ID i-001 dan i-002. Anda tetap dapat mengelola kedua kluster tersebut melalui operasi API, Antarmuka baris perintah (CLI), atau kit pengembangan perangkat lunak (SDK).
Batasi akses ke fitur tertentu
Gunakan kebijakan ini jika Anda ingin pengguna RAM hanya menjalankan serangkaian operasi tetap di seluruh kluster PolarDB — misalnya, administrator backup atau petugas keamanan.
Cocok untuk: Kontrol akses berbasis peran di mana pengguna RAM memerlukan operasi terbatas seperti manajemen backup atau konfigurasi daftar putih.
{
"Statement": [
{
"Action": [
"polardb:Describe*",
"polardb:CreateBackup",
"polardb:DeleteBackup",
"polardb:ModifyDBClusterAccessWhitelist"
],
"Resource": "*",
"Effect": "Allow"
}
],
"Version": "1"
}Kebijakan ini mengizinkan pengguna RAM untuk mengkueri informasi kluster dan backup, membuat serta menghapus backup, dan memodifikasi daftar putih untuk semua kluster PolarDB dalam akun tersebut. Semua operasi lainnya secara default ditolak.
Untuk menyesuaikan operasi yang diizinkan, ganti atau tambahkan daftar Action dengan nama operasi API spesifik. Lihat Layanan yang kompatibel dengan RAM untuk daftar lengkap operasi API PolarDB yang mendukung otorisasi RAM.
Batasi akses berdasarkan alamat IP
Gunakan kebijakan ini jika Anda perlu memastikan bahwa pengguna RAM hanya dapat mengakses kluster PolarDB dari alamat IP tertentu — misalnya, dari jaringan perusahaan atau bastion host.
Cocok untuk: lingkungan yang sensitif terhadap keamanan di mana akses kluster harus dibatasi hanya pada lokasi jaringan yang dikenal.
{
"Version": "1",
"Statement": [
{
"Action": "*",
"Effect": "Allow",
"Resource": "*",
"Condition": {
"IpAddress": {
"acs:SourceIp": [
"xxx.xxx.x.x"
]
}
}
}
]
}`acs:SourceIp`: Ganti
xxx.xxx.x.xdengan alamat IP atau Blok CIDR yang diizinkan.Effect: Pengguna RAM dapat mengelola semua kluster PolarDB dalam akun tersebut, tetapi hanya dari alamat IP yang ditentukan. Permintaan dari alamat lain akan ditolak.
Batasi status TDE
Gunakan kebijakan ini jika Anda ingin membatasi status TDE bagi pengguna RAM saat membuat kluster — misalnya, untuk menegakkan kebijakan enkripsi saat penyimpanan demi kepatuhan.
Cocok untuk: petugas kepatuhan atau tim keamanan yang menegakkan standar enkripsi wajib.
{
"Version": "1",
"Statement": [
{
"Effect": "Deny",
"Action": "polardb:*",
"Resource": "*",
"Condition": {
"Bool": {
"polardb:EncryptionRequired": [
"false"
]
}
}
}
]
}`Effect: Deny`: Memblokir setiap tindakan PolarDB di mana
polardb:EncryptionRequiredbernilaifalse. Semua operasi ditolak kecuali TDE diaktifkan.
Langkah berikutnya
Gunakan RAM untuk otorisasi resource — pahami format ARN resource PolarDB dan cara menargetkan kluster, wilayah, atau akun tertentu dalam kebijakan Anda
Layanan yang kompatibel dengan RAM — daftar lengkap operasi API PolarDB yang mendukung otorisasi RAM
Struktur dan sintaksis kebijakan — referensi untuk semua field kebijakan, operator kondisi, dan nilai yang didukung