bakalářská práce

Aplikace pro správu federovaných služeb

Text práce 4.29 MB

Autor práce: Bc. Jan Pavlíček

Ak. rok: 2024/2025

Vedoucí: doc. Mgr. Kamil Malinka, Ph.D.

Oponent: Ing. Zbyněk Lička

Abstrakt:

Tato práce rozšiřuje aplikaci Federation Registry o podporu moderních infrastruktur pro správu identit. Přidává integraci s Perun AAI pro automatickou synchronizaci služeb s Perun IDM a nového nasazovacího agenta pro registraci služeb do systému Apereo CAS. Součástí je i podpora pro registraci služeb ze všech integračních prostředí do jedné instance infrastruktury identit. Všechna rozšíření byla otestována v prostředí simulujícím reálný provoz a prokázala zlepšení interoperability a flexibility při registraci služeb v akademických a výzkumných federacích.

Klíčová slova:

Federation Registry, Perun AAI, Apereo CAS, správa identit, registrace služeb, federovaná identita

Termín obhajoby

18.06.2025

Výsledek obhajoby

obhájeno (práce byla úspěšně obhájena)

znamkaAznamka

Klasifikace

A

Průběh obhajoby

Student nejprve prezentoval výsledky, kterých dosáhl v rámci své práce. Komise se poté seznámila s hodnocením vedoucího a posudkem oponenta práce. Student následně odpověděl na otázky oponenta a na další otázky přítomných. Komise se na základě posudku oponenta, hodnocení vedoucího, přednesené prezentace a odpovědí studenta na položené otázky rozhodla práci hodnotit stupněm A.

Otázky k obhajobě

  1. Jakým způsobem probíhá autentizace s Apereo CAS? Je tento způsob bezpečný?
  2. Dalo by sa heslo zahashovat na klientovi?

Jazyk práce

angličtina

Fakulta

Ústav

Studijní program

Informační technologie (BIT)

Složení komise

doc. Ing. Ondřej Ryšavý, Ph.D. (předseda)
Ing. Tomáš Milet, Ph.D. (člen)
Ing. Marcela Zachariášová, Ph.D. (člen)
Ing. Filip Orság, Ph.D. (člen)
doc. RNDr. Dana Hliněná, Ph.D. (člen)

Při celkovém hodnocení nejvíce zohledňuji vysokou míru kvality zpracování realizačního výstupu. Student splnil všechny body zadání ve velmi dobré kvalitě. Při řešení práce postupoval systematicky a velmi dobře si poradil s technickými překážkami. Práce byla po celou dobu pravidelně konzultována, kvalita textu je na výborné úrovni. Pozitivně hodnotím zpracování práce v angličtině.

Kritérium hodnocení Slovní hodnocení
Informace k zadání

Cílem práce bylo rozšířit existující federační služby o nové funkcionality. Jedná se o obtížnější implementační práci, a to z důvodu většího množství technologiích nutných k nastudování a dále pak z důvodu integrace to již existujícího komplexního prostředí. Práce splnila všechny body ve výborné kvalitě. Student věnoval řešení velkou péči.

Práce s literaturou

Student aktivně vyhledával relevantní dostupnou literaturu a vhodně ji začlenil do své práce. Významnou část tvoří technické dokumentace. Drobnou výtku mám k použití některých částí technické dokumentace, kde mohl být lépe vyznačeno doslovné přebrání. Nicméně jedná se o dvě malé technické části a nepovažuji tohle za prohřešek vůči citační etice, protože zdroje jsou uvedeny a rozsah se týká je základních definic. Číslo u antiplagiátorského systému je vyšší z důvodu započítání stejné pasáže několikrát (je totožně přebraná ve více dokumentech).

Aktivita během řešení, konzultace, komunikace

Po celou dobu řešení jsme měli pravidelné schůzky, na kterých byly konzultovány dílčí kroky řešení a celkový směr práce. Student byl vždy výborně připraven. Student taky práci aktivně a průběžně řešil s konzultantem ze strany systému PERUN.

Aktivita při dokončování

Student obsah práce konzultoval průběžně a její definitivní obsah mi byl zaslán k připomínkování v dostatečném předstihu. Všechny mé připomínky k práci byly zapracovány.

Publikační činnost, ocenění

Výsledky práce je v plánu začlenit do produkčního prostředí.

Výsledný počet bodů navržený vedoucím: 85

Známka navržená vedoucím: B

Posudek oponenta
Ing. Zbyněk Lička

Jedná se o kvalitní a robustní řešení obtížnějšího zádání, jehož implementaci lze zavést do produkce. Student si sám domluvil konzultaci, na které důkladně předvedl funkčnost. Všechny body zadání jsou splněny. Text je po typografické stránce téměř dokonalý, avšak bylo využito AI pro úpravu textu, což autor uznává přímo v úvodu. Z hlediska pochopitelnosti textu mám minimum výhrad, které se především týkají propojení teoretické části s návrhem.

Kritérium hodnocení Slovní hodnocení Body
Náročnost zadání

Stupeň hodnocení: obtížnější zadání

Jedná se o implementaci různých rozšíření do existujícího systému, které zaručují komunikaci s novými podtypy existujících obecných komponent, což by samo o sobě nemělo být obtížné. Avšak systém, do kterého jsou zaváděna rozšíření, je vysoce komplexní a bylo zapotřebí důkladně nastudovat každý detail příslušných standardů a dokumentací. Z důvodu komplexity systému hodnotím zadání jako obtížnější.

Prezentační úroveň technické zprávy

Text je srozumitelně dělený. Kapitoly a sekce na sebe logicky navazují - student popisuje interagující systémy v teoretickém základu během prvních dvou kapitol, následuje návrh, implementace a popis prostředí spolus s testováním. Množství interagujících systémů způsobuje, že se v textu čtenář lehce ztratí, nejedná se vyloženě o chybu prezentace, ale spíše charakter tématu. Každopádně jsem si dovolil sepsat poznatky ze čtení.

Pozn: Mezi kapitolou 2,3 (teorie) chybí propojení s následující kapitolou 4 (návrh), ve které autor představuje jednotlivé body, které hodlá v rámci práce řešit. Konkrétně, chybí zmínka v teoretické části, kde přesně vznikají problémy v architektuře, které jsou řešeny dále v textu.

Dále, práce je zaměřená na Perun AAI, avšak na konci teoretické části (kapitoly 2,3) mi k lepšímu pochopení celého systému chybí popis, jak jednotlivé komponenty Perun AAI interagují s federačním registrem. Toto je v textu popsáno, avšak čtenář se musí vracet a informace hledat. Vyloženě by stačil velmi high level obrázek nebo zakroužkované/v textu zmíněné, kam tyto komponenty zapadají v širším ohledu. Obrázek v tomto smyslu podobný se vyskytuje až na začátku kapitoly 6 - nasazení a testování. Zjednodušená verze tohoto schématu by se hodila na začátek kapitoly 4 - návrh rozšíření.

90
Formální úprava technické zprávy

Úroveň angličtiny je vysoká. Práce obsahuje přesně 2 překlepy. Při vypracování práce autor přiznává použití generativního AI pro parafrázování a Grammarly pro opravu chyb. Vzhledem k tomu, že počet překlepů lze spočítat na prstech jedné ruky, hodnotím formální uprávu za A.

Konkrétně: V rozšířeném abstraktu - "insfrastruktura". Druhý v kapitole 6 - testování, poslední testovací scénář:
Scenario steps for OIDC service:
1. Log in to the Federation Registry.
2. Create SAML service registration with - zde by mělo být "OIDC service"

99
Realizační výstup

Student implementoval 3 podbody 3. bodu zadání. Implementace byla rozsáhlá a týkala se úprav frontendu, backendu a implementace zcela nových komponent.

Proces implementace je popsán na vstřebatelné úrovni abstrakce. Jsou popsány i testovací scénáře, které jsou na rozumné úrovni, avšak chybí automatizované testy.

Ve zdrojovém kódě student vyznačuje upravený i vlastní kód. Odevzdaný kód je v souladu s licenčními podmínkami (Apache 2.0) a autorským právem.

Funkčnost byla předvedena osobně během konzultace, která proběhla hladce až na drobný zádrhel. Během posledního scénáře došlo k chybě, kde osamocená skupina pro uživatele zamezila nahrání služby do Perun IDM. Po smazání skupiny se nepovedlo chybu zreprodukovat a scénář proběhl tak, jak měl. Tudíž chybu přisuzuji tomu, že student skupinu omylem ponechal v databázi při vlastní verifikaci funkčnosti před ukázkou.


95
Využitelnost výsledků

Řešení lze zavést v produkčním prostředí. Teoretickou část práce lze využít jako úvod do identity managementu.

Rozsah splnění požadavků zadání

Stupeň hodnocení: zadání splněno

Systémy pro správu identit a federačního registru byly čitelně shrnuty. Student se zaměřil na integraci s Apereo CAS a Perun IDM. Student splnil všechny body zadání. U třetího bodu zadání si měl student vybrat 3 možnosti. Student si vybral a splnil podbody ii), iii) a iv) (tedy celkově splnil).

Rozsah technické zprávy

Stupeň hodnocení: je v obvyklém rozmezí

Technická zpráva je v obvyklém rozsahu s cca 56 normostranami. V textu se neobjevují zbytečné pasáže a nic významného v textu nechybí.

Práce s literaturou

Celkem 35 citací, z toho většina odkazy na webové stránky technické dokumentace, což je vzhledem k zadání pochopitelné. Autor se také odkazuje na odbornou literaturu, konkrétně v teoretické části.

Samotná teoretická část je tvořena provázanými parafrázovanými úryvky z citované literatury (dokumentace, standardy, webové stránky a odborný text). Citace používá pro vytvoření souvislého textu, který popisuje části systému v provázaném a srozumitelném stylu.

Citace jsou v souladu s citačními zvyklostmi a normami. Dle mého názoru nedošlo k porušení citační etiky. Systém Theses.cz uvádí podobnost 7,6%.

Pozn: duplicitní citace [4], [5]

95
Otázky k obhajobě:
  1. Jakým způsobem probíhá autentizace s Apereo CAS? Je tento způsob bezpečný?
Výsledný počet bodů navržený oponentem: 95

Známka navržená oponentem: A

Odpovědnost: Mgr. et Mgr. Hana Odstrčilová