Aplikační role slouží k zamezení přístupu k databázi jinými prostředky než pomocí aplikace Helios Orange.
Finta spočívá v tom, že uživatel má v databázi pouze roli Public (tudíž se k ní nedostane nástroji SQL).
Uživatel se přihlašuje nadále svým jménem a má nastavena vlastní práva na přehledy a akce, Helios však přistupuje k databázi pomocí aplikační role.
Podmínky provozu aplikační role:
- Role sysadmin (sa, BUILTIN\Administrators apod.) se nikdy nepřihlašuje přes aplikační roli, tzn. vždy má plná práva a přístup.
- Nastavení Role a přiřazení Role do Heliosu musí provést sysadmin.
- Pokud je nastaven přístup přes aplikační roli, nelze se v rámci Heliosu přepínat mezi firmami.
- Každá databáze má svůj svébytný přístup, jako by to byla samostatná instalace a pro každou firmu musí existovat specifický zástupce Helios Orange
- Na SQL od verze 2005 a vyšších je třeba aby heslo aplikační role splňovalo bezpečnostní politiky domény, obvykle tedy musí mít 6 a více znaků a musí obsahovat čísla písmena a speciální znaky.
- Heslo nesmí obsahovat národní znaky (diakritika).
- Role v různých databázích může mít stejné jméno i heslo.
- V okamžiku použití aplikační role mají právo do Heliosu všichni, kdo jsou minimálně Public (vidím je v seznamu uživatelů, ale nejsou zařazeni do databáze).
Jak vytvořit a použít aplikační roli:
1/Nejprve skriptem na SQL Server založit v potřebných databázich aplikační roli a nastavit jí práva vlastníka (db_owner).
Tento skript použít postupně na všech databázích Heliosu.
- Kód: Vybrat vše
USE [JménoDatabáze]
CREATE APPLICATION ROLE [JménoRole] WITH DEFAULT_SCHEMA=[dbo], PASSWORD='SilnéHeslo'
GO
EXEC [JménoDatabáze]..sp_addrolemember 'db_owner', 'JménoRole'
GO
2/Pro každou databázi musí být vytvořen zvláštní zástupce Heliosu, do Cíle se na konci uvede řádkovým parametrem -D jméno otevírané databáze a parametr -F0.
např.:
- Kód: Vybrat vše
zástupce 1. Cíl: "\\Server\Helios IQ\Helios.EXE" -DHelios001 -F0
zástupce 2. Cíl: "\\Server\Helios IQ\Helios.EXE" -DHelios002 -F0
zástupce 3. Cíl: "\\Server\Helios IQ\Helios.EXE" -DHelios003 -F0
apod.
3/Pomocí zástupce spustit postupně Helios do každé databáze (jako sysadmin).
Pokud se objeví dialog změny tabulek (TabSetup, TabDBHelios, TabUserCfg) tak potvrdit.
Přidat a zase odebrat uživatele do a z databáze.
V menu Možnosti - Konfigurace/Správa systému - přehled Systémové konstanty - Oprava na databázi, kde chci použít aplikační roli - záložka Aplikační role, vybrat roli a zadat heslo role.
=============================
Další užitečné skripty pro práci s aplikační rolí.
Odebrání práv aplikační roli:
- Kód: Vybrat vše
EXEC [JménoDatabáze]..sp_droprolemember 'db_owner', 'JménoRole'
Dodatečná změna hesla pro aplikační roli (Pozor!!! je třeba upravit heslo i v Heliosu):
- Kód: Vybrat vše
EXEC [JménoDatabáze]..sp_approlepassword 'JménoRole','NovéSilnéHeslo'
Smazání aplikační role v databázi:
- Kód: Vybrat vše
EXEC [JménoDatabáze]..sp_dropapprole 'JménoRole'