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 Postgre-Datenbank SQL
Neue Datenbanken in Postgre SQL werden immer mit einem Standardsatz von Rechten im public
Datenbankschema erstellt, der es allen Datenbankbenutzern und Rollen ermöglicht, Objekte zu erstellen. Diese Berechtigungen ermöglichen es Datenbankbenutzern, eine Verbindung mit der Datenbank herzustellen und während der Verbindung temporäre Tabellen zu erstellen.
Um den Benutzerzugriff auf die Datenbank-Instances, die Sie auf Ihrer RDS for SQL Postgre-DB-Instance erstellen, besser kontrollieren zu können, empfehlen wir Ihnen, diese public
Standardberechtigungen zu widerrufen. 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 auf einem neu erstellten ein, die von mehreren Forschern verwendet werden soll, die alle Lese- und Schreibzugriff auf die Datenbank benötigen.
Verwenden Sie
psql
(oderpgAdmin), um eine Verbindung Ihre RDS für SQL Postgre-DB-Instance:psql --host=
your-db-instance.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. Umfassendere Informationen und zusätzliche Szenarien finden Sie unter SQLPostgre-Benutzer und -Rollen verwalten
Weitere Informationen zu Rechten in SQL Postgre-Datenbanken finden Sie in dem GRANT