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.