Vytváření uživatelů a připojení
Přihlášení jako uživatel admin
OmniDB obsahuje pouze uživatele admin. Pokud používáte serverovou verzi, první věc,
kterou musíte udělat, je přihlásit se jako admin jednorázovým náhodným heslem, které
omnidb-server vypsal do logu při vytvoření nové aplikační databáze (řádek obsahující
initial login: admin / …), a pak ho změnit v Nastavení. Ztracené heslo lze obnovit příkazem omnidb-server --set-password admin. Po 10 neúspěšných pokusech
o přihlášení pro stejné uživatelské jméno nebo IP adresu klienta se přihlašování na 15 minut zablokuje.
Desktopová aplikace se nepřihlašuje vůbec — běží jako jediný místní uživatel, takže vše o správě
uživatelů popsané níže v ní vůbec není.
Orientace v prostředí
Celé pracovní prostředí se ovládá ze svislé lišty ikon u levého okraje okna: Vítejte, Připojení (ikona zástrčky), Databáze, Monitorování, Oznámení, Oprávnění, Připojení uživatelé a Snippety nahoře, a Začínáme, Účet (jen v serverové verzi) a Nastavení (ozubené kolo) dole. Po najetí myší na ikonu se zobrazí její název. Jak sekce spolupracují, popisuje kapitola Správa databází; jazyk rozhraní a další předvolby kapitola Nastavení a jazyky.
Vytvoření dalšího uživatele
Otevřete Settings (Nastavení) dole na liště, zvolte kategorii Account (Účet) a klikněte na Manage Users (Správa uživatelů). Toto tlačítko má jen superuživatel — běžný uživatel v nastavení sekci Account vůbec nevidí.
Okno User management (Správa uživatelů) vypíše existující uživatele. Kliknutím na Add new user (Přidat nového uživatele — ikona postavičky s plus) vložíte nový, prázdný řádek uživatele, zobrazený jako (pending info) (čeká na vyplnění), dokud ho nevyplníte. Vyplňte Uživatelské jméno a Nové heslo, zapněte přepínač Superuživatel?, pokud jím má nový uživatel být, a klikněte na Save (Uložit). Můžete vytvořit tolik uživatelů, kolik chcete, upravovat existující a mazat je kliknutím na červený křížek ve sloupci akcí.
Odhlásíte se kliknutím na ikonu Account (Účet — postavička dole na liště) a poté na Sign out (Odhlásit se).
Smazání uživatele nebo odebrání statusu superuživatele platí okamžitě, a to i pro relace tohoto uživatele, které už jsou otevřené.
Sekce Connections
Klikněte na ikonu zástrčky na liště. Připojení jsou plnohodnotná sekce pracovního prostředí, ne vyskakovací okno: rozdělené zobrazení se seznamem uložených připojení v postranním panelu vlevo a formulářem a tlačítky vybraného připojení vpravo.
Každý řádek seznamu ukazuje ikonu databázového stroje, název připojení a pod ním
uživatel@server:port, kam míří (nebo připojovací řetězec, případně cíl SSH u terminálového připojení). Malá barevná tečka označuje prostředí připojení a ikona klíče připojení
vedené SSH tunelem.
Vytváření připojení
OmniDB podporuje PostgreSQL, MySQL, MariaDB, Oracle, MS SQL Server, Firebird a SQLite a navíc typ připojení Terminál, který místo databáze otevře SSH shell. Seznam Typ připojení uvádí nejprve PostgreSQL, pak ostatní v abecedním pořadí a Terminál jako poslední.
U SQLite připojení ukazuje na databázový soubor (na počítači, kde běží
omnidb-server); pokud soubor ještě neexistuje, Otestovat připojení to oznámí
a soubor se vytvoří při prvním použití připojení. Na víceuživatelském serveru jsou připojení SQLite
vyhrazena superuživatelům a některé parametry připojovacího řetězce PostgreSQL, které čtou soubory
na serveru, jsou odmítnuty — viz Zabezpečení a víceuživatelský
server.
Nové připojení vytvoříte tlačítkem + pod seznamem. Do záhlaví formuláře vpravo napište
název, zvolte Connection Type (Typ připojení) a vyplňte kartu Host Connection Info
(Údaje o serveru): Server, Port, Database (Databáze), User
(Uživatel) a volitelně User Password (Heslo uživatele). Místo jednotlivých polí můžete
vyplnit jediné pole Connection string (Připojovací řetězec, například
postgresql://postgres@localhost:5432/postgres) a zbytek nechat prázdný. Až budete
hotovi, klikněte na Save (Uložit) v pravém horním rohu formuláře.

Tlačítko Test Connection (Otestovat připojení) vedle něj zkusí připojení, aniž by ho otevřelo, a ohlásí buď Connection successful., nebo přesnou chybu, kterou databáze vrátila. Tlačítko − pod seznamem vybrané připojení smaže; u připojení, které je právě otevřené v záložce, zůstává neaktivní.
Hesla
Pole User Password (Heslo uživatele) je volitelné a obě možnosti se chovají jinak:
- Vyplněné: heslo se uloží do vlastní konfigurační databáze OmniDB a použije se automaticky při každém otevření připojení. Před uložením se šifruje (AES-256-GCM) klíčem, který je uložený v systémovém úložišti hesel (Keychain na macOS, Credential Manager na Windows, Secret Service na Linuxu), ne v samotném souboru databáze — pouhý přístup k souboru databáze tak k přečtení hesel nestačí. Pokud takové systémové úložiště není k dispozici, OmniDB použije záložní klíčový soubor uložený vedle databáze.
- Prázdné: neuloží se nic a OmniDB se na heslo zeptá při otevření připojení. To, co napíšete, zůstane jen v paměti serveru, pro vaši relaci a dané připojení, po dobu 30 minut — poté se OmniDB zeptá znovu.
U PostgreSQL navíc OmniDB v okamžiku připojení dohledá heslo v souboru .pgpass, a to
podle stejného záznamu, jaký by našla libpq — připojení bez uloženého hesla se tak může otevřít bez
dotazu. V sandboxované aplikaci pro macOS nabízí dialog s heslem tlačítko
Grant access to .pgpass… (Povolit přístup k .pgpass): jednou soubor vyberete a každé další
připojení si z něj heslo vyzvedne samo.
Pokud databáze pokus odmítne, dialog zůstane na obrazovce s chybou, kterou OmniDB dostala (fe_sendauth: no password supplied, chyba ověření, nedostupný server a podobně), takže můžete heslo opravit a zkusit to znovu.
Import připojení z .pgpass
Ikona importu souboru vedle tlačítek + a − načte soubor .pgpass a vytvoří jedno připojení k PostgreSQL z každého konkrétního řádku, jako holý připojovací řetězec
postgresql://uzivatel@host:port/db bez uloženého hesla — smyslem je dál se ověřovat
z toho souboru, ne kopírovat hesla do OmniDB. Řádky se zástupnými znaky (*) se
přeskakují, stejně jako řádky, které odpovídají už existujícímu připojení.
Uspořádání seznamu
- Pořadí: řádek můžete přetáhnout na libovolné místo v seznamu. Uspořádání se ukládá pro každého uživatele zvlášť a přežije jak znovunačtení, tak restart. Později vytvořená připojení se přidávají na konec.
- Skupiny: výběr nahoře v postranním panelu omezí seznam na jednu skupinu. + Group vytvoří skupinu a tlačítko … vedle nabízí Rename (Přejmenovat), Manage Connections (Spravovat připojení — přepne řádky na zaškrtávátka, kde vyberete, která připojení do skupiny patří, a potvrdíte tlačítkem Save changes) a Delete (Smazat).
- Veřejná připojení: přepínač Public connection? (Veřejné připojení?) ve formuláři zpřístupní připojení všem ostatním uživatelům OmniDB. Upravovat ho může jen jeho vlastník; ostatní uživatelé nikdy neuvidí jeho uložené heslo (heslo uvnitř připojovacího řetězce je pro ně maskováno) a jejich Otestovat připojení vždy testuje uložený server. Přepínač Public (n) dole v postranním panelu zobrazuje nebo skrývá veřejná připojení ostatních uživatelů ve vašem seznamu.
- Prostředí: označení připojení jako Production, UAT, Development nebo Archive obarví jeho tečku v seznamu a okraj jeho otevřené záložky — jde hlavně o pojistku, aby sáhnutí po špatné záložce bylo vidět na první pohled.
Otevření připojení
Klikněte ve formuláři na Connect (Připojit), nebo prostě dvakrát klikněte na řádek seznamu, a OmniDB připojení otevře v nové vnější záložce připojení (Connection Outer Tab), jak uvidíme v další kapitole. Kliknutí pravým tlačítkem na řádek otevře kontextovou nabídku (Connect/Edit/Delete — Delete chybí u připojení, které je právě otevřené) a kliknutí pravým tlačítkem do prázdného místa v seznamu nabídne New Connection/Refresh.
Používání SSH tunelů
OmniDB umožňuje připojit se k libovolné vzdálené databázi přes SSH tunel. Ve formuláři daného připojení zaškrtněte Use SSH tunnel (Použít SSH tunel) — tím se zpřístupní pole pod ním:
- SSH Server: server, ke kterému se připojujete přes SSH. Jeho klíč hostitele už musí
být v souboru
~/.ssh/known_hostsuživatele operačního systému, pod kterým OmniDB běží, jinak je tunel odmítnut — viz Zabezpečení a víceuživatelský server; - SSH Port: port SSH serveru (výchozí je 22, ale může to být libovolný port);
- SSH User: jméno uživatele operačního systému, pod kterým se k SSH serveru připojujete;
- Password/Passphrase (Heslo/přístupová fráze): heslo uživatele operačního systému (nebo přístupová fráze ke klíči níže). Necháte-li pole prázdné, OmniDB se na ně zeptá při každém otevření tunelu a neuloží ho. Pokud vyplníte pole SSH Key Text File, je heslo volitelné;
- SSH Key Text File (Soubor s SSH klíčem): obsah místního soukromého SSH klíče, kterým se lze k SSH serveru připojit. OmniDB vybraný soubor přečte a uloží jeho text, ne soubor samotný. Pokud toto pole vyplníte, můžete vyplnit i Password/Passphrase, ale v tom případě půjde o přístupovou frázi k soukromému SSH klíči.
Vše, co zde uložíte — SSH heslo, přístupová fráze i text klíče — se ukládá do téže místní konfigurační databáze OmniDB jako hesla k databázím, a stejným způsobem zašifrované.
Při použití SSH tunelů musíte odpovídajícím způsobem vyplnit i všechna databázová pole. Nebudou se ale vztahovat k serveru OmniDB, nýbrž k SSH serveru. To může nastat ve dvou scénářích popsaných níže.
Pokud je databáze na stejném serveru, ke kterému se připojujete přes SSH, vypadá situace takto:

V tomto scénáři bude databázový Server 127.0.0.1, protože databáze je na
stejném stroji jako SSH Server.
Databáze ale může být i mimo SSH server, takto:

Zde musí být databázový Server 192.168.0.10, protože to je adresa, pod
kterou se k databázovému serveru dostane SSH server.