602SQL-Úplná dokumentace Index  

Uživatelé a jejich správa

Ochrana dat v databázi je založena na uživatelských účtech. Každý klient databáze se přihlašuje k některému uživatelskému účtu a na tomto základě bude disponovat určitými právy, například právem číst nebo přepisovat některá data.

Každý účet je označen uživatelským jménem. Uživatelské jméno má nejvýše 31 znaků a nerozlišuje s v něm mezi malými a velkými písmeny.

Uživatelské účty obvykle odpovídají "jeden-k-jedné" osobám, které se do databáze přihlašují. Výjimkou je anonymní účet, k němuž (je-li povolen) se může přihlásit kdokoliv. K anonymnímu účtu se přihlašuje s prázdným uživatelským jménem nebo se jménem ANONYMOUS.

Vytváření a rušení uživatelů

Vytvořit nového uživatele může provozní nebo bezpečnostní správce a dále ti uživatelé, kteří mají právo vkládat záznamy do systémové tabulky USERTAB (z principu toto oprávnění má skupina DB_ADMIN). Právo vytvořit uživatele neopravňuje ještě k zařazování uživatelů do skupin. Pro vytvoření uživatele slouží SQL příkaz CREATE USER.

Zrušit uživatele může provozní, bezpečnostní správce nebo datový správce. Přihlášený uživatel také může sám zrušit svůj vlastní účet. Pro zrušení uživatele slouží SQL příkaz DROP USER.

Zrušením a opětovným založením uživatele se stejným jménem nevznikne původní uživatel - práva původního uživatele nepřejdou na nového uživatele. Proto se provozní správce nemůže dostat k soukromým datům uživatele tak, že jej zruší a znovu založí.

Pokud je zapnuto přihlašování na SQL server na základě přihlášení do domény, pak lze zajistit automatické vytváření uživatelů na SQL serveru při jejich prvním přihlášení.

Vytvářet a rušit uživatele lze z klientské strany pomocí interaktivního vývojového prostředí - složka Systém / Systémové objekty / Uživatel .

Editace údajů o uživateli

Údaje blíže popisující uživatele (jméno, příjmení atd.) se dají nastavit při vytváření nového uživatele a později si je může upravit vytvořený uživatel sám. Nikdo jiný (s výjimkou bezpečnostního nebo případného datového správce) k nim nemá právo přepisu. Dialogové okno s údaji o uživateli se vyvolá příkazem Vlastnosti popup menu vybraného uživatele. Zde může uživatel sám sobě (nebo bezpečnostní správce komukoliv) změnit heslo, nemůže však přečíst heslo stávající.

Při editaci hesla je možné zatrnout checkbox Uživatel musí změnit heslo při příštím přihlášení - uživateli v tomto případě po prvním přihlášení (se starým heslem) vyprší platnost tohoto hesla a bude vyzván k zadání hesla nového. Toto neplatí pro uživatele s trvale platným heslem - viz níže.

Pokud dojde ke změně uživatelského jména, tento uživatel nepřijde o svá práva (jako v případě zrušení a vytvoření).

Přihlašování uživatele na SQL server (Login)

Když se klient přihlašuje na server pod určitým uživatelským jménem, server musí ověřit jeho identitu. Může tak učinit dvěma cestami:

Žádný správce databáze nemůže zjistit cizí heslo. Otázkám bezpečnosti databáze v souvislosti s přihlašováním uživatelů se věnuje také stránka Zabezpečení databáze proti útokům.

Přihlašování na SQL server se jménem a jednorázovým heslem

Správa hesel ve 602SQL se opírá o metodu one-time-password z RFC1938. Její vlastnosti lze shrnout takto:

Nevýhodou této metody je, že heslo lze použít pouze omezený počet krát - řádově tisíce krát. Po vyčerpání tohoto počtu si 602SQL server při přihlašování uživatele vynutí zadání nového hesla.

Přihlašování na SQL server se jménem a opakovatelným heslem

Existuje třída aplikací, jimž by povinnost periodicky měnit heslo přinesla značné komplikace. Jedná se zejména o neinteraktivní klienty 602SQL, např. CGI nebo PHP klienta. Pro tyto případy lze použít trvale platná hesla.

Trvale platná hesla mají všechna uživatelská jména začínající znakem _ (podtržítko). Například někteří internetoví klienti používají uživatelské jméno __WEB.

Při volbě bezpečností politiky databáze může bezpečnostní správce rozhodnout, že všechna hesla budou trvale platná. Toto nastavení se provádí z Řídicího panelu v okně Provozní parametry, záložka Bezpečnost.

Přihlašování na SQL server na základě dřívějšího přihlášení do domény

Bezpečnostní správce může určit doménu, které důvěřuje do té míry, že přihlášení do ní bude považovat za dostatečné oprávnění pro přihlášení na SQL server. Jméno takové domény je třeba zadat z Řídicího panelu v okně Provozní parametry, záložka Bezpečnost.

Jméno, pod kterým je uživatel přihlášen do domény, musí být stejné jako uživatelské jméno v databázi. Je proto výhodné vytvořit uživatelské účty v databázi převzetím jmen z domény.

Pozastavení platnosti uživatelského účtu

Bezpečnostní správce může pozastavit platnost uživatelského účtu - přihlášení k tomuto účtu je pak znemožněno do doby, než je platnost účtu obnovena. Pozastavování a obnovování platnosti účtů se provádí ve stejném okně jako editace údajů o uživateli (viz výše) - checkbox Blokovaný účet.

Zvláštním případem je povolení nebo zakázání anonymního přihlášení, tedy přístupu bez jména a hesla. O tom rozhoduje pouze bezpečnostní správce. Tuto vlastnost lze nastavit také z Řídicího panelu v okně Provozní parametry, záložka Bezpečnost.

Zapomenuté heslo

Pokud uživatel své heslo zapomene, neexistuje způsob, jak jej zjistit. V takové situaci uživatel může pouze požádat bezpečnostního správce, aby mu nastavil nové heslo. Řešením není zrušit uživatelský účet a založit jej znovu, protože tím by uživatel přišel o všechna práva.

Změna hesla

Každý uživatel může změnit vlastní heslo. Pouze bezpečnostní správce může měnit hesla jiných uživatelů. Změnu hesla provádí funkce Set_password, z klientského prostředí se provádí interaktivně ve stejném okně jako editace údajů o uživateli (viz výše).