Regisztráció és bejelentkezés

Vállalati hitelesítési protokoll és azon alapuló identitásplatform tervezése és megvalósítása

Egy nagyvállalatnál történő szoftverfejlesztés esetén a fejlesztőknek az átlagosnál is nagyobb elvárásoknak kell eleget tenniük. Az alkalmazásoknak az alapvető funkcionalitáson, valamint a felhasználók általános elvárásain felül meg kell felelniük számos vállalati követelménynek, amelyek folyamatosan ellenőriznek auditok formájában. A megfelelő titkosítás, személyesadat kezelés és a biztonságos hozzáféréskezelés kiemelten fontos szempontok egy ilyen környezetben. Ezeket a fejlesztők által alkalmazott technológiáktól függetlenül, minden esetben hiánytalanul meg kell valósítani. Ez pedig az összes alkalmazás esetén jelentős munkaerőráfordítást igényel.

Dolgozatomban bemutatom az általam tervezett és megvalósított szoftvercsomagot, amely feladata az imént említett követelményeknek megfelelő alkalmazások fejlesztésének támogatása. Hosszú kutató munka, tervezés és próbálkozás után egy, az Apache-ra épülő dockerizált proxy szervert hoztam létre, amely a titkosításért és az azonosításért felel. Előbbit Secure Sockets Layer (SSL) felett működő HTTP protokoll használatával, utóbbit pedig az elosztott rendszereknél elterjett Kerberos protokoll használatával valósítottam meg. Ez a vállalati Windows felhasználóifiókok alapján biztosít automatikus Single Sign-On (SSO) authentikációt. A Docker konténerben futó proxy szerverrel egy Shell alkalmazás formájában megvalósított parancssoros interfészen keresztül lehet kommunikálni, amely számos funkcionalitást rejt magában. Az alkalmazásainkhoz beregisztrált proxy-k minden kérést naplóznak, a naplófájlok relációs leképezése után pedig üzleti intelligencia rendszer segítségével követhetjük nyomom működésüket.

A felhasználók adatainak és alkalmazás-specifikus jogosultságainak egységes kezelésére egy elosztott architektúrájú webalkalmazást készítettem, amely egy Java nyelven írt Spring Boot backend szolgáltatásból, valamint egy TypeScript nyelven készült ReactJS frontend szolgáltatásból épül fel. A fejlesztők által készített alkalmazásoknak az imént említett backend szolgáltatás megfelelő végpontjaival kommunikálva van lehetőségük programozottan lekérni a felhasználók adatait és az adott alkalmazáshoz tartozó jogosultságukat. Ezen kommunikáció implementációját egy Spring Boot könyvtárba csomagoltam, amelyet a fejlesztők egy Maven csomag importálásával használhatnak alkalmazásaikban. Ez a könyvtár számos előnye mellett leveszi a teljes security implementációt a fejlesztők válláról, ami kiemelten előnyös egy nagyvállalatnál, ahol folyamatosan kapacitás problémákkal küzdünk.

szerző

  • Czakó Patrik Roland
    Mérnök informatikus szak, mesterképzés
    mesterképzés (MA/MSc)

konzulens

  • Dr. Ekler Péter
    Docens, Automatizálási és Alkalmazott Informatikai Tanszék

helyezés

III. helyezett