PostgreSQL Berikan Semua Keistimewaan pada Skema kepada Pengguna

Postgresql Berikan Semua Keistimewaan Pada Skema Kepada Pengguna



Pangkalan data adalah penting, dan menjadi tugas pentadbir untuk mengawal peranan berbeza yang boleh dilakukan oleh pengguna dalam pangkalan data tertentu. Sebagai sebahagian daripada kebenaran, pentadbir boleh mentakrifkan entiti pengguna dalam pangkalan data dan memberikan atau membatalkan pelbagai keistimewaan kepada peranan tersebut.

Dengan cara itu, anda mendapat kawalan ke atas siapa yang boleh mengakses pangkalan data dan apa keistimewaan yang mereka miliki jika mereka boleh mengakses pangkalan data. Sebagai contoh, anda boleh membatalkan pengubahsuaian pangkalan data atau memberikan semua keistimewaan pada skema kepada pengguna atau pengguna dalam jadual tertentu. Panduan ini memperincikan cara menggunakan PostgreSQL untuk memberikan pengguna semua keistimewaan pada skema kepada pengguna.







Cara Memberi Keistimewaan kepada Pengguna di PostgreSQL

Apabila anda membuat peranan baharu, mereka mendapat beberapa keistimewaan secara lalai. Walau bagaimanapun, kebanyakan keistimewaan memerlukan pentadbir memberikannya kepada pengguna yang berbeza untuk mengawal selia akses dan kawalan skema. Anda boleh memberikan semua keistimewaan sekaligus atau secara berasingan.



Untuk tutorial ini, mari buat yang baharu peranan bernama linuxhint1 .



$ sudo -iu postgres
# cipta peranan linuxhint1 kata laluan log masuk 'linuxhint';


Ambil perhatian bahawa kami log masuk sebagai postgres, peranan lalai dibuat sebaik sahaja anda memasang PostgreSQL.






Dengan peranan (pengguna) yang dicipta, kita boleh menyenaraikan peranan yang tersedia menggunakan arahan berikut:

# \ daripada


Peranan yang tersedia akan dipaparkan dalam format jadual.




Postgres ialah peranan lalai dan mempunyai kebanyakan keistimewaan yang telah diberikan. Namun, peranan baru linuxhint1, tidak mempunyai keistimewaan sehingga kita memberikannya.

1. Memberi Keistimewaan Tertentu kepada Pengguna

Peranan yang dibuat tidak boleh mengubah suai skema melainkan anda membenarkannya. Mari sahkan ini dengan membuat jadual sebagai peranan lalai dahulu, postgres.

# buat nama jadual ( m_id int dijana sentiasa sebagai identiti, nama vachar ( 100 ) bukan nol, lname varchar ( 100 ) bukan batal, umur int ) ;



Anda boleh menyenaraikan hubungan yang tersedia, seperti yang ditunjukkan di bawah:


Seterusnya, buka shell baharu dan log masuk ke PostgreSQL menggunakan peranan lain, linuxhint1, yang kami buat sebelum ini menggunakan arahan berikut:

$ psql -DALAM linuxhint1 -d postgres



The -d menentukan bahawa peranannya adalah untuk menggunakan pangkalan data Postgres.

Cuba baca kandungan jadual yang kami buat menggunakan PILIH perintah.

# PILIH * DARIPADA nama;


Ia mengembalikan a kebenaran ditolak ralat menghalang pengguna daripada mengakses jadual.


Dalam kes sedemikian, kami perlu memberikan keistimewaan peranan untuk memilih/melihat data daripada jadual yang diberikan menggunakan sintaks berikut:

# BERIKAN nama_keistimewaan PADA nama_jadual KEPADA nama_peranan;


Untuk memberikan keistimewaan, gunakan sesi Postgres.


Setelah diberikan, cuba jalankan semula arahan sebelumnya.


itu sahaja. Anda berjaya memberikan keistimewaan pilihan kepada pengguna tertentu.

2. Memberi Semua Keistimewaan pada Skema kepada Pengguna

Setakat ini, kami telah berjaya memberikan hanya satu keistimewaan pada skema kepada pengguna. Nah, itu tidak mencukupi. Pengguna tidak boleh mengubah suai skema melainkan anda memberikan semua keistimewaan, seperti memasukkan dan mengemas kini.

Terdapat pelbagai cara untuk mencapai ini. Pertama, mari berikan pengguna semua keistimewaan kepada jadual yang diberikan menggunakan sintaks berikut:

# BERIKAN SEMUA PADA table_name KEPADA role_name;



Pengguna boleh berinteraksi dengan dan mengubah suai jadual tertentu. Walau bagaimanapun, mereka tidak boleh berfungsi dengan jadual lain dalam skema.

Kepada berikan semua keistimewaan pada semua jadual dalam skema tertentu , gunakan sintaks berikut:

# BERIKAN SEMUA PADA SEMUA JADUAL DALAM SKEMA schema_name KEPADA role_name;



Akhir sekali, anda boleh memberikan keistimewaan tertentu, seperti memasukkan atau memilih semua jadual pada skema kepada peranan tertentu .

# BERIKAN nama_istimewa PADA SEMUA JADUAL DALAM SKEMA schema_name KEPADA role_name;



Peranan boleh memilih data dalam semua jadual dalam skema yang ditentukan. Begitulah cara anda mentakrifkan keistimewaan yang akan diberikan pada skema kepada pengguna yang berbeza.

Kesimpulan

PostgreSQL ialah DBMS yang berkuasa. Ia mempunyai ciri yang berbeza, termasuk membenarkan pentadbir memberikan pelbagai keistimewaan kepada pengguna. Memberi semua keistimewaan pada skema kepada pengguna bermakna membenarkan pengguna mengubah suai dan berinteraksi dengan semua jadual dalam skema yang ditentukan. Kami telah melihat cara menggunakan itu dan cara lain untuk memberikan keistimewaan pada skema kepada peranan menggunakan pernyataan GRANT dalam PostgreSQL.