.NET

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.

The Connections section with the connection form

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:

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

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:

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.