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.