Efektivní práva
Jak bylo řečeno v předchozích kapitolách, pro každého uživatele se nastavují práva k funkcím, práva k objektům a privilegia, přičemž je možné tato nastavovat jednak přímo pro konkrétní roli anebo pro skupinu rolí. Každé právo může nabývat několika hodnot, přičemž výsledná hodnota práva daného uživatele, která určuje, zda bude či nebude moci danou akci provést či daný objekt zobrazit či použít jsou pak dána vyhodnocením kombinace hodnot práv nastavených pro jemu přidělené role a hodnot práv nastavených pro skupiny rolí, do nichž jsou role, přidělené uživateli, zařazeny. Jedná se o tzv. efektivní práva a privilegia, která se vyhodnocují při každém spuštění systému a přihlášení uživatele do systému. Podle výsledné hodnoty efektivního práva resp. privilegia je uživateli buď povoleno nebo nepovoleno danou akci/funkci provést resp. daný objekt použít/zobrazit.
Způsoby, jak konkrétně lze nastavovat hodnoty jednotlivých práv pro uživatele, jsou uvedeny v kap. Role - záložka Práva k objektům a Role - záložka Práva k funkcím. Stejný postup platí i pro nastavování práv pro Skupiny rolí.
V této kapitole naleznete výklad následujících témat:
Jak bylo řečeno výše, práva k funkcím a práva k objektům se uživateli přidělí přidělením role, u níž jsou tato práva adekvátně nastavena, přičemž uživatel může mít přiděleno i více rolí. Pro každou roli jsou nějak nastavena přístupová práva k objektům a funkcím, příp. privilegia (viz dále). Kromě toho je možno pro snazší administraci práv mít role zařazeny do skupin a přístupová práva k objektům a k funkcím příp. privilegia pak nastavovat najednou pro celou skupinu. Pro daného uživatele je tedy třeba po přihlášení podle jemu přiřazených rolí resp. skupin rolí vyhodnotit, k čemu má a nemá přístupová práva:
Nejdříve se vyhodnotí výsledná práva role s ohledem na práva skupin, v nichž je zařazena a poté se vyhodnotí výsledná práva uživatele s ohledem na všechny jemu přidělené role. Přitom platí:
- Výsledná práva dané role, jsou dána vyhodnocením kombinace práv nastavených pro danou roli a práv nastavených pro skupiny rolí, do nichž je daná role zařazena. Tato práva vzniklá jako výsledek kombinace práv přidělených roli a práv skupin, ve kterých je role zařazena, se nazývají Efektivní práva role.
- Výsledná práva daného uživatele, která se pro něj budou uplatňovat, jsou pak dána vyhodnocením kombinace efektivních práv rolí jemu přidělených, tj. vyhodnocením kombinace práv nastavených pro jemu přidělené role a práv nastavených pro skupiny rolí, do nichž jsou role, přidělené uživateli, zařazeny. Tato práva vzniklá jako výsledek kombinace práv přidělených rolí a práv skupin, ve kterých jsou dané role zařazeny, se nazývají Efektivní práva uživatele.
Efektivní práva role si lze zobrazit, příp. vytisknout, např. pro provedení kontroly správnosti nastavení:
- pomocí funkce Náhled v agendě Role v záložce Práva k objektům
- pomocí funkce Náhled v agendě Role v záložce Práva k funkcím
Efektivní práva uživatele si lze zobrazit, příp. vytisknout, např. pro provedení kontroly správnosti nastavení:
- pomocí funkce Náhled práv v agendě Uživatelů
v libovolné jiné agendě z menu Nápověda volbou Zobrazit přístupová práva (nabídne zobrazení efektivních práv a privilegií aktuálně přihlášeného uživatele):
Příklad vyvolaného menu Nápověda
Efektivní práva role se získají následovně:
- Nejdříve se vyhodnotí výsledné právo za všechny skupiny, do kterých je daná role zařazena. Přitom platí:
- Povolení přebíjí Bez určení
- Zákaz přebíjí Povolení
- Potom se vyhodnotí kombinace výsledného práva za všechny skupiny s právy nastavenými pro roli. Přitom platí:
- Práva role přebíjí výsledná práva skupin
Z toho plyne:
- pokud není přístup nastaven ani na skupině ani na roli, platí zakázáno
- pokud není na roli přístup nastaven a některá skupina přístup povoluje a ostatní nemají přístup nastaven, platí povoleno
- pokud není na roli přístup nastaven a některá skupina přístup zakazuje, platí zakázáno
- pokud je přístup nastaven přímo na roli, má vyšší prioritu než přístup vyplývající ze skupin
Jinými slovy: Efektivní právo role k dané funkci, resp. zobrazení nebo použití objektu je v podstatě rovno právu nastavenému u role, pouze pokud je dané právo u role bez určení, použije se výsledné právo za skupiny. Je-li i toto bez určení, je výsledkem Zakázáno.
Této vlastnosti lze s výhodou využít pro snadné nastavení práv skupině rolí, které mají skoro všechna práva stejná s malými výjimkami: např. je možné ve skupině mít právo povoleno, ale u vybrané role ho zakázat. Nebo je možné toto právo ve skupině nedefinovat a pouze u vybraných rolí ho povolit apod.
Efektivní práva uživatele se získají následovně:
Každý uživatel má přiřazenu jednu nebo více rolí, ze kterých mu vyplývají efektivní přístupová práva podle pravidel:
- Zákaz přebíjí Bez určení
- Povolení přebíjí Zákaz
Z toho plyne:
- pokud některá role přístup povoluje, platí povoleno
- pokud všechny role přístup zakazují, platí zakázáno
Je to odlišné chování než v případě výpočtu efektivních práv rolí, ale musí tomu tak být, aby uživatel, který má přiřazeno více rolí, měl dostatek práv, aby mohl všechny tyto role plnit.
Uživatel s rolí obchodník nemůže měnit příznak auditu v účetním deníku, avšak pokud např. dočasně po dobu nemoci účetního získá roli účetní, musí mít k auditaci přístup.
Celé objasníme na příkladu:
Mějme nadefinované dvě skupiny S1 a S2 a roli R, která je zařazena v obou skupinách. Dále mějme právo P, které v jednotlivých variantách je nastaveno různě pro obě skupiny a roli. Výsledné efektivní právo pro danou roli R1 v závislosti na kombinaci hodnot nastavených pro ni a pro skupiny ukazuje sloupec efektivní právo role R1 v následující tabulce.
Dále mějme uživatele U, kterému jsou přiděleny role R1 a role R2, která není zařazena již v žádné skupině a v níž právo P nabývá různých hodnot, viz tabulka. Výsledné efektivní právo uživatele U (tj. zda k danému objektu nebo funkci nakonec bude nebo nebude mít přístup) v závislosti na kombinaci hodnot nastavených pro skupiny a role ukazuje následující tabulka (pomlčka znamená "Bez určení"):
S1 | S2 | Výsl.právo skupin | R1 | Efektivní právo role R1 | R2 | Efektivní právo uživatele | |
---|---|---|---|---|---|---|---|
Varianta 1 | - | - | ⇒ Zakázáno | - | ⇒Zakázáno | - | ⇒Zakázáno |
Varianta 2 | - | - | ⇒ Zakázáno | ⇒Zakázáno | - | ⇒Zakázáno | |
Varianta 3 | - | - | ⇒ Zakázáno | ⇒Povoleno | - | ⇒Povoleno | |
Varianta 4 | - | ⇒ Zakázáno | - | ⇒Zakázáno | ⇒Zakázáno | ||
Varianta 5 | - | ⇒ Zakázáno | ⇒Zakázáno | ⇒Zakázáno | |||
Varianta 6 | - | ⇒ Zakázáno | ⇒Povoleno | ⇒Povoleno | |||
Varianta 7 | - | ⇒ Povoleno | - | ⇒Povoleno | ⇒Povoleno | ||
Varianta 8 | - | ⇒ Povoleno | ⇒Zakázáno | ⇒Povoleno | |||
Varianta 9 | - | ⇒ Povoleno | ⇒Povoleno | ⇒Povoleno | |||
Varianta10 | ⇒ Zakázáno | - | ⇒Zakázáno | ----- dtto ----- | |||
Varianta11 | ⇒ Zakázáno | ⇒Zakázáno | |||||
Varianta12 | ⇒ Zakázáno | ⇒Povoleno | |||||
Varianta13 | ⇒ Povoleno | - | ⇒Povoleno | ||||
Varianta14 | ⇒ Povoleno | ⇒Zakázáno | |||||
Varianta15 | ⇒ Povoleno | ⇒Povoleno | |||||
Varianta16 | ⇒ Zakázáno | - | ⇒Zakázáno | ||||
Varianta17 | ⇒ Zakázáno | ⇒Zakázáno | |||||
Varianta18 | ⇒ Zakázáno | ⇒Povoleno |
Jak bylo řečeno výše, privilegia se uživateli přidělí přidělením role, přičemž uživatel může mít přiděleno i více rolí. Pro každou roli jsou nějak nastavena privilegia. Kromě toho je možno pro snazší administraci práv mít role zařazeny do skupin a privilegia pak nastavovat najednou pro celou skupinu. Pro daného uživatele je tedy třeba po přihlášení podle jemu přiřazených rolí resp. skupin rolí vyhodnotit, k čemu má a nemá privilegia:
Nejdříve se vyhodnotí výsledná práva role s ohledem na práva skupin, v nichž je zařazena a poté se vyhodnotí výsledná práva uživatele s ohledem na všechny jemu přidělené role. Přitom platí:
- Výsledné přiřazení privilegií pro danou roli, je dáno vyhodnocením kombinace přiřazení privilegií u role a přiřazení privilegií nastavených pro skupiny rolí, do nichž je daná role zařazena. Toto přiřazení privilegií vzniklé jako výsledek kombinace přiřazení privilegií u role a skupin, ve kterých je role zařazena, se nazývá Efektivní privilegia role.
- Výsledné přiřazení privilegií pro daného uživatele, které se pro něj bude uplatňovat, je pak dáno vyhodnocením kombinace efektivních privilegií rolí jemu přidělených, tj. je dáno vyhodnocením kombinace přiřazení privilegií u rolí jemu přidělených a přiřazení privilegií nastavených pro skupiny rolí, do nichž jsou role, přidělené uživateli, zařazeny. Toto výsledné přiřazení privilegií vzniklé jako výsledek kombinace přiřazení privilegií přidělených rolí a skupin, ve kterých jsou dané role zařazeny, se nazývá Efektivní privilegia uživatele.
Efektivní privilegia role si lze zobrazit, příp. vytisknout, např. pro provedení kontroly správnosti nastavení:
- pomocí funkce Náhled v agendě Role v záložce Privilegia
Efektivní privilegia uživatele si lze zobrazit, příp. vytisknout, např. pro provedení kontroly správnosti nastavení:
- pomocí funkce Náhled práv v agendě Uživatelů
-
z libovolné jiné agendy z menu Nápověda volbou Zobrazit přístupová práva (nabídne zobrazení efektivních práv a privilegií aktuálně přihlášeného uživatele):
Příklad vyvolaného menu Nápověda
Efektivní privilegia role se získají následovně:
Privilegium role MÁ tehdy, pokud jej má zatrženo buď sama u sebe nebo u některé ze skupin, do nichž je zařazena. V opačném případě role dané privilegium NEMÁ.
Efektivní privilegia uživatele se získají následovně:
Privilegium uživatel MÁ tehdy, pokud jej má zatrženo buď v nastavení některé své role nebo u některé ze skupin, do nichž jsou jeho role zařazeny. V opačném případě privilegium NEMÁ - tj. nemá jej zatrženo ani v nastavení žádné své role svém ani v nastavení skupin.
Pozor, u privilegií se nenastavují hodnoty Povoleno/Zakázáno a tudíž se neuplatňuje pravidlo, že Zakázáno přebíjí Povoleno, a neplatí ani to, že nastavení u role přebíjí nastavení u skupin jako u práv. Privilegium uživatel buď MÁ nebo NEMÁ. Viz následující příklad.
Mějme nadefinovanou skupinu S1, roli R, která je zařazena ve skupině, a uživatele U, kterému je přidělena role R. Dále mějme privilegium, které variantně pro danou skupinu a roli je anebo není zatrženo. Výslednou hodnotu přiřazení privilegia pro uživatele U ukazuje následující tabulka:
S1 | R | Privilegium: | |
---|---|---|---|
Varianta 1 | Nemá | ||
Varianta 2 | Má | ||
Varianta 3 | Má | ||
Varianta 4 | Má |
Lze tedy řešit situaci, kdy celá skupina rolí má mít nějaká privilegia (tedy jsou nastaveny u skupiny) a jedna z těchto rolí má ještě nějaké privilegium navíc (nastaveno u role). Nelze ale nastavením privilegií pro skupiny řešit opačnou situaci, kdy celá skupina má mít nějaká privilegia a jedna z rolí by některé z těchto privilegií mít neměla.