![]() |
Produkty |
![]() |
Funkční celky | Správa kontaktů |
![]() |
Tato kapitola popisuje nejkomplexnějším způsobem problematiku přístupových práv uživatelů a skupin k datům a činnostem v rámci Kaskády.
Uživatel je faktickým vykonavatelem jakýchkoliv manipulací s daty, spouští činnosti atd.
Naprostá většina oprávnění příslušného uživatele k jednotlivých datovým objektům vyplývá z jejich vlastnictví a zařazení uživatele do určitých skupin a jeho rolí v rámci těchto skupin.
Určitá skupina je pro uživatele skupinou domovskou, její význam spočívá v tom, že novým objektům, které bude tento uživatel vytvářet, bude automaticky nastaven jako vlastník on a jeho domovská skupina.
Skupina umožňuje sdružení uživatelů do určité "zájmové" skupiny a vymezení rolí pro členy této skupiny.
U objektů vlastněných touto skupinou budou členům této skupiny poskytnuta práva odpovídajícím rolím v této skupině.
Typickým případem je skupina "Vedení", která může být využita např. pro vlastnictví určitých smluv, dokumentů, apod., které nemají být volně přístupné ostatním uživatelům.
Role představují prostředek pro delegování určitých práv uživatelům. Množina rolí je v Kaskádě pevně daná (jsou to např. Prodejce-junior, Prodejce-senior, Účetní-junior, Účetní-senior, ...), uživatelsky nelze další role vytvářet nebo rušit, stejně tak nelze určovat oprávnění, která příslušná role poskytuje.
Jednotlivým rolím vývojáři určili "rozsah" působnosti, jinými slovy druhy datových objektů, ke kterým má mít přístup uživatel obsazený do této role.
Administrátor Uživatelů a skupin do rolí zařazuje/vyřazuje jednotlivé uživatele a tím jim poskytuje určitá práva.
Zařazování do rolí probíhá vždy v rámci určité skupiny. Uživatel tedy může v rámci každé skupiny zastávat jiné role. Ačkoliv to možná vypadá složitě, je to velmi užitečný mechanismus. V praxi zcela běžně nastávají situace, kdy například určitý uživatel má mít přístup k dokumentům příslušejícím skupině obchod, ale nemá přístup k dokumentům příslušejícím skupině vedení firmy.
Samozřejmě si lze představit situace, ve kterých je potřeba uživateli poskytnout právo k určitým konkrétním objektům (například k určitému dokumentu) bez ohledu na to, které skupině tento Dokument přísluší. I tuto situaci Kaskáda řeší, určitě by však nebylo praktické, kdyby ke každému jednotlivému objektu bylo nutno nastavovat konkrétní práva všem uživatelům. Obsazení uživatelů do rolí v rámci skupin tedy řeší velmi pohodlně a s minimální pracností většinu běžných situací. Jakékoliv další odchylky je potom možno řešit v rámci jednotlivých objektů (v dialogu Vlastnosti objektu - klávesová zkratka <Alt+Enter>).
Opravňuje uživatele vytvořit nový objekt. Týká se vždy určitého druhu objektů,
opravňuje uživatele vytvářet objekty tohoto druhu v rámci určité skupiny (jejího vlastnictví).
Anglický ekvivalent tohoto pojmu je Create.
Toto oprávnění umožňuje uživateli určitý konkrétní objekt zobrazit, tedy otevřít prohlížeč příslušného druhu
a v něm zobrazit data tohoto objektu.
Toto oprávnění má vliv nejen na možnost otevřít prohlížeč, ale na
zobrazení příslušného objektu v seznamech v nejrůznějších místech systému (ve vyhledávači, v kartě Souvisí libovolného jiného
objektu, ve složkách a v jiných tabulkových seznamech). Pokud uživatel právo k příslušnému objektu nemá, pak v seznamu vůbec
nebude uveden, ačkoliv jinému uživateli s jinými oprávněními se v daném místě může zobrazit.
Anglický ekvivalent tohoto pojmu je View (případně Read).
Opravňuje uživatele editovat data příslušného objektu, tedy nejen zobrazit, ale také v prohlížeči spustit
volbu Editace a modifikovat data příslušného objektu.
Anglický ekvivalent tohoto pojmu je Edit (případně Write).
Opravňuje uživatele odstranit příslušný objekt z Kaskády. Připomeňme, že v mnoha situacích je ke skutečnému
odstranění nutno nejen oprávnění, ale kromě toho Kaskáda provádí řadu kontextových kontrol a stanovuje zda je
nebo není možno objekt odstranit. Například doklady, které byly vystavené a zaúčtované, není možno ze systému
odstranit pouze na základě vůle uživatele. Kontakt, který je použit jako odběratel určité faktury (nebo
obecněji řečeno aktér u některého objektu) také nelze odstranit, atd.
Anglický ekvivalent tohoto pojmu je <Delete>.
U jednotlivých druhů objektů jsou k dispozici různé činnosti, které s nimi uživatel může provádět, např. u
dokladů vystavení či zaúčtování, u produktů např. sloučení s jiným
produktem, u majetku např. vygenerování odpisů pro
účetní období apod.
V praxi je nutno právo k jednotlivým činnostem diferencovat.
Každý objekt v Kaskádě si nese informace o přístupových právech. Uživatel může s objektem manipulovat do té míry, kterou mu nastavená práva poskytují. Vůbec při tom nezáleží na tom, odkud se uživatel k objektu dostal. Zda to bylo z určité složky nebo z karty Souvisí nějakého souvisejícího objektu, případně prostřednictvím Vyhledávače nebo jinak.
Výše uvedená věta má naprosto zásadní význam a pro pochopení principu přístupových práv je nutno dokonale ji pochopit. Uvádíme to proto, že často vzniká mylný dojem, že práva k objektu jsou dána složkou, do které je tento objekt propojen. To nemusí být pravda dokonce ani v souborovém systému na disku Vašeho počítače, kdy určitý soubor není dostupný pro určitého uživatele, který vidí složku v níž je soubor umístěn. V Kaskádě je oddělení přístupových práv k objektům od jejich umístění ve složkách odděleno ještě ostřeji. Propojení Kaskádního objektu do složky je totiž pouze jedním z mnoha způsobů jeho propojení s jinými objekty, přístupových cest ke každému objektu je mnoho. Proto objekt sám nese informace o svých přístupových právech, jak bylo řečeno výše.
Časem budou zřejmě implementované podpůrné funkce, které například při vložení objektu do určité složky nabídnou režim, který prověří práva uživatelů k této složce a dodatečně i příslušnému objektu nastaví pro uživatele alespoň právo vidět tento objekt. Je však potřeba si uvědomit, že takovým nastavením bude změněno právo k příslušnému objektu nejen v rámci této složky, ale obecně v rámci celé Kaskády. Bude-li tedy takto objekt zpřístupněn určitému uživateli, uvidí jej následně i v kartách Souvisí jiných objektů s nimiž je propojen, může jej vyhledat prostřednictvím Vyhledávače apod.
Datový objekt Kaskády je představován určitými údaji (hodnotami) zobrazovanými v prohlížeči, lze hovořit o dostupnosti (viditelnosti) a editovatelnosti (právem měnit) těchto údajů.
Zároveň lze s datovým objektem provádět různé činnosti, konkrétní činnosti závisí na druhu příslušného objektu. Například v rámci dokladů se jedná o vystavení, zaúčtování, ..., v případě Kontaktů se jedná o sloučení s jiným Kontaktem, analýzu... apod.
V Kaskádě nastavení práv k objektu rozhoduje jak o přístupu k datům, tak o přístupu k činnostem (právo provést - spustit určitou činnost). Zde je na místě podotknout, že provedení celé řady činností s objektem zapisuje Kaskáda do historie a lze tedy kdykoliv zjistit kdo a kdy jakou činnost prováděl.
Kromě činností, které lze provádět s jednotlivými objekty, samozřejmě existují činnosti komplexnějšího charakteru. Právo k provádění takových činností je obvykle určeno zařazením uživatele do administrátorských pozic.
Vlastnictví objektu je jedním ze základních prostředků k tomu, jak uživatelům poskytnout práva (oprávnění) k příslušnému objektu.
Každý datový objekt Kaskády musí být vlastněn určitým uživatelem a kromě toho může(někdy musí) být vlastněn také určitou skupinou uživatelů.
Vlastnění objektu uživatelem je povinné - každý objekt tedy musí mít určeného vlastnícího uživatele. V některých situacích jím však může být formální uživatel "Systém Kaskáda".
Vlastnící uživatel má k objektu veškerá práva s vyjímkou některých speciálních činností vyhrazených pouze pro administrátora. Objekt je tedy pro něho dostupný, editovatelný, může nastavovat práva jiným uživatelům a skupinám, může také předat vlastnictví objektu na někoho jiného.
V převážné většině případů je objekt vlastněn tím uživatelem, který jej vytváří. Může však buďto přímo v rámci prohlížeče (u některých druhů) nebo v dialogu Vlastnosti objektu zadat jiného uživatele a tím mu vlastnictví předat. Přitom sám vlastnictví ztrácí a pokud nemá k objektu jiná práva, může také nad tímto objektem ztratit kontrolu.
Vlastnění objektu skupinou uživatelů je u některých druhů povinné, jindy zakázané, u řady druhů je volitelné. Při vzniku nového objektu Kaskáda obvykle předdefinuje vlastnící skupinu (viz. dále), změnit jí lze v dialogu Vlastnosti objektu.
Vlastnění objektu určitou skupinou neposkytuje samo o sobě žádná práva členům této skupiny.
Platí však, že členové této skupiny mají k objektu taková práva, která odpovídají jejich rolím zastávaným v rámci skupiny. Pokud je například určitý Kontakt vlastněn skupinou "Celá firma", pak uživatel, který je ve skupině Celá firma obsazen do role Kancelár - junior ** má právo editovat tento Kontakt díky svému obsazení do role. Tato práva jsou dynamická - znamená to, že pokud administrátor uživatelů a skupin určitého uživatele vyřadí z příslušné role, automaticky tím uživatel ztrácí práva odpovídající této roli a tím pádem již například nemá dostupné objekty, které dosud dostupné měl.
Pro některé druhy objektů může vrcholový administrátor nastavit v konfiguraci druhů na kartě Druh, zda objekty daného druhu musí/mohou/nesmí mít skupinového vlastníka. To se projeví v dialogu Vlastnosti objektu na kartě Obecné. Pokud administrátor tuto povinnost zruší, umožní tím vytváření "privátních" objektů daného druhu.
Důležitou roli při stanovení vlastnící skupiny u nově vytvářených objektů hrají mj. také dvě nastavení v globální konfiguraci
Jde o stejné vyhodnocení jako u protiobjektu, pouze s tím rozdílem, že je prvně zjišťováno (upřednostněno) vlastnictví od šablony.
V případě, že druh objektu je Osoba, Organizace, Organizační jednotka nebo Produkt, je použita globální
vlastnící skupina (nikoliv domovská od uživatele).
U všech zásobníkových dokladů je použita vlastnící skupina od daného zásobníku (koliv domovská od
uživatele).
Jde o stejné vyhodnocení jako u protiobjektu, pouze s tím rozdílem, že je prvně zjišťováno (upřednostněno) vlastnictví od šablony.
Pro některé oblasti existuje kromě standardní technologie pro práci s přístupovými právy i nějaké další
specifické řešení. Jsou to např. Zásobníky a přístupová práva a
Zásilky a přístupová práva.
Samozřejmě si lze představit situace, ve kterých je potřeba uživateli poskytnout právo k určitým konkrétním objektům (například k určitému dokumentu) bez ohledu na to, které skupině tento dokument přísluší. Zde tedy není možno využít mechanismus rolí a skupin, je potřeba definovat ke konkrétnímu objektu zcela individuálním způsobem práva. Kaskáda podporuje i tuto možnost a uživatel (především vlastník objektu) může k objektu poskytnout další práva jiným uživatelům nebo skupinám. Toto nastavení lze provést v dialogu Vlastnosti objektu, který je dostupný prostřednictvím menu v prohlížeči nebo v modulu, nebo také klávesovou zkratkou <Alt+Enter>.
K příslušnému objektu lze nastavit práva pro libovolného uživatele Kaskády a
to tak, že v dialogu Vlastnosti objektu v kartě Práva přidáte uživatele do seznamu subjektů a v dolní části
zaškrtnete role, které vymezují rozsah oprávnění pro tohoto uživatele.
Zaškrtávací pole pro nastavení hromadných rolí edit/delete jsou přístupné jen tehdy, když má sám uživatel
tato práva.
Zaškrtávací pole pro nastavení detailních rolí jsou přístupné pouze vrcholovému administrátorovi.
Specifickým případem je poskytnutí práv ke složce, neboť Kaskáda v takovém případě zjišťuje, zda "obdarovaný" uživatel má příslušnou složku již zařazenou do své struktury stromu složek. Pokud ji nemá, pak automaticky vytvoří avízo typu Sdílení složky a umožní příslušnému uživateli zařazení získané složky do jeho stromu složek.
Poskytnutí práv k objektu určité skupině se provádí ve stejném dialogu a stejným způsobem. Dopad tohoto nastavení je však poněkud jiný. Zatímco v prvním případě je konkrétnímu uživateli poskytnuto oprávnění odpovídající konkrétní roli (bez ohledu na to jaké role zastává v jakých skupinách), v případě poskytnutí práva skupině záleží na tom, kteří uživatelé v příslušné "obdarované" skupině zastávají jaké role.
Znamená to, že pokud nastavíte pro objekt O a skupinu S oprávnění role R (s výjimkou hromadných rolí), pak právě uživatelé, kteří ve skupině S jsou obsazeni do role R, získají k objektu O příslušná práva.
Hromadné role (_View, _Edit, _Delete) jsou výjimečné v tom, že pokud nastavíte pro objekt O a skupinu S oprávnění některé hromadné role, pak všichni uživatelé skupiny S získají k objektu O práva poskytovaná touto rolí, tj. zobrazit objekt O (hr. role _View), editovat (hr. role _Edit) nebo mazat (hr. role _Delete).
V dialogu Vlastnosti objektu v kartě Práva lze také příslušná práva odebrat, okamžikem uložení těchto změn dojde k jejich akceptování programem.
Kaskáda poskytuje funkce pro monitorování práv k objektu, které jsou popsané dále v této kapitole.
Kromě výše popsaných principů (vlastnictví a přidělování dalších práv k objektům) existuje ještě tento mechanismus, který dočasně (dynamicky) poskytuje určitá oprávnění některým uživatelům. Dochází k tomu ve dvou situacích:
Objekt, který je určitému uživateli avizován. Kaskáda povoluje tomuto uživateli právo Zobrazit, aniž by to vyplývalo z vlastnictví nebo to bylo nastaveno jako další práva v kartě Práva. Může to být vhodné například v situaci, kdy chcete od některého uživatele vyjádření k určitému dokumentu a přitom tento dokument pro něho není běžně dostupný (nemá k němu právo Zobrazit). Pokud mu takovýto objekt avizujete, pak mu dočasně toto právo poskytujete. Příslušný uživatel v Inboxu otevře prohlížeč příslušného objektu, vyjádří se k němu a po odstranění z Inboxu opět právo Zobrazit ztratí.
Platí zde stejný princip jako u avizovaného objektu. Ten kdo je v daném okamžiku referentem aktuální etapy procesu, získává dočasně k objektu právo Zobrazit. Po předání procesu do další etapy toto oprávnění ztrácí. Samozřejmě zde platí, že pokud právo Zobrazit nepocházelo pouze z principu referenta etapy, ale například z vlastnictví role apod., pak o toto právo nepřijde.
Role představují prostředek pro delegování určitých práv uživatelům. Množina rolí je v Kaskádě pevně daná, uživatelsky nelze další role vytvářet nebo rušit, stejně tak nelze určovat oprávnění, která příslušná role poskytuje.
Administrátor Uživatelů a skupin do rolí zařazuje/vyřazuje jednotlivé uživatele a tím jim poskytuje určitá práva.
Zařazování do rolí probíhá vždy v rámci určité skupiny. Uživatel tedy může v rámci každé skupiny zastávat jiné role. Ačkoliv to možná vypadá složitě, je to velmi užitečný mechanismus. V praxi zcela běžně nastávají situace, kdy například určitý uživatel má mít přístup k dokumentům příslušejícím skupině obchod, ale nemá přístup k dokumentům příslušejícím skupině vedení firmy.
Kromě výše popsaných principů (vlastnictví a přidělování práv vidět určité objekty), je pro určitou skupinu lidí
zapotřebí zůročit data uložená v Kaskádě a prostřednictvím nějakého režimu zobrazit sumární informace (např.
náklady spojené s určitým kontaktem, přehled prodejů, ...). Tyto informace však má vidět jen určitý pracovník,
nikoliv uživatel, který má právo "pouze" vidět konkrétní objekt.
Přístup uživatelů k určitým sumářům je dán zařazením do určité role, viz. dále.
Ačkoliv je systém práv navrhován s maximální snahou o pochopitelnost a přehlednost, není (a vzhledem k rozmanitým požadavkům ani nemůže být) zcela jednoduchý. V praxi často nastane situace, kdy k určitému objektu určitý uživatel nemá taková oprávnění, jaká by on nebo správce systému očekával. V tomto okamžiku je důležité mít k dispozici prostředek, který rychle a jednoznačně poskytne informace o efektivních právech a také sdělí, na základě čeho byla příslušná efektivní práva poskytnuta.
Efektivními právy rozumíme výsledná (reálná) práva určitého uživatele k určitému objektu. Ta jsou výsledkem různých nastavení a situací popsaných výše. Například právo Zobrazení určitého objektu získává uživatel díky jeho vlastnictví, ale také díky roli, kterou zastává v rámci určité skupiny apod.
Užitečným pomocníkem při zodpovězení naznačených otázek je dialog Efektivní práva k objektu, který je dostupný prostřednictvím tlačítka Přehled práv v dialogu Vlastnosti objektu. Tento dialog nejen že zobrazí seznam uživatelů a jednotlivých typů jejich práv k danému objektu, ale pro jakýkoli detailní údaj umožňuje použitím dvojkliku získat informaci o důvodech, které příslušné právo zprostředkovávají.
Podrobný popis administrátorských činností souvisejících s přístupovými právy je k dispozici v případu použití Administrace uživatelů a skupin.
![]() |
Produkty |
![]() |
Funkční celky | Správa kontaktů |
![]() |