全部产品
Search
文档中心

Hologres:SPM

更新时间:Jun 23, 2025

Topik ini menjelaskan model izin sederhana (SPM) dari Hologres.

Informasi latar belakang

Hologres kompatibel dengan PostgreSQL dan memungkinkan Anda menggunakan model otorisasi standar PostgreSQL. Untuk informasi lebih lanjut, lihat Model Otorisasi Standar PostgreSQL. Model otorisasi standar PostgreSQL secara ketat membagi izin, sehingga rumit untuk digunakan dalam skenario bisnis nyata. Model ini memiliki beberapa poin masalah berikut:

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

  • Peran yang berbeda memerlukan izin yang berbeda, membuat pemberian izin menjadi lebih kompleks. Selain itu, jika ada pernyataan otorisasi yang 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 standar PostgreSQL sebagai referensi, Anda mungkin gagal mengeksekusi pernyataan otorisasi yang tepat untuk berbagai izin karena kebiasaan Anda sendiri. Hal ini dapat menyebabkan kekacauan dalam manajemen izin, meningkatkan risiko bagi bisnis Anda, serta menambah biaya dalam manajemen, waktu, dan penggunaan.

Untuk mengatasi poin-poin masalah di atas, Hologres mengembangkan SPM, yang didasarkan pada model otorisasi standar PostgreSQL tetapi mengelola izin secara lebih sederhana. SPM mengelola izin pada tingkat database dan menyediakan peran berikut: admin, developer, writer, dan viewer. Anda dapat mengelola izin pada objek dalam database dengan menggunakan beberapa fungsi secara nyaman dan aman.

Ikhtisar SPM

SPM menyediakan peran berikut untuk setiap database:

  • {db}_admin: administrator database

  • {db}_developer: pengembang

  • {db}_writer: pembaca dan penulis

  • {db}_viewer: analis

Tabel berikut menjelaskan izin setiap peran.

Peran

Izin

{db}_admin

  • Administrator sebuah database.

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

  • Memiliki database dan memiliki izin untuk menghapus database.

  • Memiliki izin untuk menambah dan menghapus anggota di grup {db}_admin, {db}_developer, {db}_writer, dan {db}_viewer dari database.

  • Memiliki izin untuk menanyakan, menambah, memodifikasi, dan menghapus objek seperti skema dalam database.

  • Memiliki izin untuk memodifikasi konfigurasi database.

{db}_developer

  • Pengembang sebuah database.

  • Memiliki izin grup {db}_writer dan {db}_viewer.

  • Memiliki semua objek non-sistem dari semua skema dalam database, termasuk tabel, tabel asing, dan objek mirip tabel seperti tampilan, fungsi, prosedur, server asing, pembungkus data asing, tipe, dan bahasa. Selain itu, pengembang dapat menanyakan, menambah, memodifikasi, dan menghapus tabel di semua skema.

  • Memiliki izin USAGE dan CREATE pada semua skema dan dapat mengeksekusi pernyataan bahasa definisi data (DDL) untuk membuat tabel, tampilan, dan tabel asing di semua skema non-sistem.

{db}_writer

  • Pembaca dan penulis sebuah database.

  • Memiliki izin grup {db}_viewer.

  • Memiliki izin untuk mengeksekusi pernyataan SELECT, INSERT, UPDATE, dan DELETE pada semua tabel, tabel asing, dan objek mirip tabel seperti tampilan di semua skema.

  • Memiliki izin untuk menanyakan, menambah, memodifikasi, dan menghapus semua skema dalam database.

  • Memiliki izin untuk mengakses dan menggunakan semua objek yang dimiliki oleh pengembang database, termasuk fungsi, prosedur, server asing, pembungkus data asing, tipe, dan bahasa.

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

{db}_viewer

  • Analis sebuah database.

  • Memiliki izin SELECT pada semua tabel, tabel asing, dan objek mirip tabel seperti tampilan di semua skema.

  • Memiliki izin untuk mengakses dan menggunakan semua objek yang dimiliki oleh pengembang database, termasuk fungsi, prosedur, server asing, pembungkus data asing, tipe, dan bahasa.

  • Memiliki izin USAGE pada semua skema.