T2Med Linux Server
Lesenden PostgreSQL-Nutzer t2_readonly für T2med auf Linux-Servern anlegen.
Read-Only PostgreSQL User für T2med einrichten (Linux Server)
Hintergrund
Auf Linux-Servern kann der Standard-T2med-Server-Nutzen für externe Datenbankzugriffe nicht verwendet werden. Daher muss für den Zugriff auf die PostgreSQL-Datenbank zwingend ein separater, lesender Datenbanknutzer angelegt werden.
Dieser Guide richtet den User t2_readonly mit Leserechten auf alle Tabellen im aps-Schema der T2med-Datenbank ein.
Verbindung zur Datenbank herstellen
psql -h localhost -p 16569 -U postgres -d t2med
Alternativ über pgAdmin oder ein anderes PostgreSQL-Tool.
Schritt 1: User anlegen
CREATE USER t2_readonly WITH PASSWORD 'SICHERES_PASSWORT_HIER';
Schritt 2: Verbindungsrecht auf die Datenbank
GRANT CONNECT ON DATABASE t2med TO t2_readonly;
Schritt 3: Schema-Nutzungsrecht
GRANT USAGE ON SCHEMA aps TO t2_readonly;
Schritt 4: Leserechte auf alle bestehenden Tabellen
GRANT SELECT ON ALL TABLES IN SCHEMA aps TO t2_readonly;
Schritt 5: Leserechte auf alle bestehenden Sequences und Views
GRANT SELECT ON ALL SEQUENCES IN SCHEMA aps TO t2_readonly;
Schritt 6: Default-Rechte für zukünftige Tabellen
Damit nach T2med-Updates neu angelegte Tabellen automatisch lesbar sind:
ALTER DEFAULT PRIVILEGES IN SCHEMA aps
GRANT SELECT ON TABLES TO t2_readonly;
ALTER DEFAULT PRIVILEGES IN SCHEMA aps
GRANT SELECT ON SEQUENCES TO t2_readonly;
ALTER DEFAULT PRIVILEGES gilt nur für Objekte, die vom aktuell eingeloggten User erstellt werden. Wenn T2med Tabellen unter einem anderen Owner anlegt, muss dieser Befehl als jener Owner ausgeführt werden -- oder nach jedem T2med-Update müssen Schritt 4 und 5 wiederholt werden.
Schritt 7: Verbindung testen
psql -h localhost -p 16569 -U t2_readonly -d t2med
Zusammenfassung (Copy & Paste)
Alle Befehle am Stück, als postgres-User ausführen:
# Verbindung herstellen
psql -h localhost -p 16569 -U postgres -d t2med
-- Als postgres-Superuser ausführen:
CREATE USER t2_readonly WITH PASSWORD 'SICHERES_PASSWORT_HIER';
GRANT CONNECT ON DATABASE t2med TO t2_readonly;
GRANT USAGE ON SCHEMA aps TO t2_readonly;
GRANT SELECT ON ALL TABLES IN SCHEMA aps TO t2_readonly;
GRANT SELECT ON ALL SEQUENCES IN SCHEMA aps TO t2_readonly;
ALTER DEFAULT PRIVILEGES IN SCHEMA aps GRANT SELECT ON TABLES TO t2_readonly;
ALTER DEFAULT PRIVILEGES IN SCHEMA aps GRANT SELECT ON SEQUENCES TO t2_readonly;
Zuletzt aktualisiert am