Een unieke stad wil ook de beste zijn in de digitale wereld. Daarom vertrouwt Antwerpen voor haar ICT-diensten op de mensen van Digipolis.
Digipolis ontwikkelt software, implementeert hardware, netwerken en telefonie-infrastructuren. Daarnaast begeleiden ze hun collega’s bij Stad Antwerpen, OCMW, Zorgbedrijf Antwerpen en politie, realiseren ze ICT-projecten en zorgen ze voor een kwalitatieve en stabiele ondersteuning van de operationele toepassingen en infrastructuur.
De uitdaging
Een flexibele en duurzame Identity & Acces Management engine
IS4U kreeg de opdracht om de Identity & Access Management Engine te bouwen, implementeren en uit te breiden. Deze engine zorgt ervoor dat de ICT-oplossingen in het IT-ecosysteem van Digipolis beschikken over een flexibele en toekomstvaste IAM-engine.
Digipolis had een aantal specifieke doelstellingen voor ogen, zoals gebruikersregistratie, authenticatieniveaus, gedelegeerd rolbeheer, autorisatie voor het ontwikkelplatform van het Digipolis IT-ecosysteem, Single Sign-On (SSO) voor alle organisaties, integratie met Apache Kafka en aangepaste inlogopties per organisatie.
De aanpak
Registratie van gebruikers
- Gebruikers hoeven zich niet zelf te registreren, maar worden automatisch toegevoegd na koppeling met bestaande externe identity aanbieders.
- Voor ontwikkelaars die meewerken aan een applicatie via het ontwikkelplatform van het Digipolis IT-ecosysteem is een autorisatiesysteem opgezet. Hiervoor werd een API op maat ter beschikking gesteld.
- Voor het beheren van gebruikers en groepen om integratie met andere componenten in het Digipolis IT ecosysteem te vereenvoudigen, is de implementatie van een API op maat in Keycloak gerealiseerd.
Authenticatieniveaus
- De integratie van het ‘A-profiel inlogsysteem’ is geactiveerd in Keycloak, zodat het gebruikt kan worden als één van de beschikbare ‘identity providers’ in het systeem.
- Verder is er per applicatie een verplicht ‘authenticatieniveau’ ingesteld, waarbij inloggen met een gebruikersnaam en wachtwoord een lager niveau oplevert dan via ItsMe of eID. Het authenticatieniveau dat bereikt kan worden met een inlogmethode is ook instelbaar gemaakt per gebruiker.
- De uitbreiding van Keycloak heeft als voordeel dat gebruikers met een te laag authenticatieniveau worden doorgestuurd naar het juiste authenticatiemechanisme om het beoogde beveiligingsniveau te bereiken. Als dit niet kan worden bereikt, wordt de gebruiker geweigerd om in te loggen op het gewenste systeem. Dit staat bekend als Step-Up Authenticatie.
Gedelegeerd rolbeheer
- Elke organisatie kan zelf bepalen wat de registratiemogelijkheden zijn.
- Digipolis kan het beheer van de rollen/rechten van de toepassingen delegeren aan de verantwoordelijke per organisatie (de admins). Hierdoor kunnen de organisaties onder andere de rollen en rechten binnen hun eigen organisatie bepalen.
Single Sign-On (SSO) voor alle organisaties
- Hoewel Single Sign-On (SSO) over alle organisaties moest worden aangeboden (cross-tenant Single Sign-On), wilde Digipolis de gebruikers segmenteren (subset van gebruikers per organisatie). Zodra een gebruiker zich heeft geauthenticeerd bij een bepaalde organisatie, hoeft hij zich niet opnieuw te authenticeren, zelfs niet als het een applicatie van een andere organisatie betreft. Voorbeeld: Ik registreer me voor een applicatie van Antwerpen (als medewerker van Antwerpen, met mijn M-profiel), vervolgens blader ik naar een applicatie van ‘Het stedelijk Onderwijs’: Ik hoef niet opnieuw te authenticeren (tenzij de applicatie een hoger authenticatieniveau vereist of mijn sessie is verlopen).
Integratie met Apache Kafka
Tot slot werd een integratie met Apache Kafka opgezet, die al in gebruik was binnen Digipolis. Gebeurtenissen van gebruikers worden doorgestuurd naar verschillende componenten van het ontwikkelingsplatform van het IT-ecosysteem van Digipolis en naar andere toepassingen.
Het resultaat
In opdracht van Digipolis heeft IS4U een Identity & Acces Management Engine geïmplementeerd voor het Digipolis IT ecosysteem.
De analyse en architectuur van de engine was gebaseerd op de bovenstaande eisen, opgesteld door Digipolis, waarbij de implementatie van de access manager werd opgezet via high availability clustering.
Een high-availability cluster kan worden gezien als een groep computers die bepaalde servertoepassingen (hosts) ondersteunen, die samenwerken als één systeem en continue up-time garanderen. Deze ‘hoge beschikbaarheid’ clusters worden gebruikt voor verkeersverdeling, back-up en failover.