602SQL-Úplná dokumentace Index  

Práva k objektům v databázi

Mezi objekty aplikace se počítají definice tabulek, dotazů, zdrojové texty přenosů a další. Ve vztahu k nim může subjekt práva získat tato práva:

  1. právo použít (select) objekt (tj. např. otevřít dotaz, spustit přenos);
  2. právo změnit (update) objekt (tj. např. předefinovat tabulku, změnit návrh přenosu);
  3. právo zrušit (delete) objekt;
  4. právo poskytnout (grant) svá práva dalším uživatelům.

Právo vytvářet objekty (vkládat záznamy do systémových tabulek) se nastavuje zvlášť - viz Práva k systémovým tabulkám.

Právo změnit (modifikovat) objekt se neuplatní, není-li současně přiděleno právo použít (tj. číst definici) objektu.

Interaktivní nastavování práv k objektům

Práva lze nastavit pro jeden vybraný objekt nebo pro množinu označených objektů v dialogovém okně, které se otevře po provedení akce Práva k objektu.

V horní části okna se volí subjekt práva a tlačítky, jejichž text se mění podle vybraného subjektu, kontrolovat (a správce může měnit) zařazení uživatelů ve skupinách, resp. uživatelů a skupin v rolích. V dolní části si lze prohlédnout a případně změnit (tlačítka Přidat a Odebrat) nastavení práv vybraného subjektu práv k označenému objektu aplikace.

Sloupec Přidělené ukazuje, která práva má vybraný subjekt práva. Máte-li právo poskytovat práva k tomuto objektu, můžete je zde měnit. Sloupec Efektivní ukazuje (bez možnosti editace), jaká práva k objektu reálně přísluší vybranému subjektu práv - kromě přímo přidělených práv se zde berou do úvahy i práva získaná zařazením do skupin či do rolí.

Chcete-li nastavit práva na obsah tabulky (tj. práva k datům), použijte akci Práva k datům. V klientském prostředí se odebrání práva použít tabulku uplatní jen částečně - tabulka jde vždy otevřít (obsah tabulky v gridu je dán nastavením práv k datům), ale nejde vypsat její definici (v okně Výstupy nebo duplikací objektu).

Právo použití objektu typu doména a sekvence se nekontroluje "uvnitř" 602SQL - v definici tabulky, v procedurách apod.

Programová manipulace s právy k objektům

V CDK rozhraní existují ve třídě TSQL602Connection metody GetObjPrivils a SetObjPrivils. Čistě z SQL s právy k objektů manipulovat nelze s jedinou výjimkou - nastavení práv provádět uložené procedury pomocí GRANT.