PIM + Conditional Role Assignments: Secure Autonomy for Azure Landing Zones

Welcome back! If you haven’t seen my deep dive on conditional role assignments with Bicep make sure to read that first. Because I left a major flaw in that example code. I assigned a permenantly active ‘Owner’ role assignment. Of course, this is not a realistic scenario. To manage your Azure resources safely, we need to have Privileged Identity Management (PIM)! Let’s iterate further on my previous blog and see how you can combine PIM with role assignment conditions to keep your landing zones secure. ...

July 1, 2025 · 4 min · 691 words · Jaap de Goeij

Azure Conditional Role Assignments with Bicep!

In modern cloud environments, finding the right balance between workload autonomy and security control is crucial. While development teams need extensive permissions to manage their resources effectively, security teams must ensure these privileges don’t compromise the organization’s security posture. Azure’s conditional role assignments provide an elegant solution to this challenge, allowing us to grant broad permissions while maintaining strict security boundaries. The Challenge Traditional role-based access control (RBAC) often forces organizations to choose between two suboptimal approaches: ...

July 1, 2025 · 6 min · 1165 words · Jaap de Goeij

Azure Privileged Identity Management as code

Introduction In this guide, we will delve into the intricacies of configuring Privileged Identity Management (PIM) Eligible Role Assignments on Azure subscriptions using the ARM API in PowerShell. As seasoned professionals, we recognize that leveraging PIM in Azure is a strategic imperative. However, as DevOps Engineers, we also acknowledge the challenges posed by incorporating Eligible role assignments into deployments. In this post I will expose all the intricacies concercing this piece of automation. Microsoft provides Micosoft Graph cmdlets for Entra ID PIM, but for Azure PIM Role Assignments you must use the Azure Resource Manager (ARM) API. ...

May 1, 2024 · 8 min · 1696 words · Jaap de Goeij