Directory-provisioning · HelloID → PhishWise

HelloID en SCIM koppelen

Na deze handleiding beheert HelloID de medewerkers en organisatiestructuur in PhishWise. Nieuwe medewerkers komen in de juiste business unit, locatie of afdeling terecht. Managers krijgen alleen inzage in het deel van de organisatie waarvoor zij verantwoordelijk zijn.

Bronsysteem HelloID Provisioning
Protocol SCIM 2.0 via bearer-token
Structuur Vrije lagen en meerdere lidmaatschappen

Hoe de koppeling werkt

Het HR-systeem blijft de bron. HelloID bepaalt welke wijzigingen nodig zijn. PhishWise verwerkt die wijzigingen via SCIM.

De gegevensstroom van HR naar PhishWise
Systeem Verantwoordelijkheid Voorbeeld
AFAS of ander HR-systeem Bevat contracten, functies, managers en organisatorische indeling. Medewerker 10042 werkt op locatie Eindhoven onder manager 10001.
HelloID Importeert de brondata, bouwt personen op en bepaalt via business rules welke accounts en rechten nodig zijn. Evaluation ziet dat medewerker 10042 een PhishWise-account moet krijgen.
PhishWise Slaat de medewerker, managerrelatie, organisatie-eenheden en groepen op. Bestaande leerhistorie blijft behouden. Enforcement maakt de medewerker aan in business unit Zorg, locatie Eindhoven.
HelloID is leidend voor de gekoppelde gegevens.

Pas een door HelloID beheerde medewerker, groep of organisatie-eenheid niet handmatig aan in PhishWise. De volgende Enforcement kan die wijziging terugzetten.

SCIM is niet hetzelfde als Entra

SCIM is het protocol waarmee systemen gebruikers en groepen uitwisselen. Zowel HelloID als Microsoft Entra kan dat protocol gebruiken.

HelloID Provisioning

  • Leest medewerkers uit AFAS of een ander bronsysteem.
  • Past business rules toe.
  • Stuurt wijzigingen naar PhishWise.
  • Kan PhishWise via een PowerShell v2-targetconnector aanroepen.

Microsoft Entra

  • Kan zelf een SCIM-provisioningsbron zijn.
  • Kan daarnaast identiteit en Microsoft SSO verzorgen.
  • Is niet nodig als HelloID de provisioning uitvoert.
  • Kan wel in gebruik blijven voor Microsoft-accounts en SSO.
Kies één autoritatieve provisioningsbron.

Laat HelloID en Entra niet tegelijk dezelfde medewerkers naar PhishWise schrijven. PhishWise heeft per organisatie één actieve directory-koppeling.

Microsoft Entra rechtstreeks koppelen

Gebruikt een organisatie geen HelloID, dan kan Microsoft Entra medewerkers rechtstreeks naar hetzelfde SCIM 2.0-endpoint provisionen. PhishWise bewaart de UPN en het werkmailadres apart, zodat die waarden zonder synchronisatielus van elkaar mogen verschillen.

Dit is een alternatief voor de HelloID-stappen.

Kies in PhishWise Microsoft Entra als bronsysteem en gebruik daarna de stappen in deze sectie. De onderdelen verderop over PowerShell v2, Evaluation en Enforcement gelden alleen voor HelloID.

  1. Maak in Entra een niet-galerij Enterprise Application.
  2. Kies automatische provisioning en vul de Tenant URL en het bearer-token uit PhishWise in.
  3. Gebruik externalId als primaire matching property met precedence 1.
  4. Schakel matching op userName uit.
  5. Test eerst één medewerker met Provision on demand.
Aanbevolen Entra-mapping voor medewerkers
Microsoft Entra SCIM-doelattribuut
objectIdexternalId
userPrincipalNameuserName
mailemails[type eq "work"].value
displayNamedisplayName
givenNamename.givenName
surnamename.familyName
jobTitletitle
preferredLanguagepreferredLanguage
departmenturn:ietf:params:scim:schemas:extension:enterprise:2.0:User:department
employeeIdurn:ietf:params:scim:schemas:extension:enterprise:2.0:User:employeeNumber
managerurn:ietf:params:scim:schemas:extension:enterprise:2.0:User:manager
Not([IsSoftDeleted])active
Behoud de taal; verwijder niet-ondersteunde mappings.

Behoud preferredLanguage. PhishWise gebruikt Nederlandse en Engelse waarden, normaliseert bijvoorbeeld nl-NL en en-US, en laat een persoonlijke medewerkerskeuze altijd voorgaan. Verwijder de standaardmappings voor addresses en phoneNumbers. Een niet-galerij Entra-app ontdekt de vrije PhishWise-organisatiestructuur niet. Entra ondersteunt met de mapping hierboven één afdelingslaag. Een tweede standaardlaag is mogelijk wanneer een geschikt bronattribuut of een expressie expliciet wordt gemapt naar urn:ietf:params:scim:schemas:extension:enterprise:2.0:User:division. Gebruik HelloID of een eigen connector voor een willekeurig diepe structuur, meerdere lidmaatschappen en afgebakende rapportagetoegang.

Wat je bij Provision on demand moet zien

Entra vindt de medewerker via externalId en maakt of wijzigt daarna één PhishWise-medewerker. Controleer vervolgens in PhishWise de manager, functie, afdeling en actieve status.

Wat je nodig hebt

  • Beheerrechten voor Integraties in PhishWise.
  • Het recht Provisioning - Manage in HelloID.
  • Een werkende bronimport en actuele Persons in HelloID.
  • Toegang om een PowerShell v2-target system te maken.
  • Een pilotgroep met een manager en minimaal twee medewerkers.
  • Vaste bron-ID's voor medewerkers en organisatie-eenheden.
Gebruik geen e-mailadres als vaste bron-ID.

Een e-mailadres kan wijzigen. Gebruik het personeelsnummer of een andere onveranderlijke HR-identificatie als externalId.

HelloID beschrijft een PowerShell v2-target system als de universele connector voor externe REST-API's. Raadpleeg bij het bouwen van de connector ook de officiële HelloID-documentatie voor PowerShell v2 .

1. Maak de koppeling in PhishWise

  1. Open Instellingen → Integraties.
  2. Kies Directory-provisioning.
  3. Selecteer HelloID als bronsysteem.
  4. Kies Koppeling maken.
  5. Kopieer de getoonde Tenant URL.
  6. Kopieer het bearer-token direct naar een wachtwoordkluis.
Tenant URL
https://<host>/scim/v2/<connection-id>
Authenticatie
Authorization: Bearer <token>
Content-Type
application/scim+json
Het token verschijnt één keer.

Bewaar het als geheim in de configuratie van de HelloID-connector. Zet het niet in documentatie, tickets of proceslogging.

Wat je moet zien

De status "Koppeling actief", HelloID als bronsysteem, een Tenant URL en een leeg synchronisatielog.

2. Maak het target system in HelloID

Gebruik een PowerShell v2-target system. De connector vertaalt de HelloID account lifecycle naar de REST-aanroepen van PhishWise.

  1. Open in HelloID Provisioning → Target → Systems.
  2. Voeg een PowerShell v2-systeem toe.
  3. Geef het systeem een herkenbare naam, bijvoorbeeld PhishWise.
  4. Maak configuratievelden voor de Tenant URL en het geheime token.
  5. Configureer de accountvelden en lifecycle-scripts.
  6. Laat het target system nog uitgeschakeld tot de mappings zijn getest.
HelloID account lifecycle naar PhishWise
HelloID-actie SCIM-aanroep Resultaat
Create POST /Users Maakt een medewerker aan en bewaart het PhishWise-ID als account reference.
Update PUT /Users/:id of PATCH /Users/:id Werkt naam, functie, manager en lidmaatschappen bij.
Enable PATCH /Users/:id met active: true Heractiveert de medewerker zonder de leerhistorie te wissen.
Disable PATCH /Users/:id met active: false Archiveert de medewerker en trekt directorytoegang in.
Delete DELETE /Users/:id Voert dezelfde veilige deprovisioning uit.

Discovery-endpoints

De connector kan het ondersteunde contract vooraf uitlezen. Voeg de Tenant URL toe vóór ieder pad.

  • /ServiceProviderConfig voor ondersteunde SCIM-functies.
  • /ResourceTypes voor Users, Groups en OrganizationUnits.
  • /Schemas voor velden en PhishWise-uitbreidingen.

Resource-endpoints

  • /Users voor medewerkers, managers en plaatsingen.
  • /Groups voor optionele doelgroepen.
  • /OrganizationUnits voor de organisatiestructuur.
Wat je moet zien

De discovery-aanroepen geven HTTP 200. Een test zonder token geeft HTTP 401, zodat duidelijk is dat de endpoint niet openbaar schrijfbaar is.

3. Map de organisatiestructuur

PhishWise gebruikt geen vaste reeks van bedrijf, afdeling en groep. Iedere laag is een OrganizationUnit met een eigen type en een optionele parent.

Voorbeeld van een organisatie met meerdere lagen
Naam unitType parentExternalId
Zorg business_unit Leeg, dit is een hoofdlaag
Regio Zuid region bu-zorg
Locatie Eindhoven location regio-zuid
Behandeling department locatie-eindhoven
Team Trauma team afdeling-behandeling

Waarden zoals company, division, project en klantspecifieke typen zijn ook toegestaan. De volgorde en het aantal lagen staan niet vast.

{
  "schemas": [
    "urn:phishwise:params:scim:schemas:core:2.0:OrganizationUnit"
  ],
  "externalId": "locatie-eindhoven",
  "displayName": "Locatie Eindhoven",
  "unitType": "location",
  "parentExternalId": "regio-zuid",
  "active": true
}
  1. Maak eerst de hoofdlaag en daarna de onderliggende lagen aan.
  2. Gebruik dezelfde vaste externalId bij iedere update.
  3. Stuur bij verplaatsing de nieuwe parentExternalId.
  4. Stuur active: false wanneer een organisatie-eenheid sluit.
Ouders mogen later binnenkomen.

PhishWise bewaart een nog onbekende parentreferentie en koppelt de hiërarchie zodra de parent wordt aangeleverd. Parent-first blijft de prettigste volgorde voor logging en controle.

Wat je moet zien

De medewerkerdetailpagina toont het volledige pad, bijvoorbeeld "Zorg / Regio Zuid / Locatie Eindhoven / Behandeling".

4. Map medewerkers en managers

Minimale en aanbevolen medewerkersmapping
Bronwaarde SCIM-veld Gebruik
Vast personeels-ID externalId Onveranderlijke identiteit voor updates en correlatie.
Zakelijk e-mailadres userName en emails Contactadres en herkenning van bestaande medewerkers.
Voor- en achternaam name.givenName en name.familyName Weergavenaam in PhishWise.
Functie title Vrije functietitel, zonder automatische rechten.
Personeelsnummer employeeNumber Administratieve referentie uit het HR-systeem.
Vast ID van leidinggevende manager.value Verwijst naar de externalId van de manager.
Organisatorische plaatsingen organizationUnits Een of meer eenheden, met maximaal één primaire plaatsing.
{
  "schemas": [
    "urn:ietf:params:scim:schemas:core:2.0:User",
    "urn:ietf:params:scim:schemas:extension:enterprise:2.0:User",
    "urn:phishwise:params:scim:schemas:extension:organization:2.0:User"
  ],
  "externalId": "employee-10042",
  "userName": "medewerker@example.org",
  "active": true,
  "name": {
    "givenName": "Samira",
    "familyName": "Jansen"
  },
  "title": "Zorgmedewerker",
  "urn:ietf:params:scim:schemas:extension:enterprise:2.0:User": {
    "employeeNumber": "10042",
    "manager": {
      "value": "employee-10001"
    }
  },
  "urn:phishwise:params:scim:schemas:extension:organization:2.0:User": {
    "organizationUnits": [
      {
        "externalId": "locatie-eindhoven",
        "primary": true,
        "positionTitle": "Zorgmedewerker"
      }
    ]
  }
}
De naam van een managersfunctie maakt niet uit.

Regiomanager, locatiemanager, teamleider en directeur zijn gewone functietitels. PhishWise bepaalt de relatie via manager.value en de toegang via accessLevel, niet via tekst in de functienaam.

Wat je moet zien

De medewerker toont de juiste functie, primaire organisatie-eenheid en leidinggevende. Een tweede plaatsing verschijnt als aanvullend lidmaatschap.

5. Map groepen en rapportagetoegang

Organisatie-eenheden en groepen hebben verschillende doelen. Organisatie-eenheden vormen de hiërarchie. Groepen zijn dwarsdoorsneden voor campagnes, trainingen of onboarding.

OrganizationUnits

  • Business units, regio's, locaties, afdelingen en teams.
  • Hebben een parent-childrelatie.
  • Bepalen de scope voor medewerkers en rapportages.

Groups

  • Voorbeelden zijn BHV, behandelaren of tijdelijke projectteams.
  • Kunnen leden uit meerdere organisatie-eenheden bevatten.
  • Zijn optioneel voor de eerste livegang.

Geef een manager read-only toegang door bij diens lidmaatschap accessLevel: "view" mee te sturen.

{
  "externalId": "employee-10001",
  "userName": "manager@example.org",
  "active": true,
  "name": {
    "givenName": "Milan",
    "familyName": "De Vries"
  },
  "title": "Regiomanager",
  "urn:phishwise:params:scim:schemas:extension:organization:2.0:User": {
    "organizationUnits": [
      {
        "externalId": "regio-zuid",
        "primary": true,
        "positionTitle": "Regiomanager",
        "accessLevel": "view"
      }
    ]
  }
}
Toegang loopt door naar onderliggende eenheden.

De regiomanager ziet Regio Zuid en alle actieve locaties, afdelingen en teams daaronder. Een medewerker uit Regio Noord blijft buiten beeld. De toegang is read-only.

Wat je moet zien

De manager ziet "Mijn team", medewerkers, meldingen en het executive report binnen de eigen branch. Instellingen en muterende beheeracties blijven verborgen.

6. Test Evaluation en Enforcement

  1. Beperk de eerste business rule tot een kleine pilotgroep.
  2. Voer een actuele Source import en snapshot uit.
  3. Draai eerst Evaluation zonder wijzigingen toe te passen.
  4. Controleer create-, update- en revoke-acties in het rapport.
  5. Voer daarna Enforcement uit.
  6. Controleer in PhishWise de synchronisatielog.
  7. Log in als beheerder en controleer de drie pilotmedewerkers.
  8. Log in als pilotmanager en controleer de afscherming.
  • Iedere medewerker heeft één vaste externalId.
  • De business unit, locatie en afdeling staan in de juiste volgorde.
  • De managerrelatie wijst naar de juiste persoon.
  • De manager ziet de eigen branch en niet de controlegroep erbuiten.
  • Een tweede Enforcement maakt geen duplicaten.
Wat je moet zien

Alle pilotacties zijn succesvol. Herhaling van dezelfde Enforcement werkt bestaande records bij en maakt geen extra medewerkers, groepen of organisatie-eenheden.

7. Beheer uitdiensttreding en wijzigingen

Uitdiensttreding

Stuur active: false of verwijder de User via SCIM. PhishWise archiveert de medewerker, trekt directorytoegang in en bewaart historische leer- en campagneresultaten.

Verplaatsing naar een andere locatie

Werk de organizationUnits van de medewerker bij. Zet de nieuwe primaire plaatsing op primary: true. De oude door HelloID beheerde plaatsing verdwijnt.

Nieuwe manager

Stuur de nieuwe vaste manager-ID in manager.value. De functietitel mag gelijk blijven of wijzigen. Dat heeft geen invloed op de relatie.

Token vernieuwen

Kies in PhishWise Token vernieuwen als een geheim mogelijk is uitgelekt. Het oude token stopt direct. Werk de HelloID-configuratie bij voordat de volgende Enforcement start.

Wisselen van provider

Een overstap van HelloID naar Entra of een andere SCIM-bron is mogelijk. PhishWise roteert het token, trekt oude directorytoegang in en markeert de bestaande records voor veilige correlatie met de nieuwe bron.

Wat je moet zien

Wijzigingen houden dezelfde medewerker en historie in stand. Alleen de actuele plaatsing, manager, status en toegangsrechten veranderen.

Veelvoorkomende problemen

De connector krijgt HTTP 401

Controleer de volledige Tenant URL, het voorvoegsel Bearer en het opgeslagen token. Na tokenrotatie of een providerwissel is het vorige token ongeldig.

De medewerker komt dubbel binnen

Controleer of Create en Update dezelfde vaste externalId gebruiken. Configureer HelloID-correlation op de HR-identificatie en bewaar het door PhishWise teruggegeven record-ID als account reference.

De business unit of locatie ontbreekt

Controleer of de OrganizationUnit bestaat en dezelfde externalId gebruikt als het lidmaatschap. Controleer ook parentExternalId en de spelling van unitType.

De manager wordt niet gekoppeld

manager.value moet verwijzen naar de externalId van de manager in dezelfde provisioningsbron. HelloID mag de manager later sturen, maar dezelfde vaste ID moet in beide payloads staan.

Een manager ziet geen rapportages

Controleer of managerfunctionaliteit voor de organisatie aanstaat en of het juiste lidmaatschap accessLevel: "view" bevat. Een functietitel zoals Locatiemanager geeft op zichzelf geen rechten.

Een groep kan niet worden verwijderd

Een groep die door een actieve onboardingregel wordt gebruikt, geeft HTTP 409. Verplaats of verwijder eerst die onboardingregel en probeer de SCIM-verwijdering opnieuw.

Een payload geeft HTTP 400 of 422

Lees de SCIM-fout in de response en het PhishWise synchronisatielog. Controleer verplichte velden, dubbele externalId-waarden, onbekende organisatie-eenheden en cirkels in de hiërarchie.

Oplevercheck

  • HelloID is de enige actieve provisioningsbron voor PhishWise.
  • Tenant URL en token staan als beveiligde connectorconfiguratie opgeslagen.
  • Discovery voor `/ServiceProviderConfig`, `/ResourceTypes` en `/Schemas` werkt.
  • Business units, regio's, locaties en afdelingen hebben vaste bron-ID's.
  • Medewerkers gebruiken een vaste HR-identificatie als externalId.
  • Managerreferenties gebruiken diezelfde vaste identificatie.
  • De pilotmanager ziet alleen de eigen branch en onderliggende eenheden.
  • Update, disable en heractivering zijn getest.
  • Een herhaalde Enforcement veroorzaakt geen duplicaten.
  • Een eigenaar voor monitoring, tokenrotatie en incidenten is vastgelegd.