Jak sprawdzić uprawnienia Postgres dla użytkownika?

Jak sprawdzić uprawnienia Postgres dla użytkownika?
W SQL przywilej odnosi się do konkretnej zgody lub prawej do działania w bazach danych na serwerze. Na przykład w PostgreSQL uprawnienia mogą zawierać uprawnienia do zalogowania się na serwerze, aby wykonać różne działania.

Ten szybki samouczek pokaże, jak uzyskać uprzywilejowane informacje o użytkowniku dostępnym na serwerze.

Rodzaje przywilejów

Zanim przejdziemy do zapytania PostgreSQL, aby uzyskać informacje o użytkownika.

Rodzaje uprawnień w PostgreSQL DBMS to:

  • WYBIERAĆ - Wybierz uprawnienia umożliwia użytkownikowi wybór wartości z dowolnej kolumny dowolnego obiektu podobnego do tabeli. Obiekty podobne do tabeli w PostgreSQL zawierają tabelę, widok, zmaterializowany widok itp.
  • WSTAWIĆ - Zezwolenie na wstawienie pozwala użytkownikowi wstawić nowe wiersze do tabeli. Możesz także udzielić uprawnień wstawki na określonej kolumnie, umożliwiając wstawkę w rzędach tylko do zestawu kolumn.
  • AKTUALIZACJA - Ten typ uprawnienia umożliwia zestawowi użytkownika aktualizacji wierszy w dowolnych kolumnach w tabeli lub widoku. Podobnie do uprawnienia Wstaw, możesz ustawić go na określonej kolumnie, aby umożliwić użytkownikowi aktualizację rzędów tylko określonych kolumn (.
  • USUWAĆ - Umożliwi to użytkownikowi upuszczenie/usunięcie wiersza z dowolnego modyfikowalnego obiektu podobnego do tabeli. Wymaga to, aby użytkownik miał zgodę na wybranie, ponieważ musi odwołać się do kolumn tabeli w celu zweryfikowania wierszy do upuszczenia.
  • ŁĄCZYĆ - Zezwolenie na połączenie pozwala użytkownikowi podłączyć się do serwera. Ten rodzaj uprawnień jest sprawdzany na uruchomieniu połączenia przez PG_HBA.plik CONF.
  • TWORZYĆ - Utwórz uprawnienia umożliwia użytkownikowi utworzenie nowego schematu, tabela w zestawie danych. Może również pozwolić użytkownikowi na zainstalowanie rozszerzeń w bazie danych. Jeśli to uprawnienie zostanie cofnięte na użytkowniku, nie usuwa wszystkich istniejących obiektów, dopóki punkt zakończenia.
  • ŚCIĘTY - Jak sama nazwa wskazuje, zapewnia zgodę użytkownika na obcięcie tabeli.
  • SPUST - To umożliwia użytkownikowi utworzenie spustu na obiektach podobnych do tabeli.
  • TYMCZASOWY - Umożliwia użytkownikom utworzenie tymczasowej tabeli podczas podłączania się do zestawu danych.
  • WYKONAĆ - Wykonaj uprawnienie umożliwia użytkownikowi wywołanie funkcji lub procedur. Jest to jedyny rodzaj zgody, który może dotyczyć funkcji/procedur.
  • BIBLIOGRAFIA - Pozwala użytkownikowi tworzyć ograniczenia kluczy obcego, które odwołują się do tabeli lub kolumn.

Jak pokazać uprawnienia użytkownika

Lista uprawnień użytkownika jest prosta. W PSQL użyj zapytania \ du+, jak pokazano na poniższym wyjściu:

$ postgres =# \ du+

Powyższe dane wyjściowe pokazuje użytkowników Postgres i Temp z odpowiednimi uprawnieniami.

Innym sposobem na to jest użycie schematu Information_Schema i zapytanie tabeli TABLE_PRIVILEGES jako:

$ Wybierz * z Information_Schema.TABLE_PRIVILEGES limit 5;

Powyższe zapytanie wyświetli szczegółowe informacje o uprawnieniach użytkownika w bazach danych, a także tabele.

Aby filtrować dla określonego użytkownika, możesz dodać klauzulę Where:

$ Wybierz * z Information_Schema.TABLE_PRIVILEGES Where Grantee = „Postgres” Limit 5;

Wniosek

W tym krótkim samouczku omówiono sposoby pobierania uprzywilejowanych informacji o użytkownikach na serwerze PostgreSQL.