Automatisering van dynamisch gebruikersbeheer in Microsoft Entra-groepen
Power Bi is een krachtige tool die het mogelijk maakt om data om te zetten in visuele rapportages. Door middel van Power Bi kunnen alle gewenste databronnen binnen een organisatie gecombineerd worden in één rapportage.
Microsoft Power Bi toegang via een Microsoft Entra-groep
Eén van de kenmerken van een Power BI-werkruimte is dat rollen en bevoegdheden gekoppeld kunnen worden. Dit betekent dat er gedetailleerde controle uitgeoefend kan worden wie toegang heeft tot welke data binnen Power BI. Dit kan worden ingericht door middel van het toevoegen van Microsoft Entra-groepen. Microsoft Entra-groepen worden gebruikt om gebruikers te beheren die allemaal dezelfde toegang en machtigingen nodig hebben voor resources, zoals Power Bi. In plaats van speciale machtigingen toe te voegen aan afzonderlijke gebruikers, kan er een met een Microsoft Entra-groep de speciale machtigingen toegepast worden op elk lid binnen die groep. Aan een Microsoft Entra groep zitten 1 of meerdere personen gekoppeld.
Indien een medewerker rechten wilt op een Power Bi rapportage zal deze persoon moeten worden toegevoegd aan een Microsoft Entra-groep. Dit proces heeft meestal een lange doorlooptijd. Mede omdat er goedkeuring moet plaatsvinden vanuit bijvoorbeeld de product owner van het informatie product en komen er hier handmatige handelingen bij kijken.
Bij de klant is een oplossing geïmplementeerd voor het dynamisch beheren van gebruikerstoegang binnen Microsoft Entra-groepen om de doorlooptijd te verkorten en handmatige handelingen te beperken. Maar deze oplossing is was voornamelijk een noodzaak omdat de groep van gebruikers per dag varieert. Tevens hoeft er met deze oplossing maar op 1 plek vast te worden gelegd welke personen rechten hebben. De Product Owner kan dit zelf invoeren in de applicatie zodat het automatisch wordt verwerkt. Hier duiken we dieper in de technische implementatie en de voordelen hiervan.
De uitdaging: Dynamisch gebruikersbeheer
De context van deze oplossing is een Self Service BI omgeving die ontwikkeld en klaargezet is voor een specifieke afdeling bij de klant. Een SSBI Power BI dataset is beschikbaar in de werkruimte en de eindgebruiker prikt hier met Power BI op in om eigen rapportages te kunnen ontwikkelen. Voor dit project was er een noodzaak om Row Level Security en Object Level Security toe te passen op basis van dynamische gevulde Microsoft Entra-groepen. Deze toegang moest gebaseerd zijn op de gebruikersstructuur zoals gedefinieerd in de applicatie waar gebruikers worden geregistreerd. Het handmatig bijwerken van toegangsrechten in Microsoft Entra-groepen is tijdrovend en foutgevoelig, waardoor de behoefte aan een geautomatiseerde oplossing duidelijk werd. Tevens variëren de gebruikers die toegang moeten krijgen dagelijks en mag alleen deze groep een bepaalde set aan data zien in Power Bi.
Hebben jullie vragen over de implementatie en het inrichten van de PowerShell-runbook, het PowerShell script, de Power Bi werkruimte of Microsoft Entra-groepen, neem gerust contact op.
De oplossing: PowerShell en Task Scheduler of PowerShell-runbook
Hoe kan ik een Powershell API koppeling makenDe kern van de oplossing is een PowerShell-script, ontworpen om dynamisch gebruikers toe te voegen aan en te verwijderen uit de Microsoft Entra-group, op basis van gegevens uit de SQL-tabel in de database. Dit script is zodanig ontworpen dat het:
- Gebruikers uit de database leest,
- Nieuwe gebruikers toevoegt aan de Microsoft Entra-groep,
- Gebruikers die niet langer in de database voorkomen, uit de groep verwijdert.
Voor de implementatie van dit script waren enkele voorwaarden noodzakelijk, zoals PowerShell versie 2.0 of hoger, een server waarop het script via Task Scheduler uitgevoerd kan worden of via een Powershell runbook in Azure, toegang tot de database, en de benodigde rechten om gebruikersobjecten aan te maken. Tevens moet de Microsft Entra-groep toegang hebben op de Power BI semantisch model.
Het Proces
Het proces begint met het inloggen op de Azure portal en het navigeren naar de "Microsoft Entra ID" service, waar een nieuwe groep wordt gecreëerd. Vervolgens wordt het PowerShell-script ontwikkeld en getest om de bovengenoemde taken uit te voeren. Ten slotte wordt binnen Task Scheduler een nieuwe taak aangemaakt om dit script regelmatig uit te voeren, waardoor de beveiligingsgroepen altijd up-to-date blijven met de actuele gebruikersstatus.
Lange termijn visie: Integratie binnen Azure
Azure AKS | SUE Cloud & IT Professionals | Demo & PrijzenEen interessant aspect van deze implementatie is de blik op de toekomst. Binnen Azure kan deze oplossing direct geïntegreerd worden. Dit betekent dat het PowerShell-script vervangen wordt door een PowerShell-runbook, wat de noodzaak voor handmatige tussenkomst via Task Scheduler elimineert. PowerShell-runbooks zijn gebaseerd op Windows PowerShell. De code van het runbook kan rechtstreeks bewerkt worden met de teksteditor in de Azure-portal. Een offline teksteditor kan ook gebruikt worden, maar dan moet het runbook handmatig geïmporteerd worden in Azure Automation.
Voordelen en impact
De implementatie van deze oplossing heeft meerdere voordelen:
- Efficiëntie: Vermindering van handmatige interventies en foutmarges.
- Veiligheid: Zorgt ervoor dat alleen geautoriseerde gebruikers toegang hebben tot gevoelige informatie, gebaseerd op actuele gegevens.
- Schaalbaarheid: Kan gemakkelijk worden aangepast aan groeiende gebruikersaantallen of veranderende organisatiestructuren.
Conclusie
De stap van de klant om gebruikersbeheer in Microsoft entra-groepen dynamisch te automatiseren, laat zien hoe de technologische innovatie kan helpen bij het oplossen van ingewikkelde uitdagingen rond databeveiliging en toegangscontrole. Deze implementatie is eenvoudig herbruikbaar voor andere organisaties die streven naar een vergelijkbare efficiëntie en beveiliging in hun IT-omgevingen. Het geeft de mogelijkheid om een geautomatiseerde dynamische groep gebruikers rechten te geven op diverse resources.