Topik ini menjelaskan izin untuk akun istimewa dan akun standar.
Pendahuluan
Untuk menjaga keamanan database, Anda harus mengelola dan membatasi izin pengguna dengan hanya memberikan izin yang diperlukan untuk tugas mereka. ApsaraDB menggunakan model Kontrol akses berbasis peran (RBAC) untuk mengelola izin pengguna. Dalam model ini, pengguna ditetapkan ke peran tertentu, dan setiap peran memiliki serangkaian izin yang telah ditentukan. Pendekatan ini memungkinkan kontrol akses yang efektif dan meningkatkan keamanan database.
Database menyediakan dua jenis peran pengguna: Pengguna dengan hak istimewa dan pengguna biasa.
Pengguna dengan hak istimewa melakukan tugas manajemen, seperti membuat database, memberikan izin dasar, serta membuat publication dan subscription.
Pengguna biasa menjalankan berbagai operasi logika bisnis.
PolarDB menerapkan sistem izin ini untuk mendefinisikan jenis operasi database dan menerapkan model kontrol akses guna meningkatkan keamanan ApsaraDB.
Izin Pengguna dengan Hak Istimewa
Jenis Akun | Izin |
Akun istimewa | Membuat, memperbarui, mengakses, dan menghapus semua objek non-sistem, seperti tabel, indeks, tipe, tampilan, fungsi, dan prosedur. Izin pada objek-objek ini dibagikan di antara semua pengguna dengan hak istimewa, sehingga memungkinkan pengguna dengan hak istimewa mana pun untuk mengakses objek yang dimiliki oleh pengguna dengan hak istimewa lainnya. |
Membuat database. Untuk informasi selengkapnya, lihat Create a database. | |
Membuat ekstensi. Untuk informasi selengkapnya, lihat Extensions. | |
Membuat pengguna dengan izin yang tidak lebih besar daripada izin mereka sendiri. Untuk informasi selengkapnya, lihat Membuat Pengguna. | |
Membuat dan menggunakan event trigger. Untuk informasi selengkapnya, lihat Create a trigger. | |
Membuat dan memodifikasi tipe. Untuk informasi selengkapnya, lihat Create an object type. | |
Memanggil instruksi garbage collection. Untuk informasi selengkapnya, lihat Garbage collection mechanism. | |
Membuat dan memodifikasi foreign data wrapper (FDW). Untuk informasi selengkapnya, lihat Use oss_fdw to read and write external text files. | |
Membuat publikasi dan langganan. Contoh: Catatan Anda harus menggunakan | |
Menggunakan transaksi dua fase. Contoh: | |
Mengirim sinyal. Contoh: | |
Menampilkan status proses latar belakang. Contoh: |
Izin Pengguna Standar
Jenis Akun | Izin |
Akun standar | Izin untuk terhubung ke semua database. |
Izin untuk melakukan kueri terhadap objek yang memiliki izin PUBLIC. |
Izin yang Tidak Tersedia untuk Pengguna Istimewa dan Standar
Izin berikut dilarang untuk semua pengguna karena menimbulkan risiko keamanan bagi database.
Jenis Akun | Izin |
Akun istimewa/Akun standar | Memodifikasi parameter sistem. |
Membuat tablespace. | |
Menghentikan proses superuser. | |
Menjalankan bahasa yang tidak tepercaya. Catatan plpgsql adalah bahasa tepercaya. Semua bahasa lain tidak tepercaya dan tidak dapat dijalankan. |
Izin grup pengguna
Database cloud-native PolarDB for PostgreSQL dibangun di atas PostgreSQL dan mewarisi beberapa izin kelompok dari PostgreSQL. Bagian ini menjelaskan mekanisme pewarisan izin kelompok tersebut. Izin-izin ini dikombinasikan dengan izin pengguna dengan hak istimewa yang telah dijelaskan sebelumnya. Set izin akhir merupakan gabungan (union) dari keduanya.
Nama Izin | Status Izin | Deskripsi |
pg_read_all_stats & pg_stat_scan_tables | Penuh | Izin lengkap terkait informasi statistik. |
pg_signal_backend | Penuh | Izin lengkap untuk mengirim sinyal ke proses lain. |
pg_polar_superuser | Penuh | Kelompok pengguna dengan hak istimewa yang mencakup serangkaian izin untuk pengguna dengan hak istimewa. Dimiliki sepenuhnya. |
pg_polar_replication | Penuh | Memberikan izin untuk menggunakan streaming replication. Dimiliki sepenuhnya. |
pg_monitor | Lengkap | Memberikan izin pemantauan, tetapi memblokir izin baca dan tulis untuk file lokal. |
pg_read_all_data & pg_write_all_data | Dibatasi | Izin untuk membaca dan menulis tabel apa pun. Anda dapat membaca dan menulis tabel pengguna apa pun serta membaca sebagian besar tabel sistem. Akses ke beberapa tabel sistem diblokir karena alasan keamanan. |
pg_read_all_settings | Dibatasi | Izin untuk membaca parameter apa pun. Anda dapat membaca parameter dalam cakupan izin Anda. Akses ke beberapa parameter diblokir karena alasan keamanan. |
pg_read_server_files & pg_write_server_files | Diblokir | Izin untuk membaca dan menulis file lokal tidak didukung. |
pg_execute_server_program | Diblokir | Izin untuk menjalankan perintah biner tidak didukung. |