Aktionen
Passwörter - Windows Credential Manager » Historie » Revision 1
Revision 1/4
| Weiter »
[E] Axel S, 27.03.2025 17:00
Zugänge (Passwörter)¶
Ticket: ##22403
Damit Passwörter (für syncro, dblink usw.) aus Sicherheitsgründen nicht mehr im Code hartkodiert werden müssen, sollen diese im Windows-Schlüsselbund (Windows Credential Manager) des Windows Benutzer vom PostgreSQL-Servers hinterlegt werden.
- dafür gibt es jetzt entsprechende Datenbankfunktionen (Language plpython3u).
- nur die DB-Rolle
postgres
soll diese DB-Funktionen direkt rufen dürfen, daher im SchemaTSystem_security
- anonsten können diese DB-Funktionen nur von Funktionen mit dem Parameter
SECURITY DEFINER
gerufen werden
Eintrag im Windows-Schlüsselbund hinzufügen bzw. überschreiben¶
- Funktion
TSystem_security.credential__set()
- Rückgabe:
true
- Eintrag wurde geschriebenfalse
- kein Eintrag wurde geschrieben; Eintrag mit Kombination aus Service- und Benutzernamen existierte bereits und sollte nicht überschrieben werden
- Beispiel:
SELECT TSystem_security.credential__set( servicename => 'SyncroKonto', username => 'syncro', userpassword => 'geheim', overwrite_pw => true );
Passwort aus entsprechenden Eintrag im Windows-Schlüsselbund auslesen¶
- Funktion
TSystem_security.credential__get()
- Rückgabe:
<passwort>
- Passwort des entsprechenden Eintragsnull
- es existiert kein Eintrag für die gegebene Kombination aus Service- und Benutzernamen
- Beispiel:
SELECT TSystem_security.credential__get( servicename => 'SyncroKonto', username => 'syncro' );
Eintrag im Windows-Schlüsselbund löschen¶
- Funktion
TSystem_security.credential__delete()
- Rückgabe:
true
- entsprechender Eintrag wurde gelöschtfalse
- kein Eintrag wurde gelöscht; es existiert kein Eintrag für die gegebene Kombination aus Service- und Benutzernamen
- Beispiel:
SELECT TSystem_security.credential__delete( servicename => 'SyncroKonto', username => 'syncro' );
Alle vorhandenen Einträge im Windows-Schlüsselbund auflisten¶
- Funktion
TSystem_security.credentials__list()
- Rückgabe:
- setof Record aus
servicename
(varchar) undusername
(varchar)
- setof Record aus
servicename | username |
---|---|
SyncroKonto | syncro |
- Beispiel:
SELECT * FROM TSystem_security.credentials__list() ORDER BY servicename, username;
Von [E] Axel S vor 8 Tagen aktualisiert · 1 Revisionen