Aplikační role Vít Ochozka
K čemu nám slouží Omezit přístup k databázi AKORD jen prostřednictvím konkrétní aplikace Jiné aplikace – MS excel, MS access, SQL management studio
Původní stav Využívala se databázová role PUBLIC Členem role PUBLIC je každý uživatel DB a nelze ho z role PUBLIC odebrat Práva se nastavovala pouze na PUBLIC Důsledek: –Přístup k databázi AKORD kdokoliv kdo má login a uživatele na databázi AKORD
Stav s aplikační rolí Role PUBLIC –Funkce USER_NISID() Vrací ID_UZIVATEL podle SID –Procedura apSTAPROAKORDROLE Zjišťuje zda uživatel je zařazen do aplikační role podle hlavního formuláře aplikace Aplikace se automaticky pokusí přepnout do kontextu aplikační role –Pokud se nezdaří uživatel nemá práva a nemůže pracovat s aplikací
Nastavení Dialog při založení nového uživatele Volba Aplikační role Management studio –Uložené procedury slouží pro úvodní nastavení apSTAPROAKORDROLEADDUSER apSTAPROAKORDROLEADDUSERALL –Ručně skripty Tabulky APPROLE, APPROLEUSER
Práva na objekty Nastavit práva na schema pro aplikační roli GRANT SELECT, DELETE, UPDATE, INSERT, REFERENCES, EXECUTE ON schema::DBO to [NisUserAPP] Odstranit práva na databázovou roli PUBLIC ADMIN – Datový model – odstranit práva k objektům Jiné aplikace musí mít nastavena práva zvlášť Nejlépe pomocí databázových rolí
Děkuji za pozornost Vít Ochozka Analytik