Topik ini menjelaskan izin yang dimiliki oleh akun istimewa dan akun standar.
Ikhtisar
Untuk memastikan keamanan database cloud, Anda harus mengelola dan membatasi izin pengguna. Pengguna hanya boleh memiliki izin yang diperlukan untuk tugasnya dan tidak boleh memiliki izin di luar cakupannya. Oleh karena itu, database cloud menggunakan model Kontrol akses berbasis peran (RBAC) untuk mengelola izin pengguna biasa. Dalam model ini, pengguna yang berbeda diberi peran yang berbeda; setiap peran memiliki izin tertentu, dan pengguna ditetapkan ke peran berdasarkan operasi yang perlu mereka lakukan. Pendekatan ini secara efektif mengontrol izin pengguna dan menjamin keamanan database.
Saat ini, database menyediakan dua peran untuk pengguna: Pengguna dengan hak istimewa dan pengguna standar.
-
Pengguna dengan hak istimewa terutama digunakan untuk tugas manajemen, seperti membuat database, memberikan izin dasar, serta membuat publication dan subscription.
-
Pengguna standar adalah peran dasar yang digunakan untuk menjalankan berbagai operasi logika bisnis.
PolarDB menggunakan sistem izin ini untuk mendefinisikan jenis operasi database, menerapkan model Kontrol akses, dan lebih efektif menjaga keamanan izin database cloud.
Izin Pengguna dengan Hak Istimewa
|
Jenis Akun |
Izin |
|
Akun istimewa |
Membuat, memperbarui, mengakses, dan menghapus semua objek non-sistem. Objek tersebut mencakup objek dasar seperti tables, indexes, types, dan views, serta objek lanjutan seperti functions dan procedures. Selain itu, izin objek dari semua pengguna dengan hak istimewa bersifat shared. Setiap pengguna dengan hak istimewa dapat mengakses objek milik pengguna dengan hak istimewa lainnya. |
|
Membuat database. Untuk informasi selengkapnya, lihat Create a database. |
|
|
Membuat extensions. Untuk informasi selengkapnya, lihat Extensions. |
|
|
Membuat pengguna dengan izin yang tidak melebihi izin Anda sendiri. Untuk informasi selengkapnya, lihat Create a user. |
|
|
Membuat dan menggunakan event triggers. Untuk informasi selengkapnya, lihat Create a trigger. |
|
|
Membuat dan memodifikasi types. Untuk informasi selengkapnya, lihat Create an object type. |
|
|
Menjalankan perintah garbage collection. Untuk informasi selengkapnya, lihat Garbage collection mechanism. |
|
|
Membuat dan memodifikasi foreign data wrappers (FDWs). Untuk informasi selengkapnya, lihat Use oss_fdw to read and write external text files. |
|
|
Membuat publication dan subscription. Contoh:
Catatan
|
|
|
Menggunakan transaksi dua fase. Contoh:
|
|
|
Mengirim sinyal. Contoh:
|
|
|
Menampilkan status proses latar belakang. Contoh:
|
Izin Pengguna Standar
|
Jenis Akun |
Izin |
|
Akun standar |
Terhubung ke semua database. |
|
Menanyakan objek yang telah diberikan izin PUBLIC kepada akun tersebut. |
Izin yang Tidak Tersedia untuk Pengguna Istimewa maupun Standar
Beberapa izin menimbulkan risiko keamanan bagi database. Oleh karena itu, izin berikut saat ini dilarang untuk semua pengguna.
|
Jenis Akun |
Izin |
|
Akun istimewa/Akun standar |
Memodifikasi parameter sistem. |
|
Membuat tablespaces. |
|
|
Menghentikan proses superuser. |
|
|
Menjalankan kode dalam bahasa yang tidak tepercaya. Catatan
plpgsql adalah bahasa yang tepercaya. Semua bahasa lainnya tidak tepercaya dan tidak dapat dijalankan. |
Izin Kelompok Pengguna
PolarDB for PostgreSQL dibangun di atas PostgreSQL dan mewarisi beberapa peran kelompok PostgreSQL. Bagian berikut menjelaskan izin kelompok ini secara rinci. Izin-izin ini dan izin pengguna dengan hak istimewa yang dijelaskan di atas membentuk union—kumpulan izin akhir merupakan gabungan keduanya.
|
Nama Peran |
Status |
Deskripsi |
|
pg_read_all_stats & pg_stat_scan_tables |
Full |
Izin terkait statistik. Dimiliki sepenuhnya. |
|
pg_signal_backend |
Full |
Mengirim sinyal ke proses lain. Dimiliki sepenuhnya. |
|
pg_polar_superuser |
Full |
Kelompok pengguna dengan hak istimewa. Mencakup serangkaian komprehensif izin pengguna dengan hak istimewa. Dimiliki sepenuhnya. |
|
pg_polar_replication |
Full |
Memberikan izin bagi pengguna untuk menggunakan streaming replication. Dimiliki sepenuhnya. |
|
pg_monitor |
Full |
Izin pemantauan. Akses baca-tulis ke file lokal diblokir. |
|
pg_read_all_data & pg_write_all_data |
Restricted |
Izin baca-tulis untuk tabel apa pun. 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 |
Restricted |
Izin baca untuk parameter apa pun. Dapat membaca parameter dalam cakupan izin. Akses ke beberapa parameter diblokir karena alasan keamanan. |
|
pg_read_server_files & pg_write_server_files |
Blocked |
Izin baca-tulis untuk file lokal tidak didukung. |
|
pg_execute_server_program |
Blocked |
Izin untuk menjalankan perintah biner tidak didukung. |