Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.
Steuern des Benutzerzugriffs auf die PostgreSQL−Datenbank
Neue Datenbanken in PostgreSQL werden immer mit Standardberechtigungen im public
-Schema der Datenbank erstellt, mit dem alle Datenbankbenutzer und -rollen Objekte erstellen können. Diese Berechtigungen ermöglichen es Datenbankbenutzern, eine Verbindung mit der Datenbank herzustellen und während der Verbindung temporäre Tabellen zu erstellen.
Es wird empfohlen, diese public
-Standardberechtigungen zu widerrufen, um den Benutzerzugriff auf die Datenbank-Instances, die Sie auf Ihrem Primärknoten des Aurora-PostgreSQL-DB-Clusters erstellen, besser kontrollieren können. Danach erteilen Sie Datenbankbenutzern auf einer detaillierteren Basis spezifische Berechtigungen, wie im Folgenden gezeigt.
So richten Sie Rollen und Berechtigungen für eine neue Datenbank-Instance ein
Angenommen, Sie richten eine Datenbank für einen neu erstellten Aurora-PostgreSQL-DB-Cluster ein, die von mehreren Forschenden verwendet wird, die alle Lese-/Schreibzugriff auf die Datenbank benötigen.
-
Verwenden Sie
psql
(oder pgAdmin) zum Herstellen einer Verbindung mit dem primären Aurora-PostgreSQL-DB-Cluster:psql --host=
your-cluster-instance-1.666666666666
.aws-region
.rds.amazonaws.com --port=5432 --username=postgres --passwordGeben Sie bei der Aufforderung Ihr Passwort ein. Der
psql
-Client verbindet und zeigt die standardmäßige administrative Verbindungsdatenbankpostgres=>
als Eingabeaufforderung an. -
Gehen Sie wie folgt vor, um zu verhindern, dass Datenbankbenutzer Objekte im
public
-Schema erstellen:postgres=>
REVOKE CREATE ON SCHEMA public FROM PUBLIC;
REVOKE
-
Als Nächstes erstellen Sie eine neue Datenbank-Instance:
postgres=>
CREATE DATABASE
lab_db
;CREATE DATABASE
-
Widerrufen Sie alle Berechtigungen aus dem
PUBLIC
-Schema in dieser neuen Datenbank.postgres=>
REVOKE ALL ON DATABASE
lab_db
FROM public;REVOKE
-
Erstellen Sie eine Rolle für Datenbankbenutzer.
postgres=>
CREATE ROLE
lab_tech
;CREATE ROLE
-
Geben Sie Datenbankbenutzern mit dieser Rolle die Möglichkeit, eine Verbindung mit der Datenbank herzustellen.
postgres=>
GRANT CONNECT ON DATABASE
lab_db
TOlab_tech
;GRANT
-
Gewähren Sie allen Benutzern mit der
lab_tech
-Rolle alle Berechtigungen für diese Datenbank.postgres=>
GRANT ALL PRIVILEGES ON DATABASE
lab_db
TOlab_tech
;GRANT
-
Erstellen Sie Datenbankbenutzer wie folgt:
postgres=>
CREATE ROLE lab_user1 LOGIN PASSWORD 'change_me';
CREATE ROLE
postgres=>
CREATE ROLE lab_user2 LOGIN PASSWORD 'change_me';
CREATE ROLE
-
Gewähren Sie diesen beiden Benutzern die Berechtigungen, die mit der lab_tech-Rolle verknüpft sind:
postgres=>
GRANT lab_tech TO lab_user1;
GRANT ROLE
postgres=>
GRANT lab_tech TO lab_user2;
GRANT ROLE
An dieser Stelle können lab_user1
und lab_user2
eine Verbindung mit der lab_db
-Datenbank herstellen. Dieses Beispiel folgt nicht den bewährten Methoden für den Unternehmensgebrauch, darunter das Erstellen mehrerer Datenbank-Instances, verschiedener Schemas und das Erteilen eingeschränkter Berechtigungen. Umfassende Informationen und zusätzliche Szenarien finden Sie unter Verwalten von PostgreSQL-Benutzern und -Rollen
Weitere Informationen zu Berechtigungen in PostgreSQL-Datenbanken finden Sie unter dem Befehl GRANT