PostgreSQL Grant -Privilegien

PostgreSQL Grant -Privilegien

In PostgreSQL muss ein Benutzer die haben Login -Privileg Um sich in der Datenbank anzumelden. Explizite Berechtigungen müssen jedoch zugewiesen werden, um Datenbankvorgänge auszuführen, einschließlich der Auswahl von Tabellen, Spalten und Datensätzen.

Der PostgreSQL Grant Mit Abfrage können Sie Berechtigungen für Benutzer in Datenbankobjekten wie Tabellen, Spalten, Ansichten, Funktionen, Schemata und mehr ändern.

Dieses Tutorial führt Sie durch die Verwendung der PostgreSQL Grant Befehl zur Änderung der Berechtigungen für verschiedene Datenbankobjekte.

Grundnutzung

Die grundlegende Syntax für den Zuschussbefehl lautet:

Gewähren Sie dem Benutzer Berechtigungen für Objekte

In der obigen Syntax können Sie dem Benutzer eine oder mehrere Berechtigungen angeben, die Sie dem angegebenen Objekt gewähren können.

Um alle Berechtigungen auf einem Objekt festzulegen, können Sie das All -Keyword verwenden.

Einige der Berechtigungen, die Sie angeben können, um ein Objekt zu gewähren, umfassen:

  1. WÄHLEN
  2. EINFÜGUNG
  3. AKTUALISIEREN
  4. LÖSCHEN
  5. ERSTELLEN
  6. VERBINDEN
  7. ABZUG
  8. KÜRZEN
  9. VERWEISE
  10. AUSFÜHREN

Als nächstes geben Sie das Datenbankobjekt und den Benutzer an, der die festgelegten Berechtigungen gewährt.

Beispiele für die Erklärung von Erklärung

Sehen wir uns einige Beispiele für die Verwendung des Gebrauchs an Abfrage gewähren auf der PostgreSQL -Datenbank.

Erstellen Sie zunächst einen lokalen Benutzer ohne Berechtigungen. Stellen Sie dazu sicher, dass Sie sich als Administratorbenutzer anmelden.

psql -u postgres
Erstellen Sie Rollenmods Login -Passwort 'Hallo';

Erstellen Sie im nächsten Schritt eine Beispieldatenbank und Tabelle, mit der wir PostgreSQL -Berechtigungen veranschaulichen werden.

Eine Beispielabfrage ist unten:

Datenbank fallen lassen, falls es vorhanden ist
Datenbankrechte erstellen;
\ c privs;
Tabelle erstellen modifizieren (id serielle, username varchar (255) nicht null, E -Mail Varchar (255), nicht null, Menge int, Primärschlüssel (ID));

Beenden Sie schließlich den Benutzer des Postgres und melden Sie sich als Benutzer an, den wir erst oben erstellt haben. Verwenden Sie im obigen Beispiel den Befehl:

PSQL -U -Mods -D -Priv Sies;

Beispiel 1

Wenn Sie versuchen, Werte aus der Tabelle Änderung der Berechtigungsdatenbank auszuwählen, erhalten Sie eine Erlaubnisverweigerungsfehler.

Zum Beispiel:

privs => select * von modify;
Fehler: Berechtigung für die Tabelle Änderung abgelehnt

Sie können diesen Fehler lösen, indem Sie dem Mods -Benutzer alle Berechtigungen erteilen oder ausgewählte Berechtigungen hinzufügen.

Melden Sie sich dazu als Postgres -Benutzer an.

PSQL -U Postgres -d -Privs;
Grant Select on Modify to Mods;

Auf diese Weise können die Mods -Benutzer Elemente aus der Tabelle Änderung der Berechtigungsdatenbank auswählen.

Sobald Sie die Auswahlanweisung ausgeführt haben, sollten Sie Ergebnisse erzielen wie:

privs =# auswählen * von modify;
id | Benutzername | E -Mail | Menge
----+----------+-------+--------
(0 Zeilen)

Beispiel 2

Sie können auch mehrere Berechtigungen gleichzeitig zuweisen. Zum Beispiel angeben Wählen Sie Berechtigungen aus, einfügen, löschen und abschneiden, Verwenden Sie den Befehl.

Gewähren Sie auswählen, einfügen, löschen, auf Modifikationen abschneiden

Beispiel 3

Um einem Benutzer alle Berechtigungen zu gewähren, setzen Sie die Berechtigungen auf alle, wie im folgenden Beispielbefehl gezeigt:

Gewähren Sie alles auf Modify an Mods;

Beispiel 4

In allen obigen Beispielen weisen wir einem Benutzer in einer bestimmten Tabelle nur Berechtigungen zu. Um alle Tabellen eines bestimmten Schemas die Berechtigungen zu gewähren, können wir den Befehl verwenden:

Gewähren Sie ausgewählt, einfügen, löschen, auf allen Tabellen in Schema "privs" in Mods abschneiden

Beispiel 5

Du kannst auch GEWÄHREN Ein Connect -Berechtiger an einen bestimmten Benutzer zu einer bestimmten Datenbank. Die Abfrage lautet:

Grant Connect in Datenbankrechten mit Mods;

Verwenden Sie die Revoke -Abfrage als:

REPOKE Wählen Sie, einfügen, löschen, abschneiden, um von Mods zu modifizieren

Schließen

Wie diese Anleitung Ihnen gezeigt hat, PostgreSQL Ermöglicht Ihnen die Änderung der Berechtigungen an einen Benutzer in Datenbankobjekten mithilfe des Gewähren und widerrufen Befehle.