Oprávnění (informatika)
Oprávnění (angl. privilege, doslova výsada, privilegium) je ve výpočetní technice definováno jako delegování práva používat funkce související s bezpečností v počítačovém systému nebo na internetu.[1] Oprávnění umožňuje uživateli provést akci s bezpečnostním dopadem. Jako příklady oprávnění můžeme uvést možnost vytvořit nového uživatele, možnost instalovat software nebo změnit funkci jádra. Oprávnění je pojem z oblasti správy identit, širší význam je zřejmý i z rozcestníku Oprávnění na Wikipedii.
Uživatelé, kterým byla delegována zvláštní úroveň kontroly, se nazývají privilegovaní. Uživatelé, kterým chybí většina oprávnění, jsou označováni jako neprivilegovaní, běžní nebo normální uživatelé.
Dva významy slova oprávnění
editovatKromě významu z úvodu článku (privilege) se termínu oprávnění také používá jako synonyma pro přístupová práva (anglicky permissions). Rozdíl je v tom, že oprávnění má subjekt, který přistupuje ke zdroji (oprávněný uživatel nebo proces). Ten má na základě povolení schopnost vykonávat v systému s určitým objektem určité akce. Sloveso opravňovat (uživatele) znamená udělovat mu určité konkrétní právo nebo výjimku.[2]
Naopak právo přistupovat (permissions) je vlastnost výše uvedeného objektu, zdroje. Synonymem podstatného jména v tomto významu je údajně autorizace, zejména formální souhlas nějaké autority.[2] Například přístupová práva k datovému zdroji může definovat Access Control List.
Praktické použití těchto dvou významů se však liší.[3]
- O přístup se žádá, oprávnění se přiděluje (uděluje).
Když přemýšlíte o použití těchto dvou slov, proaktivní použití ohledně přístupu (první akce obvykle prováděná kterýmkoli subjektem ve větě v kontextu) je o něco požádat, reaktivní použití (druhé opatření přijaté v reakci na první) je přístup udělit. Naproti tomu proaktivní použití privilegia je oprávnění udělit, zatímco reaktivní použití je jeho uplatnění. (Pro zjednodušení vynecháváme alternativní scénáře).
- Přístupy jsou založeny na situaci, oprávnění jsou založena na čase.
Konotace obou podmínek je opět taková, že přístup je něco, co je třeba si vyžádat a udělit pokaždé, když provedete akci, a zda se přístup udělí, může být založeno na momentálních okolnostech. Avšak při užití oprávnění k určité konkrétní akci subjekt ví že tu věc může udělat, protože už byl kdysi informován, že ji dělat může. A tak subjekt v akci pokračuje, aniž by se výslovně ptal, a to dokud není řečeno, že k tomu již nadále není oprávněn.
Běžný postup v IT bezpečnosti je takový, že oprávnění jsou primární a podle nich se určují přístupová práva. Uživateli je prostřednictvím jeho účtu přiděleno oprávnění ke čtení určitého typu záznamu (nebo konkrétního záznamu) správcem systému. Toto se obvykle provádí jen jednou nebo podle potřeby periodicky v průběhu času. Aplikace jednající jménem uživatele, který se autentizoval pomocí účtu, poté požádá o povolení k provedení akce pokaždé, když je to potřeba, a systém v každém jednotlivém případě po prozkoumání oprávnění uživatele toto oprávnění udělí.
Obecně je to kombinace práv a oprávnění, co určuje přístup jedince ke zdroji. Pokud mám například právo přístupu k určitému souboru v systému Windows, ale nemám oprávnění k přihlášení se k tomuto systému lokálně ani prostřednictvím sítě, nemůžu k souboru vlastně přistupovat, a to i když ACL souboru říká, že to mohu dělat. V praxi se nepřesně, ale dosti běžně používají spojení jako autorizovat uživatele, práva uživatele ke zdroji a podobně.
Typy oprávnění
editovatOprávnění mohou být automatická, udělovaná nebo na žádost.
Pokud k provedení akce není oprávnění vyžadováno, pak mluvíme o automatickém oprávnění. Například v systémech, kde jsou lidé povinni se přihlásit do systému, aby jej mohli používat, nebude k odhlášení vyžadováno oprávnění. Systémy, které nezavádějí ochranu souborů - například MS-DOS - v podstatě dávají neomezené oprávnění provádět se souborem jakoukoli akci.
Přidělené oprávnění existuje v důsledku toho, že systému nebo uživateli, který používá toto oprávnění bylo přiděleno určité pověření. To se obvykle provádí po přihlášení k systému pomocí uživatelského jména a hesla a pokud jsou zadané uživatelské údaje správné, jsou uživateli přidělena další oprávnění.
O oprávnění se žádá například spuštěním nějakého programu, který požádá o další oprávnění. Viz například příkaz sudo pro spuštění nějakého příkazu jako uživatel root nebo ověřovací systém Kerberos.
Privilegovaný a neprivilegovaný stav
editovatModerní architektury procesorů mají více CPU módů, které umožňují operačnímu systému běžet na různých úrovních oprávnění. Tím se zabrání uživatelskému procesu v možném narušení stability běhu operačního systému bez spoluúčasti entity běžící v privilegovaném režimu. Proces by v opačném případě mohl zasahovat i do jiné oblasti paměti, než té, která mu byla přidělena pro vykonávání jeho vlastního kódu.
Této vlastnosti se využívá i při virtualizaci. Operační systém umožňuje simulovat v počítači kompletní (neexistující) počítač a spustit si tak například další operační systém jako běžnou úlohu, kterou počítač zpracovává. Hostovaný operační systém pak až na zpoždění nemůže zjistit, že nemá celý počítač jen pro sebe.
Související články
editovatReference
editovatV tomto článku byl použit překlad textu z článku Privilege (computing) na anglické Wikipedii.
- ↑ Slovníček [online]. NIST [cit. 2019-02-12]. Dostupné v archivu pořízeném dne 2019-02-13.
- ↑ a b Permission vs Privilege - Jaký je v tom rozdíl?, anglicky
- ↑ Stack Exchange: Rozdíl mezi Privilege a Permission (anglicky)