On this page
Documenttype: High Level Design
Methodiek: arc42 v8.2-NL
Status: Concept / Werkdocument
Doel: Omzetting van bestaand visiedocument naar formeel HLD binnen IRN architectuurmodel.
Introductie en Doelen
Requirements Overzicht
Doel van deze oplossing
- Centrale federatieve voorziening realiseren op basis van Keycloak
- Ondersteuning voor meerdere interne en externe IdP’s
- Gefaseerde migratie van huidige federatieve oplossingen
- Invulling geven aan ABB Federative Authentication
- Realisatie conform IAM Doelarchitectuur en SBB Keycloak
Scope startfase (MVP)
- MVP start binnen KA-domein
- Eerste migratiepad via bestaande ADFS-koppelingen
- Eerste applicatie aansluiten op centrale voorziening
Breder toepasbaar doelbeeld
- Enterprise inzetbaar voor meerdere domeinen
- Toekomstige onboarding van aanvullende gebruikersgroepen en platformen
Kwaliteits Doelen
- Continuïteit tijdens migratie
- Hoge beschikbaarheid loginvoorziening
- Veilige authenticatie
- Beheerbaarheid
- Standaardisatie
- Schaalbaarheid
- Auditability
Belanghebbenden
| Rol | Verwachting |
|---|---|
| Product Owner IAM | Businessvalue, Roadmap en prioritering |
| IAM Architectuur | Kaderstelling en toetsing (ABB/SBB) |
| Solution Architect | Oplossingsontwerp (HLD) |
| Engineering | Realiseerbaar ontwerp (LLD) |
| Platformteam | Hosting, beheer en GitOps tooling |
| Applicatie-eigenaren | Veilige aansluiting |
Architectuur Beperkingen
Buiten scope
- LDAP legacy koppelingen
- Implementatie MidPoint zelf
- Eigenaarschap departementale directories
- Applicatiespecifieke autorisatielogica
Randvoorwaarden
- OpenShift doelplatform
- Centrale standaarden verplicht
- Migratie zonder big bang
- Fallback tijdens transitie vereist
Context en Systeem Scope
Business Context
Huidige situatie
- Meerdere departementale Keycloak-instances zonder standaard
- ADFS nog actief
- ForgeRock in gebruik voor eHerkenning
- MIM nadert einde levensduur
- Applicaties gekoppeld via ADFS en LDAP
- Applicatielandschap nog niet volledig geïnventariseerd
Doelsituatie
- Eén centrale federatieve voorziening
- Gestandaardiseerde onboarding
- Gefaseerde consolidatie
- Toekomstige integratie met MidPoint
Technische Context
Externe systemen
- Active Directory
- Entra ID
- ADFS
- ForgeRock
- eHerkenning
- Rijksfederatie
- MidPoint
- Applicaties intern / extern
Interfaces
- OIDC
- SAML
- SCIM / REST (toekomstig)
- LDAP (legacy)
Oplossing Strategie
Migratiestrategie
Stap 1 – MVP
- Centrale Keycloak operationeel
- Eerste ADFS-applicatie gemigreerd
- ADFS blijft fallback
Stap 1B
- Datacenter 3.0 onboarding
Stap 2A
- ForgeRock uitfaseren
- eHerkenning koppelen op Keycloak
Stap 2B
- Eerste departementale Keycloak-instance consolideren
Stap 3
- Rijksfederatie migreren
Stap 4
- Overige instances consolideren
Stap 5
- MidPoint eindfase realiseren
Overgangsprincipes
- Geen big bang
- Parallelle dienstverlening waar nodig
- Gefaseerde waardelevering
- Fallback behouden
Bouwstenen View
Gehele whitebox Systeem
Bouwstenen
- Centrale Keycloak voorziening
- Legacy ADFS
- MidPoint
- Identity Providers
- Applicaties
- Logging / Monitoring
- Secrets Management
Belangrijke Interfaces
- Login redirect flows
- Token issuance
- Claims mapping
- Provisioning koppelingen
Niveau 2
Centrale Keycloak Voorziening
Mogelijke componenten:
- Identity Brokering
- Authentication Flows
- Claims Standardization
- Token Service
- Session Management
- Client Management
- Admin API
- Event Logging
Runtime View
Scenario 1 – Login via interne medewerker
- Applicatie redirect naar Keycloak
- Routering naar interne IdP
- Authenticatie succesvol
- Claims mapping
- Token retour
Scenario 2 – Login via eHerkenning
- Redirect naar eHerkenning
- Authenticatie extern
- Token via Keycloak
- Toegang applicatie
Scenario 3 – Transitieperiode
- ADFS pass-through
- AD-groepen tijdelijke autorisatiebron
- Parallelle werking oud/nieuw
Deployment View
Infrastructuur Niveau 1
- OpenShift cluster
- PostgreSQL
- Ingress / Loadbalancing
- Logging platform
- Monitoring platform
- Secret management
- Acceptatieomgeving
Mapping
| Bouwsteen | Platform |
|---|---|
| Keycloak | OpenShift |
| Database | PostgreSQL |
| Secrets | Vault / platform |
| Logging | SIEM / logging stack |
Cross-cutting Concepten
Security
- TLS
- Secrets management
- Least privilege beheer
Logging & Audit
- Authenticatie-events
- Admin-events
- Koppeling SIEM
Monitoring
- Beschikbaarheid
- Login failures
- Performance
- Capaciteit
Claimsstandaard
- Centrale claimdefinitie
- Hergebruik ADFS standaard
Operations
- GitOps
- Configuratie as code
- Lifecycle management
Architectuur Beslissingen
Verwijzing naar Decision Log / ADR register (komt nog)
Voorbeelden:
- Keycloak als centrale voorziening
- OpenShift hosting
- OIDC preferred
- Gefaseerde migratie
- Realm/shared topologie nader besluit
Kwaliteits Requirements
Kwaliteits Boom
- Beschikbaarheid
- Performance
- Security
- Herstelbaarheid
- Schaalbaarheid
- Beheerbaarheid
Kwaliteits Scenarios
Nog te concretiseren
- Beschikbaarheid %
- Login latency
- RTO/RPO
- Auditretentie
- Max aantal clients
- Max aantal logins per uur
Risico's en Technical Debt
- Applicatielandschap niet volledig geïnventariseerd
- Legacy afhankelijkheid ADFS
- Meerdere losse Keycloak landschappen
- MidPoint nog niet beschikbaar
- Organisatorische migratiecomplexiteit
- Platformafhankelijkheden OpenShift / DB
Woordenlijst
| Term | Betekenis |
|---|---|
| IdP | Identity Provider |
| HRD | Home Realm Discovery |
| WAYF | Where Are You From |
| OIDC | OpenID Connect |
| SAML | Security Assertion Markup Language |
| RTM | Requirements Traceability Matrix |
| ADR | Architecture Decision Record |
Mirror provenance
- Mirror source
- confluence/spaces/INFRAARCH/pages/237011141/page.metadata.json
- Storage source
- confluence/spaces/INFRAARCH/pages/237011141/page.storage.xhtml
- Access
- Committed snapshot only