PostgreSQL Gewähren Sie dem Benutzer alle Berechtigungen für das Schema

PostgreSQL Gewähren Sie dem Benutzer alle Berechtigungen für das Schema

Datenbanken sind entscheid. Im Rahmen der Autorisierung kann der Administrator Benutzereinheiten in der Datenbank definieren und verschiedene Berechtigungen für die Rollen gewähren oder widerrufen oder widerrufen.

Auf diese Weise erlangen Sie die Kontrolle darüber, wer auf eine Datenbank zugreifen kann und welche Berechtigungen sie haben, wenn sie auf die Datenbank zugreifen können. Beispiel. In diesem Handbuch wird anhand von PostgreSQL teilgenommen, um einem Benutzer einen Benutzer für das Schema zu gewähren.

So gewähren Sie Benutzern in PostgreSQL Berechtigungen

Wenn Sie eine neue Rolle erstellen, erhalten sie standardmäßig einige Privilegien. In den meisten Berechtigten muss der Administrator ihnen unterschiedlichen Benutzern erteilen, den Zugriff und die Kontrolle eines Schemas zu regulieren. Sie können alle Privilegien gleichzeitig oder separat gewähren.

Lassen Sie uns für dieses Tutorial eine neue erstellen Rolle genannt LinuxHint1.

$ sudo -iu postgres
# Rolle linuxHint1 Anmeldekennwort 'LinuxHint';


Beachten Sie, dass wir als angemeldet sind Postgres, Die Standardrolle erstellt, sobald Sie PostgreSQL installiert haben.


Mit der erstellten Rolle (Benutzer) können wir die verfügbaren Rollen mit dem folgenden Befehl auflisten:

# \ du


Die verfügbaren Rollen werden in einem Tischformat angezeigt.


Postgres ist die Standardrolle und hat die meisten bereits gewährten Privilegien. Allerdings die neue Rolle, LinuxHint1, hat keine Privilegien, bis wir es gewähren.

Gewährung eines spezifischen Privilegs an einen Benutzer

Die erstellte Rolle kann das Schema nur ändern, wenn Sie es zulassen. Überprüfen Sie dies, indem Sie zuerst eine Tabelle als Standardrolle erstellen, Postgres.

# Tabellennamen erstellen (m_id int immer als identität, fname vachar (100) nicht null, lname varchar (100) nicht null, Alter int);



Sie können die verfügbaren Beziehungen wie unten gezeigt auflisten:


Öffnen Sie als Nächst, LinuxHint1, dass wir früher mit dem folgenden Befehl erstellt haben:

$ PSQL -U LinuxHint1 -d Postgres



Der -D Gibt an, dass die Aufgabe darin besteht, die Postgres -Datenbank zu verwenden.

Versuchen Sie, den Inhalt der Tabelle zu lesen, die wir mit dem erstellt haben WÄHLEN Befehl.

# Aus Namen auswählen;


Es gibt a zurück Zugriff verweigert Fehler, der den Benutzer am Zugriff auf die Tabelle behindert.


In einem solchen Fall müssen wir die Rollenberechtigungen gewähren, um Daten aus der angegebenen Tabelle mit der folgenden Syntax auszuwählen/anzeigen:

# Grant privilege_name on table_name an rollenname;


Verwenden Sie die Postgres -Sitzung, um die Berechtigungen zu gewähren.


Versuchen Sie, den vorherigen Befehl wiederzugeben.


Das ist es. Sie haben es geschafft, dem spezifischen Benutzer das ausgewählte Privileg zu gewähren.

Gewährung aller Berechtigungen für das Schema an einen Benutzer

Bisher haben wir es geschafft, einem Benutzer nur ein Privileg für das Schema zu gewähren. Nun, das ist nicht genug. Der Benutzer kann das Schema nur ändern, es sei denn, Sie gewähren ihm alle Berechtigungen, z. B. das Einfügen und Aktualisieren.

Es gibt verschiedene Möglichkeiten, dies zu erreichen. Erstens, lass uns Gewähren Sie dem Benutzer alle Berechtigungen an eine bestimmte Tabelle Verwenden der folgenden Syntax:

# Geben Sie alles auf Table_Name an rollenname;



Der Benutzer kann mit der bestimmten Tabelle interagieren und ändern. Sie können jedoch nicht mit anderen Tabellen im Schema arbeiten.

Zu Gewähren Sie alle Berechtigungen für alle Tabellen in einem bestimmten Schema, Verwenden Sie die folgende Syntax:

# Gewähren Sie alle Tabellen in Schema schema_name an rollenname;



Zuletzt können Sie Gewähren Sie spezifische Berechtigungen, z. B. das Einfügen oder Auswahl aller Tabellen im Schema in eine bestimmte Rolle.

# Grant privilege_name in allen Tabellen im Schema schema_name zu rollenname;



Die Rolle kann Daten in allen Tabellen im angegebenen Schema auswählen. So definieren Sie, welche Privilegien dem Schema für verschiedene Benutzer gewährt werden sollen.

Abschluss

PostgreSQL ist ein leistungsstarkes DBMS. Es verfügt über unterschiedliche Funktionen, einschließlich der Ermöglichung des Administrators, Benutzern verschiedene Berechtigungen zu gewähren. Die Gewährung aller Berechtigungen für das Schema für Benutzer bedeutet, dass der Benutzer alle Tabellen im angegebenen Schema ändern und interagieren kann. Wir haben gesehen.