Hoe de koppeling werkt
Het HR-systeem blijft de bron. HelloID bepaalt welke wijzigingen nodig zijn. PhishWise verwerkt die wijzigingen via SCIM.
| 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. |
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.
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.
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.
- Maak in Entra een niet-galerij Enterprise Application.
- Kies automatische provisioning en vul de Tenant URL en het bearer-token uit PhishWise in.
- Gebruik
externalIdals primaire matching property met precedence 1. - Schakel matching op
userNameuit. - Test eerst één medewerker met Provision on demand.
| Microsoft Entra | SCIM-doelattribuut |
|---|---|
objectId | externalId |
userPrincipalName | userName |
mail | emails[type eq "work"].value |
displayName | displayName |
givenName | name.givenName |
surname | name.familyName |
jobTitle | title |
preferredLanguage | preferredLanguage |
department | urn:ietf:params:scim:schemas:extension:enterprise:2.0:User:department |
employeeId | urn:ietf:params:scim:schemas:extension:enterprise:2.0:User:employeeNumber |
manager | urn:ietf:params:scim:schemas:extension:enterprise:2.0:User:manager |
Not([IsSoftDeleted]) | active |
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.
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.
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
- Open Instellingen → Integraties.
- Kies Directory-provisioning.
- Selecteer HelloID als bronsysteem.
- Kies Koppeling maken.
- Kopieer de getoonde Tenant URL.
- 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
Bewaar het als geheim in de configuratie van de HelloID-connector. Zet het niet in documentatie, tickets of proceslogging.
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.
- Open in HelloID Provisioning → Target → Systems.
- Voeg een PowerShell v2-systeem toe.
- Geef het systeem een herkenbare naam, bijvoorbeeld PhishWise.
- Maak configuratievelden voor de Tenant URL en het geheime token.
- Configureer de accountvelden en lifecycle-scripts.
- Laat het target system nog uitgeschakeld tot de mappings zijn getest.
| 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.
/ServiceProviderConfigvoor ondersteunde SCIM-functies./ResourceTypesvoor Users, Groups en OrganizationUnits./Schemasvoor velden en PhishWise-uitbreidingen.
Resource-endpoints
/Usersvoor medewerkers, managers en plaatsingen./Groupsvoor optionele doelgroepen./OrganizationUnitsvoor de organisatiestructuur.
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.
| 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
}
- Maak eerst de hoofdlaag en daarna de onderliggende lagen aan.
- Gebruik dezelfde vaste
externalIdbij iedere update. - Stuur bij verplaatsing de nieuwe
parentExternalId. - Stuur
active: falsewanneer een organisatie-eenheid sluit.
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.
De medewerkerdetailpagina toont het volledige pad, bijvoorbeeld "Zorg / Regio Zuid / Locatie Eindhoven / Behandeling".
4. Map medewerkers en managers
| 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"
}
]
}
}
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.
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"
}
]
}
}
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.
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
- Beperk de eerste business rule tot een kleine pilotgroep.
- Voer een actuele Source import en snapshot uit.
- Draai eerst Evaluation zonder wijzigingen toe te passen.
- Controleer create-, update- en revoke-acties in het rapport.
- Voer daarna Enforcement uit.
- Controleer in PhishWise de synchronisatielog.
- Log in als beheerder en controleer de drie pilotmedewerkers.
- 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.
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.
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.