All Products
Search
Document Center

Hologres:Simple permission model (SPM)

Last Updated:Aug 23, 2026

Topik ini menjelaskan Simple Permission Model (SPM) Hologres.

Informasi latar belakang

Hologres kompatibel dengan PostgreSQL dan memungkinkan Anda menggunakan standard PostgreSQL authorization model. Untuk informasi selengkapnya, lihat Expert permission model. Standard PostgreSQL authorization model menerapkan pembagian izin yang ketat. Model ini rumit digunakan dalam skenario bisnis nyata dan memiliki beberapa masalah umum berikut:

  • Jika Anda perlu memberikan izin kepada pengguna, Anda harus mengeksekusi banyak pernyataan otorisasi.

  • Peran yang berbeda memerlukan izin yang berbeda, sehingga pemberian izin menjadi merepotkan. Selain itu, jika satu pernyataan otorisasi terlewat saat memberikan izin kepada pengguna, pengguna tersebut tidak dapat melakukan operasi yang sesuai.

  • Anda harus mengeksekusi pernyataan otorisasi yang sama untuk setiap pengguna baru, yang memakan waktu.

  • Meskipun Hologres menyediakan pernyataan otorisasi PostgreSQL standar sebagai referensi, kebiasaan pribadi Anda mungkin menyebabkan kegagalan dalam mengeksekusi pernyataan otorisasi yang tepat untuk berbagai jenis izin. Hal ini dapat menyebabkan kekacauan dalam pengelolaan izin serta menimbulkan risiko bagi bisnis Anda dan meningkatkan biaya pengelolaan, waktu, serta penggunaan.

Untuk mengatasi masalah-masalah tersebut, Hologres mengembangkan SPM yang didasarkan pada standard PostgreSQL authorization model namun menerapkan pengelolaan izin secara coarse-grained. SPM mengelola izin pada tingkat database dan menyediakan peran berikut: admin, developer, writer, dan viewer. Dengan hanya beberapa fungsi, Anda dapat mengelola izin pada objek dalam suatu database secara mudah dan aman.

Ikhtisar SPM

SPM menyediakan peran berikut untuk setiap database:

  • {db}_admin: database administrator

  • {db}_developer: developer

  • {db}_writer: reader and writer

  • {db}_viewer: analyst

Tabel berikut menjelaskan izin untuk setiap peran.

Role

Permission

{db}_admin

  • Administrator suatu database.

  • Memiliki izin dari kelompok {db}_developer, {db}_writer, dan {db}_viewer.

  • Memiliki kepemilikan atas database dan berhak menghapus database tersebut.

  • Berhak menambahkan dan menghapus anggota dalam kelompok {db}_admin, {db}_developer, {db}_writer, dan {db}_viewer dari database tersebut.

  • Berhak melakukan kueri, menambah, mengubah, dan menghapus objek seperti schema dalam database.

  • Berhak mengubah konfigurasi database.

{db}_developer

  • Developer suatu database.

  • Memiliki izin dari kelompok {db}_writer dan {db}_viewer.

  • Memiliki kepemilikan atas semua objek non-sistem di semua schema dalam database, termasuk tabel, foreign table, dan objek mirip tabel seperti view, fungsi, prosedur, foreign server, foreign data wrapper, tipe, dan bahasa. Selain itu, developer dapat melakukan kueri, menambah, mengubah, dan menghapus tabel di semua schema.

  • Memiliki izin USAGE dan CREATE pada semua schema serta dapat mengeksekusi pernyataan data definition language (DDL) untuk membuat tabel, view, dan foreign table di semua schema non-sistem.

{db}_writer

  • Reader and writer suatu database.

  • Memiliki izin dari kelompok {db}_viewer.

  • Berhak mengeksekusi pernyataan SELECT, INSERT, UPDATE, dan DELETE pada semua tabel, foreign table, dan objek mirip tabel seperti view di semua schema.

  • Berhak melakukan kueri, menambah, mengubah, dan menghapus semua schema dalam database.

  • Berhak mengakses dan menggunakan semua objek yang dimiliki oleh developer database, termasuk fungsi, prosedur, foreign server, foreign data wrapper, tipe, dan bahasa.

  • Memiliki izin USAGE pada semua schema tetapi tidak dapat mengeksekusi pernyataan DDL.

{db}_viewer

  • Analyst suatu database.

  • Memiliki izin SELECT pada semua tabel, foreign table, dan objek mirip tabel seperti view di semua schema.

  • Berhak mengakses dan menggunakan semua objek yang dimiliki oleh developer database, termasuk fungsi, prosedur, foreign server, foreign data wrapper, tipe, dan bahasa.

  • Memiliki izin USAGE pada semua schema.