PostgreSQL
 sql >> Datenbank >  >> RDS >> PostgreSQL

So erstellen Sie einen Benutzer mit PSQL

Stellen Sie mit dem folgenden Befehl eine Verbindung zu Ihrer PostgreSQL-Serverinstanz her:

sudo -u postgres psql

Wählen Sie die Datenbank aus, die Sie mit Chartio verbinden möchten:

\c databasename;

Erstellen Sie eine neue Rolle für Ihren schreibgeschützten Chartio-Benutzer:

CREATE ROLE chartio_read_only_user LOGIN PASSWORD 'secure_password';

Erteilen Sie dem neuen Benutzer die erforderlichen Berechtigungen, um sich mit Ihrer
Datenbank zu verbinden:

GRANT CONNECT ON DATABASE exampledb TO chartio_read_only_user;
GRANT USAGE ON SCHEMA public TO chartio_read_only_user;

Führen Sie den folgenden Befehl aus, um die Abfragen zu generieren, die Ihrem neuen Benutzer
ausgewählten Zugriff gewähren:

SELECT 'GRANT SELECT ON '||schemaname||'."'||tablename||'" TO chartio_read_only_user;' FROM pg_tables WHERE schemaname IN ('public') ORDER BY schemaname, tablename;

Sie sehen eine Liste mit GRANT-Anweisungen ähnlich der folgenden:

Kopieren Sie die von der Abfrage generierten GRANT-Anweisungen und fügen Sie sie dann in Ihr Terminalfenster ein. Um den Zugriff auf eine Teilmenge von Tabellen einzuschränken, führen Sie die GRANT-Anweisungen nur für die entsprechenden Tabellen aus. Um den Zugriff auf bestimmte Spalten einzuschränken, lesen Sie bitte, wie man den PostgreSQL-Zugriff mithilfe von Schemas einschränkt.

GRANT SELECT ON public."album" TO chartio_read_only_user;
GRANT SELECT ON public."artist" TO chartio_read_only_user;
GRANT SELECT ON public."customer" TO chartio_read_only_user;
GRANT SELECT ON public."employee" TO chartio_read_only_user;
GRANT SELECT ON public."genre" TO chartio_read_only_user;
GRANT SELECT ON public."invoice" TO chartio_read_only_user;
GRANT SELECT ON public."invoiceline" TO chartio_read_only_user;
GRANT SELECT ON public."mediatype" TO chartio_read_only_user;
GRANT SELECT ON public."playlist" TO chartio_read_only_user;
GRANT SELECT ON public."playlisttrack" TO chartio_read_only_user;
GRANT SELECT ON public."track" TO chartio_read_only_user;

Ihr neuer schreibgeschützter Benutzer verfügt jetzt über die erforderlichen Berechtigungen, damit Chartio eine Verbindung zu Ihrer Datenbank herstellen kann.