Bachelor's Thesis

Federated Services Management Application

Final Thesis 4.29 MB

Author of thesis: Bc. Jan Pavlíček

Acad. year: 2024/2025

Supervisor: doc. Mgr. Kamil Malinka, Ph.D.

Reviewer: Ing. Zbyněk Lička

Abstract:

This thesis extends the Federation Registry application to improve integration with modern identity infrastructures. It introduces support for Perun AAI, enabling automatic synchronization of services with Perun IDM, and adds a deployer agent for Apereo CAS. A feature for service registration from all deployment environments into a single identity infrastructure instance was also implemented. All extensions were tested in a real-world-like environment and demonstrated improved interoperability and flexibility for service registration within academic and research federations.

Keywords:

Federation Registry, Perun AAI, Apereo CAS, identity management, service registration, federated identity

Date of defence

18.06.2025

Result of the defence

Defended (thesis was successfully defended)

znamkaAznamka

Grading

A

Process of defence

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.

Topics for thesis defence

  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?

Language of thesis

English

Faculty

Department

Study programme

Information Technology (BIT)

Composition of Committee

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)

Supervisor’s report
doc. Mgr. Kamil Malinka, Ph.D.

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ě.

Evaluation criteria Verbal classification
Information about assignment

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.

Work with literature

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).

Activity during solution, consultations, communication

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.

Activity during completion

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.

Publication activity, awards

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

Points proposed by supervisor: 85

Grade proposed by supervisor: B

Reviewer’s report
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.

Evaluation criteria Verbal classification Points
The difficulty of the assignment

Evaluation level: more difficult assignment

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ší.

Presentation level of the technical report

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
Formal preparation of a technical report

Ú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
Realisation output

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
Usability of results

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

The extent to which the requirements of the assignment have been met

Evaluation level: assignment fulfilled

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).

Extent of the technical report

Evaluation level: is within the usual extent

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í.

Work with literature

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
Topics for thesis defence:
  1. Jakým způsobem probíhá autentizace s Apereo CAS? Je tento způsob bezpečný?
Points proposed by reviewer: 95

Grade proposed by reviewer: A

Responsibility: Mgr. et Mgr. Hana Odstrčilová