Technische deep dive: Multi-tenant IGA-automatisatie met JSM en Microsoft Entra ID
Bij Resilient Security focussen we ons op het oplossen van de “last mile” binnen identity automation. Recent hebben we een geavanceerde Identity Governance & Administration (IGA) workflow geïmplementeerd die Jira Service Management (JSM) koppelt aan Microsoft Entra ID.
Dit was geen eenvoudige API-integratie, maar een traject waarbij we uitdagingen zoals multi-tenant routing, complexe URI-encoding en hybride lifecycle management hebben opgelost.
Case 1: De Multi-Tenant API Orchestrator
De uitdaging: één JSM, meerdere Entra tenants
In een managed services omgeving moeten we aanvragen voor meerdere klanten verwerken vanuit één centrale Jira-omgeving.
Onze oplossing maakt gebruik van de automation engine van Jira om aanvragen dynamisch te routeren op basis van de organisatie van de gebruiker.
De workflow & API-keten
Wanneer een gebruiker een “Request an access package IGA” ticket aanmaakt, doorloopt de automation volgende stappen:
- Tenant identificatie
Op basis van de organisatie van de aanvrager wordt eentenantIDvariabele ingesteld. Hierdoor kan dezelfde automation schaalbaar ingezet worden over verschillende klanten. - Access package opzoeken
GET /identityGovernance/entitlementManagement/accessPackages - Policy ophalen & encoding fix: https://graph.microsoft.com/beta/identityGovernance/entitlementManagement/accessPackages/{{AccessPackageID.urlEncode.replace(“+”,”%20″)}}?$expand=accessPackageAssignmentPolicies
Technische noot
Jira’s .urlEncode functie zet spaties om naar +, terwijl Microsoft Graph %20 verwacht. Door .replace("+","%20") toe te voegen, vermijden we fouten zoals 400 Bad Request
- Identity resolutie:
GET https://graph.microsoft.com/v1.0/users/{{reporter.emailAddress}}
Hiermee vertalen we het e-mailadres naar de unieke Entra User ID. - Final provisioning:
POST /identityGovernance/entitlementManagement/assignmentRequests
Het resultaat
Na validatie van de laatste API-call wordt de workflow afgerond.
Binnen enkele seconden krijgt de gebruiker automatisch toegang via een Access Package in Entra ID, zonder enige manuele actie van IT.
Case 2: Hybride governance via Custom Extensions
Automatisatie voor “offline” applicaties
Wat als een applicatie niet automatisch beheerd kan worden via Entra ID? Voor legacy of “offline” applicaties bouwen wij een brug via een Logic App.
De architectuur
We integreren een Logic App rechtstreeks in de Access Package workflow van Entra ID.
- Integratiepunt
Via een Custom Extension binnen de Access Package configuratie - Lifecycle triggers
We focussen op twee cruciale momenten:- Request approved
→ Logic App maakt automatisch een Jira-ticket aan
→ Lokale IT krijgt instructies om toegang manueel toe te kennen - Request removed
→ Automatisch ticket om toegang onmiddellijk te verwijderen
- Request approved
- Security layer: De Logic App valideert de oorsprong van de aanvraag, zodat enkel legitieme Entra events acties kunnen triggeren.
Waarom Resilient Security?
De integratie tussen JSM en Entra ID vraagt meer dan technische configuratie alleen. Het vereist inzicht in: OData filtering, URI encoding, API orchestration en Custom extensions.
Wij leveren niet enkel security services, we bouwen slimme, geautomatiseerde en resilient workflows die jouw organisatie vooruit helpen.




