Przywileje dotacji PostgreSQL

Przywileje dotacji PostgreSQL

W PostgreSQL użytkownik musi mieć Przywilej logowania Aby zalogować się do bazy danych. Jednak należy przypisać wyraźne uprawnienia do wykonywania operacji bazy danych, w tym wybieranie tabel, kolumn i rekordów.

Grant PostgreSQL Zapytanie umożliwia modyfikowanie uprawnień dla użytkowników w obiektach bazy danych, takich jak tabele, kolumny, widoki, funkcje, schematy i inne.

Ten samouczek przeprowadzi cię przez korzystanie z Grant PostgreSQL polecenie modyfikowania uprawnień dla różnych obiektów bazy danych.

Podstawowe użycie

Podstawową składnią do polecenia dotacji to:

Przywilej dotacji na obiekty (ów) dla użytkownika

W powyższej składni możesz określić jeden lub więcej uprawnień do przyznania użytkownikowi określonego obiektu.

Aby ustawić wszystkie uprawnienia na obiekcie, możesz użyć wszystkich słów kluczowych.

Niektóre z uprawnień, które możesz określić, aby przyznać w obiekcie, obejmują:

  1. WYBIERAĆ
  2. WSTAWIĆ
  3. AKTUALIZACJA
  4. USUWAĆ
  5. TWORZYĆ
  6. ŁĄCZYĆ
  7. SPUST
  8. ŚCIĘTY
  9. BIBLIOGRAFIA
  10. WYKONAĆ

Następnie określisz obiekt bazy danych i użytkownika, który do udzielania uprawnień SET.

Przykłady oświadczenia dotacji

Spójrzmy na kilka przykładów korzystania z Zapytanie grantowe na Baza danych PostgreSQL.

Najpierw utwórz lokalnego użytkownika bez uprawnień. Aby to zrobić, upewnij się, że zalogujesz się jako użytkownik administratora.

PSQL -U Postgres
Utwórz roli mode login „Hello”;

W następnym kroku utwórz przykładową bazę danych i tabelę, której użyjemy do zilustrowania uprawnień PostgreSQL.

Przykładowe zapytanie znajduje się poniżej:

Upuść bazę danych, jeśli istnieje privs;
Utwórz bazę danych privs;
\ c privs;
Utwórz tabelę modyfikuj (identyfikator, nazwa użytkownika varchar (255) nie null, e -mail varchar (255) nie null, kwota int, klucz podstawowy (id));

Na koniec wyjdź użytkownika Postgres i zaloguj się jako użytkownik, który właśnie stworzyliśmy powyżej. W powyższym przykładzie użyj polecenia:

PSQL -U MODS -D Privs;

Przykład 1

Jeśli spróbujesz wybrać wartości z tabeli modyfikującej bazę danych Privs, otrzymasz błąd odmowy uprawnień.

Na przykład:

privs => wybierz * z modyfikuj;
Błąd: odmowa zmodyfikowania tabeli

Możesz rozwiązać ten błąd, przyznawając wszystkie uprawnienia użytkownikowi MODS lub dodając uprawnienia do wybranych.

Aby to zrobić, zaloguj się jako użytkownik Postgres.

psql -u postgres -d privs;
Grant Wybierz na modyfikuj MODS;

Umożliwia to użytkownikom MODS wybieranie elementów z tabeli modyfikujących bazę danych Privs.

Po uruchomieniu instrukcji Select powinieneś uzyskać wyniki jako:

privs =# Wybierz * z modyfikuj;
Id | Nazwa użytkownika | E -mail | kwota
----+----------+-------+--------
(0 wierszy)

Przykład 2

Możesz także przypisać wiele uprawnień jednocześnie. Na przykład, aby określić Wybierz, wstaw, usuń i obcinaj uprawnienia, użyj polecenia.

GRAND SELECT, WESTER, Usuń, obcinaj na modyfikującym mody;

Przykład 3

Aby udzielić wszystkich uprawnień użytkownikowi, ustaw uprawnienia do wszystkich, jak pokazano w poniższym komendzie przykładowym:

Przyznać wszystko na modyfikuj na mods;

Przykład 4

We wszystkich powyższych przykładach przypisujemy użytkownikowi uprawnienia tylko w określonej tabeli. Aby przyznać przywileje wszystkim tabelom określonego schematu, możemy użyć polecenia:

GRAND SELECT, WESTER, Usuń, obcinaj na wszystkich tabelach w schemacie „Privs” do modów;

Przykład 5

Możesz również DOTACJA uprawnienie do określonego użytkownika do określonej bazy danych. Zapytanie brzmi:

Grant Connect w bazie danych Privs do modów;

Aby odwołać wszystkie uprawnienia przyznane użytkownikowi, użyj zapytania Revoke jako:

Cofnij Wybierz, wstaw, usuń, obcinaj na modyfikując z modów;

Zamknięcie

Jak pokazał ci ten przewodnik, PostgreSQL umożliwia modyfikowanie uprawnień do użytkownika w obiektach bazy danych za pomocą Dotacja i odwołanie polecenia.