Databázový systém PostgreSQL má oddělené uživatele od operačního systému. Pokud běží na Linuxu, uživatelé se mohou jmenovat stejně, jako ti systémoví, ale není to podmínkou. Stejně tak na Windows.
V tomto článku ukážu několik základních příkazů pro vytvoření uživatele, přiřazení do skupiny a povolení přístupu do DB.
Standardně používám PostgreSQL na Linuxu, proto vycházím z tohoto prostředí. Ale na Windows instalacích (pokud takové existují) je tento postup v podstatě stejný.
Jako první vytvoříme uživatelský účet:
CREATE USER <jmeno_uzivatele> WITH PASSWORD 'nejakeheslo';
Pak přiřadíme uživateli roli (souhrn oprávnění nebo jednotlivá oprávnění u menších DB):
GRANT <jmeno_role> TO <jmeno_uzivatele>;
Pak povolíme přístup do databáze:
GRANT CONNECT ON DATABASE <jmeno_databaze> TO <jmeno_uzivatele>;
A pak můžeme nastavit auditování uživatele:
ALTER ROLE <jmeno_uzivatele> SET pgaudit.log TO 'read,write,function';
Někde je vhodné nastavit auditování činností, které uživatel v databázi provádí. Aspoň víme, kdo db zprasil.
Tím je v databázi téměř vše hotovo. Nyní upravíme soubor pg_hba.conf (tam je seznam uživatelů, kteří mají do dané databáze přístup) přidáním záznamu daného uživatele. Např:
host datasklad lojza 0.0.0.0/0 scram-sha-256
Tímto povolíme uživateli lojza vzdálený přístup do databáze se jménem datasklad, s nastaveným zabezpečeným ověřováním scram-sha-256.
No a nakonec musíme zajistit, aby se změny v konfiguračním souboru projevily i v databázi. To uděláme buď restartem databáze, nebo elegantněji následujícím selectem:
SELECT * FROM pg_reload_conf();
Tímto se spustí funkce znovunačtení konfiguračních údajů.
Po provedení tohoto postupu se bude moci nově vytvořený uživatel přihlásit do databáze. Vytvořené heslo si pak může změnit na nějaké svoje vlastní.