IAM

Context

De Identity en Access Management (IAM) is gerealiseerd met Keycloak; een open source Identity en Access Management systeem voor moderne applicaties en services. Deze wordt gebruikt om gebruikers en services binnen MOZA te identificeren en te autoriseren. Keycloak is een Identity Broker waar diverse Identity Providers op kunnen worden aangesloten middels Open ID Connect koppelingen

Via Keycloak wordt toegang verleend aan bedrijven middels:

  1. DigiD DigiD voor ZZP-ers
  2. eHerkenning voor bedrijven Bedrijven kunnen via eHerkenning inloggen. Deze koppeling wordt gerealiseerd middels Open ID Connect.
  3. EIDAS Voor europese bedrijven of Wallets…

Meer informatie over Keycloak zelf is te vinden: https://www.keycloak.org

NOTE: Documentatie moet nog verder worden uitgewerkt

Functioneel Overzicht

Tussen de MOZA en Keycloak is een Open ID Connect verbinding opgezet, waarmee gebruikers kunnen inloggen op basis van hun e-mail adres en wachtwoord. Binnen Keycloak is het mogelijk om een koppeling te maken met andere Identity Providers, waardoor het voor het MOZ systeem eenvoudiger wordt om aan te haken op bijvoorbeeld eHerkenning etc.

Zie de afbeelding hieronder voor de mogelijkheden:

Identity Providers

Software architectuur

KvK BSN API-integratie

Om ondernemers op een betrouwbare manier te kunnen identificeren, maakt het systeem gebruik van de KvK-BSN API.
Deze integratie stelt de service in staat organisaties op te vragen waarin een natuurlijk persoon één of meerdere functies vervult.

Interactie-overzicht

De endpoint POST /mijnoverheid/mijnorganisaties ontvangt het BSN van de betreffende persoon.
De KvK-API verwerkt dit verzoek en retourneert een lijst met 0, 1 of meerdere organisaties die aan deze persoon zijn gekoppeld.
De interactie volgt een eenvoudige request–response-flow, zoals weergegeven in het sequentiediagram.

Sequentiediagram KvK BSN Api

#OmschrijvingToelichting
1POST /mijnoverheid/mijnorganisatiesDe service doet een verzoek naar de KVK-API en stuurt hierbij het BSN van de natuurlijk persoon mee.
2Lijst met organisatiesDe KVK-API verwerkt het verzoek en retourneert een lijst met 0, 1 of meerdere organisaties waarin de natuurlijk persoon een functie vervult.
Zie mermaid code
sequenceDiagram
    participant Service

    Service-->>KvK API: POST /mijnoverheid/mijnorganisaties
    activate KvK API
    KvK API-->>Service: Lijst met 0, 1, of meer organisaties
    deactivate KvK API