PostgreSQL dotacja wszystkich uprawnień w schemacie dla użytkownika

PostgreSQL dotacja wszystkich uprawnień w schemacie dla użytkownika

Bazy danych są kluczowe i jest to praca administratora do kontrolowania tego, co różne role mogą wykonać w ramach danej bazy danych. W ramach autoryzacji administrator może zdefiniować podmioty użytkowników w bazie danych i przyznać lub odwołać różne uprawnienia do ról.

W ten sposób osiągasz kontrolę nad tym, kto może uzyskać dostęp do bazy danych i jakie mają uprawnienia, jeśli mogą uzyskać dostęp do bazy danych. Na przykład możesz cofnąć modyfikację bazy danych lub przyznać wszystkie uprawnienia w schemacie użytkownikowi lub użytkownikom w danej tabeli. Niniejszy przewodnik opisuje, jak korzystać z PostgreSQL, aby udzielić użytkownikowi wszystkich uprawnień na schema.

Jak przyznać uprawnienia użytkownikom na PostgreSQL

Kiedy tworzysz nową rolę, domyślnie otrzymują uprawnienia. Jednak większość uprawnień wymaga od administratora udzielenia ich różnym użytkownikom regulacji dostępu i kontroli schematu. Możesz przyznać wszystkie przywileje jednocześnie lub osobno.

W tym samouczku stwórzmy nowe rola o imieniu Linuxhint1.

$ sudo -iu postgres
# Utwórz rolę Linuxhint1 Hasło logowania „Linuxhint”;


Zauważ, że jesteśmy zalogowani jako Postgres, Domyślna rola utworzona po zainstalowaniu PostgreSQL.


Po utworzeniu roli (użytkownika) możemy wymienić dostępne role za pomocą następującego polecenia:

# \ du


Dostępne role będą wyświetlane w formacie tabeli.


Postgres jest domyślną rolą i ma już najwięcej przywilejów. Jednak nowa rola, Linuxhint1, nie ma przywilejów, dopóki go nie udzielimy.

Przyznanie użytkownikowi konkretnego przywileju

Utworzona rola nie może zmodyfikować schematu, chyba że na to pozwolisz. Sprawdźmy to, najpierw tworząc tabelę jako domyślną rolę, Postgres.

# Utwórz nazwy tabel (m_id int wygenerowane zawsze jako tożsamość, fname vachar (100) not null, lname varchar (100) nie null, wiek int);



Możesz wymienić dostępne relacje, jak pokazano poniżej:


Następnie otwórz nową powłokę i zaloguj się do PostgreSQL za pomocą drugiej roli, Linuxhint1, że stworzyliśmy wcześniej za pomocą następującego polecenia:

$ psql -U Linuxhint1 -d Postgres



-D Określa, że ​​rolą jest korzystanie z bazy danych Postgres.

Spróbuj odczytać zawartość tabeli, którą stworzyliśmy za pomocą WYBIERAĆ Komenda.

# Wybierz * z nazw;


Zwraca Zezwolenie odrzucone Błąd utrudniający użytkownik dostęp do tabeli.


W takim przypadku musimy przyznać uprawnienia do roli, aby wybrać/wyświetlić dane z podanej tabeli za pomocą następującej składni:

# Dotacja_napige_name na nazwie_name do nazwy roli;


Aby przyznać uprawnienia, skorzystaj z sesji Postgres.


Po przyznaniu spróbuj ponownie uruchomić poprzednie polecenie.


Otóż ​​to. Udało ci się przyznać uprawnienia wyboru konkretnego użytkownika.

Przyznanie użytkownikowi wszystkich uprawnień do schematu

Do tej pory udało nam się przyznać użytkownikowi tylko jeden przywilej schematu. Cóż, to nie wystarczy. Użytkownik nie może zmodyfikować schematu, chyba że przyznasz mu wszystkie uprawnienia, takie jak wstawienie i aktualizacja.

Istnieją różne sposoby osiągnięcia tego. Najpierw udzielić użytkownikowi wszystkich uprawnień do danej tabeli Za pomocą następującej składni:

# Dotacja wszystkie na nazwie_name_name;



Użytkownik może wchodzić w interakcje z konkretną tabelą i modyfikować. Nie mogą jednak pracować z innymi tabelami w schemacie.

Do przyznać wszystkie przywileje na wszystkie tabele w określonym schemacie, Użyj następującej składni:

# Daj wszystkie tabele we wszystkich tabelach w nazwie schematu do nazwy roli;



Na koniec możesz Przyznaj konkretne przywileje, takie jak wstawienie lub wybieranie wszystkich tabel w schemacie do danej roli.

# Dotacja_napige_name na wszystkich tabelach w nazwie schematu do nazwy roli;



Rola może wybrać dane we wszystkich tabelach w określonym schemacie. W ten sposób definiujesz, jakie przywileje przyznać schematu różnym użytkownikom.

Wniosek

PostgreSQL to potężny DBMS. Ma różne funkcje, w tym umożliwienie administratorowi przyznania użytkownikom różnych uprawnień. Przyznanie wszystkich uprawnień w schemacie użytkownikom oznacza umożliwienie użytkownikowi modyfikacji i interakcji ze wszystkimi tabelami w określonym schemacie. Widzieliśmy, jak zastosować to i inne sposoby przyznawania uprawnień do schematu ról za pomocą oświadczenia dotacji w PostgreSQL.