Nov nov prvn systm Ing Ale Kutn kutinuikt

  • Slides: 19
Download presentation
Nový nový právní systém Ing. Aleš Kutín kutin@uikt. mendelu. cz Univerzitní informační systém III.

Nový nový právní systém Ing. Aleš Kutín kutin@uikt. mendelu. cz Univerzitní informační systém III. , Lednice 2004

Obsah • • Právní systém obecně Historie právních systémů UIS Subjektivita práv – nově

Obsah • • Právní systém obecně Historie právních systémů UIS Subjektivita práv – nově Etapy vývoje Pod pokličkou n. n. p. s. Problémy a nejasnosti Diskuse, dotazy Univerzitní informační systém III. , Lednice 2004 2

Právní systém • každý větší IS potřebuje správu oprávnění – právní systém (p. s.

Právní systém • každý větší IS potřebuje správu oprávnění – právní systém (p. s. ) • právní systém určuje: • jaké aplikace uživatel může používat • stupeň pravomocí v těchto aplikacích (čtení, zápis, správa) • jaká data jsou přístupná (jedna fakulta, celá univerzita, . . . ) • webové prostředí je bezstavové a nelineární -> nutnost kontroly práv při zpracování každého požadavku • p. s. jako klíčová část jádra IS musí být: • efektivní a rychlý (je součástí každé stránky) • bezpečný • snadno spravovatelný a dostatečně flexibilní Univerzitní informační systém III. , Lednice 2004 3

Právní systém Komponenty právního systému • práva opravňují uživatele k nějaké činnosti v IS

Právní systém Komponenty právního systému • práva opravňují uživatele k nějaké činnosti v IS (spuštění studijní evidence, vkládání fotek, založení studia, . . . ) • role sdružují několik souvisejících práv nutných k ovládání určité skupiny aplikací (referentka, vedoucí ústavu, OSSA, . . . ) • uživatelé nositelé práv a rolí • skupiny uživatelů prvek usnadňující správu právního systému (referentky AF, integrátoři fakulty, vývojáří, . . . ) Univerzitní informační systém III. , Lednice 2004 4

Právní systém • v úplném právním systému mohou mezi čtyřmi jmenovanými entitami vzniknout jakékoliv

Právní systém • v úplném právním systému mohou mezi čtyřmi jmenovanými entitami vzniknout jakékoliv vazby • jádro musí garantovat tranzitivitu (přidělením práva do role získají toto právo všichni uživatelé skupiny, která má roli přidělenu) Univerzitní informační systém III. , Lednice 2004 5

Právní systém Další náležitosti • zanořování jednotlivých vztahů (skupina ve skupině, role v roli)

Právní systém Další náležitosti • zanořování jednotlivých vztahů (skupina ve skupině, role v roli) • časové omezení platnosti udělených práv (popřípadě členství uživatele ve skupině • delegace – řízení možnosti předávání práv dalším uživatelům • subjektivita – omezení působnosti práva (podrobněji dále) Univerzitní informační systém III. , Lednice 2004 6

Historie Starý právní systém • původní p. s. UIS, jediný funkční, aktuálně v provozu

Historie Starý právní systém • původní p. s. UIS, jediný funkční, aktuálně v provozu • používá zjednodušený model – jen uživatelské skupiny bez možnosti zanořování • omezování práv na subjekty – odpovídají pracovištím MZLU (v praxi jen možnost fakultně/celouniverzitně) • jádro využívá PL/SQL balík (hlavně pro uchování globálních proměnných) a DB funkce patri_neco_do_subjektu • hlavní slabiny: • • omezená možnost subjektivity práv neefektivní implementace právních funkcí problematická správa z hlediska integrátora chybějící role a „chaos“ v právech Univerzitní informační systém III. , Lednice 2004 7

Historie Nový právní systém 1 • J. Müller, 2001 • snaha o zavedení úplného

Historie Nový právní systém 1 • J. Müller, 2001 • snaha o zavedení úplného právního systému (skupiny, práva, role) včetně zanoření • původní jádro včetně systému subjektivity ponecháno • vývoj zastaven (nefungovala tranzitivita) Nový právní systém 2 • A. Kutín, T. Klein, 2002 • navazuje na zadání n. p. s. 1 – vyřešena tranzitivita pomocí komplexního systému triggerů, rozpadových a „mirrorových“ tabulek (přes 30 tabulek a 50 triggerů) • vyvinuty nové aplikace pro správu skupin a práv uživatelů (prezentováno v Lednici 2002) • neuveden do ostrého provozu, postupně zastaral Univerzitní informační systém III. , Lednice 2004 8

Historie Nový nový právní systém • A. Kutín, 2004 -? • úplný právní systém,

Historie Nový nový právní systém • A. Kutín, 2004 -? • úplný právní systém, tranzitivita • zcela nové jádro – zefektivnění stávajících a zavedení nových funkcí • subjektivita pomocí kvalifikátorů • zcela nová, atomická práva sdružená do rolí • propojení s evidencí aplikací • nové aplikace pro správu Univerzitní informační systém III. , Lednice 2004 9

Subjektivita práv – nově • při omezování práva jde v DB o prostou restrikci

Subjektivita práv – nově • při omezování práva jde v DB o prostou restrikci výběru z nějakého číselníku (právo stud-e na PEF -> vyber všechny uživatele – studenty PEF) • výběr podmnožiny objektů dané vlastnosti. . . -> kvalifikátory !! • místo „na subjekty“ (rozuměj na fakulty) lze tedy práva udělovat „na kvalifikátory“ • použitím Q vzniká možnost zcela libovolného omezování působnosti práva (prezenční doktorandi AF, učitelé předmětů ÚI) • zcela automatické je získání množiny záznamů na něž má uživatel právo (prosté vyhodnocení kvalifikátorů tabulkovou funkcí) – odpadá potřeba DB funkcí i globálních proměnných • práva udělována na kvalifikátory různých tříd – podle objektu, který omezují (evidence pracovišť – Q třídy subjekt) • existují „bezsubjektová“ práva (vývoj UIS, vkládání fotek) Univerzitní informační systém III. , Lednice 2004 10

Delegace práv – nově • zásadní novinka: uživatelé delegují pouze role • nová práva

Delegace práv – nově • zásadní novinka: uživatelé delegují pouze role • nová práva zcela atomická, svázána s aplikacemi a sdružována vždy do rolí (vazby uživatel–právo, skupina–právo zcela chybí) • definici rolí zajišťuje vývoj UIS • při delegaci možnost udělit právo jen na kvalifikátory podřízené Q na něž mám právo (využití stromu kvalifikátorů) • historické tabulky – uchování všech změn v právním systému pro případný audit • funkční časová omezení platnosti • implicitní přidělování pomocí kvalifikátorů Univerzitní informační systém III. , Lednice 2004 11

Perl API – nově • stávající funkce ma_pravo zůstane zachována, její význam však bude

Perl API – nově • stávající funkce ma_pravo zůstane zachována, její význam však bude čistě zjišťovací (žádná inicializace glob. proměnných) • na úrovni UIS. pm zavedeno cachování předchozích volání ma_pravo • nové funkce (zatím jen PL/SQL jádro): • ma_pravo_objekty • vrací přímo seznam objektů (ID), na něž má daný uživatel právo • možnost výběr omezit (kvalifikátorem nebo dynafikátorem) • možnost rozšíření části SELECT (nedořešeno) • ma_pravo_objekt • klasická DB funkce k použití v části WHERE • ma_pravo_subjekty • seznam subjektů na něž má právo uděleno (vstupem je úroveň rozlišení – fakulty, ústavy) • pro generování „znaků fakult“ Univerzitní informační systém III. , Lednice 2004 12

Etapy vývoje 1. DB jádro spojovací a rozpadové tabulky, triggery zajišťující tranzitivitu 2. PL/SQL

Etapy vývoje 1. DB jádro spojovací a rozpadové tabulky, triggery zajišťující tranzitivitu 2. PL/SQL jádro zapojení kvalifikátorů, právní funkce, PKG_PRAVNI 3. Perl API zpřístupnění, případně doplnění PL/SQL funkcí 4. Servisní aplikace delegace práv, správa uživatelů a skupin, správa rolí a práv 5. Napojení na evidenci aplikací, vytvoření nových práv a rolí podrobná analýza stávajícího stavu 6. Přechod mezi starým a novým p. s. bude pozvolný, nutnost koexistence obou systému po určitou dobu synchornizování starý <=> nový Univerzitní informační systém III. , Lednice 2004 13

Pod pokličkou Tranzitivita • základem opět triggery, původní řešení z n. p. s. přepracováno

Pod pokličkou Tranzitivita • základem opět triggery, původní řešení z n. p. s. přepracováno • počet pomocných tabulek omezen, PL/SQL kód minimalizován • okruhy tabulek: • • čelní spojovací (uživatelé ve skupině, role v roli, . . . ) rozpadové, 1. okruh (všichni uživatelé ve skupině) rozpadové, 2. okruh (explicitní práva a role skupin/uživatelů) výsledné rozpadové – dvě úrovně (duplicitní a „DISTINCTnutá“) • základní princip: záznamy na n-té úrovni rozpadu pevně svázány (cizí klíče) se záznamy n-1. úrovně • kód triggerů redukován na INSERT-SELECTy a DELETy • na poslední úrovni proveden DISTINCT včetně vyřazení „zbytečných“ záznamů Univerzitní informační systém III. , Lednice 2004 14

Pod pokličkou Subjektivita • • • přímé použití kvalifikátorů nebo parafikátorů nevhodné spojením výhod

Pod pokličkou Subjektivita • • • přímé použití kvalifikátorů nebo parafikátorů nevhodné spojením výhod obou vzniká subjektifikátor (SF) SF je strukturou Q, nebo max. tříparametrický PQ použitý v p. s. v právním systému mohou být použity jen určité kvalifikátory omezení z důvodu snadného generování stromů speciálně pro právní systém dva stromy: • • • mechanismus: • • strom právních fikátorů – pohromadě Q a PQ použité v p. s. , nutný pro delegaci strom subjektifikátorů – vazby mezi SF, nutné pro výslednou rozpadovou tabulku práv a rolí role přidělena uživateli (skupině) na (parametrický) kvalifikátor jádro dohledá nebo založí subjektifikátor, vloží záznam do rozpad. tabulek spuštění kaskády triggerů a výsledně refresh funkce -> nový stav jádro pracuje se SF (buď jako s Q, nebo přes podmínky) Univerzitní informační systém III. , Lednice 2004 15

Pod pokličkou Delegace • při delegaci nesmí být uživatel schopen udělit jinou roli a

Pod pokličkou Delegace • při delegaci nesmí být uživatel schopen udělit jinou roli a na jiný kvalifikátor (resp. hodnoty parametrů) než je oprávněn • nutná zpětná transformace subjektifikátor -> kvali/parafikátor • netriviální úkol, další komplikace vnášejí UNIONy • využívají se oba stromy • nutná je evidence vztahů mezi podmínkami kvalifikátorů (formální a závislé podmínky) – student programu x student oboru, zaměstnanec ústavu x zaměstnanec fakulty • samotná delegace – vícekrokový postup (role – parafikátor – podmínky), řeší komplexní perlový kód Univerzitní informační systém III. , Lednice 2004 16

Problémy a nejasnosti • sdružování práv různých třídy do jedné role (řešení – subjektizátory?

Problémy a nejasnosti • sdružování práv různých třídy do jedné role (řešení – subjektizátory? ) • část SELECT v kvalifikátorech • kdo vymyslí všechna nová práva role? • využije se to vůbec? • problém přechodu – koexistence, přepis aplikací a jádra (šablony) Univerzitní informační systém III. , Lednice 2004 17

Závěrem • nový právní systém využívá všech možností kvalifikátorů • vlastní implementace je velkou

Závěrem • nový právní systém využívá všech možností kvalifikátorů • vlastní implementace je velkou výzvou, ještě větší je však jeho zapojení do stávajícího UIS Univerzitní informační systém III. , Lednice 2004 18

Děkuji za pozornost. Dotazy ? Univerzitní informační systém III. , Lednice 2004 19

Děkuji za pozornost. Dotazy ? Univerzitní informační systém III. , Lednice 2004 19