Sciensano is een federaal onderzoeksinstituut en het nationale volksgezondheidsinstituut van België. Sciensano telt meer dan 700 medewerkers die zich elke dag inzetten om hun motto te bereiken: “Een leven lang gezond”.
Sciensano kan rekenen op de meer dan 100 jaar wetenschappelijke expertise van het vroegere Centrum voor Diergeneeskundig en Agrochemisch Onderzoek (CODA-CERVA) en het vroegere Wetenschappelijk Instituut Volksgezondheid (WIV-ISP).
De uitdaging
Sciensano had een moderne en aanpasbare open-source oplossing nodig voor hun Access Management uitdaging. Ze hebben meerdere applicaties die toegankelijk moeten zijn voor dezelfde groep mensen. Om een veiligere en gebruiksvriendelijkere ervaring te bieden hadden ze een efficiënte en effectieve Access Management (AM) oplossing nodig.
Deze AM-oplossing moet integreren met de Active Directory van Sciensano (voor interne gebruikers) en met de externe identiteitsprovider ‘eHealth’. De ‘eHealth’ authenticatieoplossing geeft externe gebruikers (zoals artsen en ander medisch personeel) de mogelijkheid om op een veilige manier toegang te krijgen tot de applicaties van Sciensano.
De access manager van Sciensano moest functioneren als zowel Policy Decision Point (PDP) als Policy Enforcement Point (PEP); op deze manier kunnen ze de toegang tot applicaties op groepsbasis beperken.
Last but not least was er een implementatiemethode met hoge beschikbaarheid nodig, omdat downtime niet kan worden toegestaan met gevoelige gegevens.
De aanpak
De technologie
Na een grondige analyse van de vereisten voor de Sciensano’s Access Manager, werd Keycloak gekozen voor dit project. De Open-Source oplossing is compleet, krachtig en wordt continu onderhouden, met state-of-the-art functionaliteiten op het gebied van beveiliging en prestaties.
Een aanzienlijk pluspunt van de Keycloak-oplossing is de schaalbaarheid; het kan moeiteloos een vrijwel oneindig aantal accounts beheren, waardoor het flexibel kan inspelen op diverse behoeften.
Hoge beschikbaarheid en gegevensconsistentie
Om een optimale beschikbaarheid van het platform te garanderen, zorgde het ontwerp ervoor dat services altijd beschikbaar en operationeel zijn. De Access Manager draait op meerdere onafhankelijke servers; hierdoor is automatische failover mogelijk als er één uitvalt, zodat applicaties altijd toegankelijk zijn.
Om ervoor te zorgen dat de consistentie van gegevens behouden blijft, vindt er voortdurende synchronisatie plaats op een manier die het verlies van gegevens minimaliseert in geval van een serverstoring of crash.
Als gevolg van deze implementatie wordt het risico van downtime of verlies van gegevens voor de eindgebruiker tot een minimum beperkt, terwijl de benodigde partijen op de hoogte worden gehouden van eventuele downtime- of serverproblemen.
Active Directory & Federatie met Ehealth Identity Provider
De Sciensano Active Directory werd geconfigureerd als een user storage provider in Keycloak. Naast de Active Directory werd ook een federatie met de eHealth Identity Provider opgezet. Dit wordt gedaan door een concept genaamd ‘Identity Brokering’. Een Identity Broker is een intermediaire service die meerdere service providers verbindt met verschillende identity providers. Als intermediaire dienst is de Identity Broker verantwoordelijk voor het creëren van een vertrouwensrelatie met een externe identiteitsaanbieder om zijn identiteiten te kunnen gebruiken om toegang te krijgen tot interne diensten van dienstaanbieders.
Aangepaste Keycloak-extensie (PDP en PEP)
Een aangepaste Keycloak extensie werd geschreven en geïmplementeerd om toegang tot applicaties te beperken of te verkrijgen vanuit Keycloak; gebaseerd op de groepen van de geauthenticeerde gebruiker. Deze groepen zijn gedefinieerd binnen de Sciensano Active Directory of binnen de externe Identity provider ‘Ehealth’.
Elke groep geeft specifieke rollen aan een gebruiker. Of een gebruiker een specifieke rol heeft of niet, bepaalt of hij/zij toegang heeft tot de gevraagde applicatie.
Sciensano look en feel
Bovenop dit alles creëerden we een aangepast thema met de Sciensano look-and-feel voor de Keycloak applicatie. Sciensano’s logo, kleurenschema’s en branding zullen een extra niveau van vertrouwdheid, consistentie en gevoel van veiligheid toevoegen aan de applicatie.
Het resultaat
Sciencano beschikt nu over een volledig werkende, open source oplossing voor toegangsbeheer, namelijk Keycloak. Bovendien kan elke nieuwe applicatie eenvoudig worden toegevoegd, zolang deze SAML 2.0 of OpenID Connect 1.0 ondersteunt.
Bij het ontwerp van de Keycloak-oplossing is rekening gehouden met nieuwe eisen en standaarden, zodat nieuwe functionaliteiten zonder problemen kunnen worden toegevoegd.