Direkt zum Inhalt
Urkunden
JSON-FunktionenTabellen & Schema ManagementMathe-FunktionenDatenbankenString-FunktionenAuslöserIndizesDatum FunktionenBasic Syntax

PostgreSQL REVOKE

Der Befehl `REVOKE` in PostgreSQL wird verwendet, um einem Benutzer oder einer Rolle die zuvor gewährten Rechte zu entziehen. Sie ist unerlässlich für die Verwaltung des Zugriffs auf Datenbankobjekte und gewährleistet Datensicherheit und Compliance.

Verwendung

Der Befehl `REVOKE` wird verwendet, wenn Benutzern oder Rollen die Berechtigung für bestimmte Datenbankobjekte wie Tabellen oder Schemas entzogen werden soll. Sie wird oft verwendet, um die Sicherheit zu erhöhen oder Zugangskontrollen anzupassen.

REVOKE privilege [, ...]
ON object_name [, ...]
FROM role_name [, ...];

In dieser Syntax entfernt `REVOKE` die angegebenen Privilegien von den definierten Rollen auf den bezeichneten Objekten. Kommas werden verwendet, um mehrere Privilegien, Objekte oder Rollen zu trennen.

Privileg-Typen

Zu den üblichen Privilegien, die widerrufen werden können, gehören:

  • `SELECT`
  • EINFÜGEN
  • `UPDATE`
  • `DELETE`
  • `TRUNCATE`
  • REFERENZEN
  • `TRIGGER`

Beispiele

1. Grundlegende Tabelle Entzug von Privilegien

REVOKE SELECT
ON employees
FROM user123;

In diesem Beispiel wird dem Benutzer "user123" das "SELECT"-Privileg für die Tabelle "Angestellte" entzogen. Wenn `user123` nicht das `SELECT`-Recht hatte, hat dieser Befehl keine Wirkung.

2. Entzug mehrerer Privilegien

REVOKE INSERT, UPDATE
ON projects
FROM manager_role;

Hier werden der "manager_role" in der Tabelle "projects" die Rechte "INSERT" und "UPDATE" entzogen, so dass sie nur noch eingeschränkt Daten ändern kann.

3. Entzug aller Berechtigungen aus einem Schema

REVOKE ALL PRIVILEGES
ON SCHEMA sales_data
FROM analyst_role;

In diesem Beispiel werden alle Privilegien für die Rolle "Analyst" im Schema "Sales Data" entfernt, wodurch jegliche Interaktion mit den Objekten des Schemas verhindert wird.

Tipps und bewährte Praktiken

  • Überprüfe die Privilegien regelmäßig. Regelmäßige Prüfungen der Benutzerrechte können dazu beitragen, die Sicherheit und die richtige Zugangskontrolle aufrechtzuerhalten.
  • Verwende Rollen anstelle von einzelnen Benutzern. Die Verwaltung von Berechtigungen über Rollen vereinfacht die Verwaltung und Skalierbarkeit.
  • Teste Privilegienänderungen in einer Entwicklungsumgebung. Bevor du Änderungen in der Produktion anwendest, kannst du sie in einer Entwicklungsumgebung testen, um versehentliche Zugriffsprobleme zu vermeiden.
  • Dokumentiere Privilegienänderungen. Die Aufzeichnung von Änderungen gewährleistet die Rückverfolgbarkeit und hilft bei zukünftigen Prüfungen oder bei der Fehlersuche.
  • Standardberechtigungen und vererbte Rollen verstehen. Der Entzug von Privilegien wirkt sich nicht auf die Privilegien von Rollen aus, denen der Benutzer angehört.
  • Sei dir des standardmäßigen Rollenverhaltens bewusst. Wenn du verstehst, wie Standardberechtigungen und Rollen zusammenspielen, kannst du unbeabsichtigte Zugriffsprobleme verhindern.