7.1. Zabezpečení

Funkce pro zobrazení komponent vyžadují autentizovaného uživatele. Na základě autentizace je provedena autorizace k provedení dané operace.

Jednotlivé implementace digitálního archivu mohou podporovat více metod zabezpečení přístupu a autentizace. Následují příklady způsobu zabezpečení přístupu s uvedením výhod jednotlivých přístupů.

Varianty zabezpečení API pro zobrazení komponent:

7.1.1. Individuální řešení

Architektura zabezpečení přístupu je odlišná v jednotlivých implementacích digitálních archivů a vychází z požadavků daného řešení. Každé individuální řešení musí pokrývat řešení situace, kdy je zaslán požadavek na zobrazení příslušné komponenty a uživatel není autentizován. V takovém případě dojde k vyvolání autentizačního mechanismu a po jeho úspěšném dokončení pokračuje již započatý požadavek. Dochází k tomu bez nutnosti opětovného zaslání ze strany aplikace pro zpracování archiválií.

Všechna řešení by měla umožňovat také efektivní podporu pro opětovné zobrazení další komponenty, a to tak, aby se uživatel nemusel pro každý jednotlivý požadavek opětovně autentizovat.

7.1.2. Řešení pomocí API gateway

Aplikace pro zpracování archiválií může být součástí vnitřní infrastruktury digitálního archivu. Jedná se o poměrně obvyklé řešení pro archivy, které provozují vlastní digitální archiv. V těchto případech je součástí řešení obvykle API gateway (nebo jiná technologická obdoba), kde se realizuje autentizace všech dílčích částí řešení digitálního archivu. Jednotlivé komponenty dostávají informaci o platné autentizaci v hlavičce příchozího požadavku. Příklady takovýchto technologií: používání JWT tokenů či OpenID nebo distribuovaná autentizace pomocí SAML, Shibboleth a další.

V uvedených případech není součástí odesílaného požadavku na zobrazení komponenty žádná dodatečná autentizační informace. Vše musí být zajištěno mechanismy na straně API gateway. Viz také: Autentizace na Národním archivním portálu.

7.1.3. Řešení pomocí API key

Pro přístup k datům uloženým v rámci digitálního archivu je navržen přístup pomocí specializovaných API klíčů, viz Autentizace pomocí API Key. Tento mechanismus je možné využít i pro přístup z klientské aplikace pro zobrazení komponent. Mechanismus API klíčů může být využíván jak pro tzv. sdílené technické účty, tak pro individuální uživatelské účty. V případě využití tohoto mechanismu je nutné na straně klientské aplikace zajistit správné podepsání příslušného požadavku, a to se všemi požadavky z toho plynoucími.

Toto řešení je vhodné, pokud je již na straně digitálního archivu tento mechanismus využit pro autentizaci pro REST rozhraní. Je nutné posoudit, zda je možné využívat i sdílené technické účty pro zobrazování, nebo jen individuální. V případě využití sdílených technických účtů je nutné zajistit, aby nemohlo dojít k úniku klíčů, a takovéto klíče nepřenášet do klientské aplikace. Individuální klíče je možné využívat i přímo z klientské aplikace.