Berikut ini adalah daftar perintah yang tampaknya berfungsi untuk membuat pengguna baru (login) dan memberikan akses hanya baca untuk satu tabel yang ditentukan pada PostgreSQL.
Mari kita asumsikan bahwa perintah-perintah ini dijalankan pada saat login dengan hak istimewa yang cukup (mis. postgresLogin pada instalasi default).
CREATE ROLE user_name NOSUPERUSER NOCREATEDB
NOCREATEROLE NOINHERIT LOGIN PASSWORD 'pwd' VALID UNTIL 'infinity';
Sekarang saya ingin memberikan selectpada tabel tab_abcdi database db_xyz, jadi begini (database db_xyzdipilih sebagai arus melalui PgAdmin atau sesuatu seperti itu):
grant select on tab_abc to user_name;
Pertanyaannya adalah: apakah ini cukup atau harus ada lebih banyak hibah (database connect, usagemungkin)?
Perintah-perintah ini sepertinya bekerja untuk saya, tetapi instalasi default saya memiliki pengaturan keamanan default. Apa hibah tambahan yang harus saya tambahkan jika admin server mengkonfigurasi keamanan yang lebih kuat?
Tampaknya saya tidak perlu memberikan connectatau tidak usage- apakah itu implisit saat memberikan select? Apakah selalu demikian?