Skip to main content

Identity & Access Management

How to design Azure AD, RBAC, and privileged access for enterprise landing zones.

Identity Foundation

Hybrid Identity Options

Benefits:

  • Simplest to implement
  • No on-prem dependency for auth
  • Supports cloud-only features

Option 2: Pass-through Authentication

Benefits:

  • Passwords never leave on-prem
  • Enforces on-prem policies

Option 3: Federation (AD FS)

Best for: Complex claims requirements, third-party identity

Comparison

FeaturePassword HashPass-throughFederation
Cloud availability✅ High⚠️ Depends on agents⚠️ Depends on ADFS
Password locationCloudOn-prem onlyOn-prem only
On-prem dependencySync onlyAuth requiredAuth required
ComplexityLowMediumHigh
Smart lockout⚠️ Limited
RecommendationDefault choiceSecurity requirementLegacy/complex

RBAC Design

RBAC Hierarchy

Built-in Roles

RoleDescriptionTypical Use
OwnerFull access + RBAC managementSubscription owners
ContributorFull access, no RBACApplication teams
ReaderRead-only accessAuditors, support
User Access AdministratorManage RBAC onlyDelegation scenarios

Specialized Roles

RoleScopeUse Case
Network ContributorNetwork resourcesNetwork team
Virtual Machine ContributorVMs onlyCompute team
Storage Blob Data ContributorBlob dataData teams
Key Vault Secrets UserRead secretsApplications
Monitoring ReaderMonitor dataSRE teams

RBAC Strategy by Landing Zone

Custom Role Example

{
"Name": "Landing Zone Owner",
"IsCustom": true,
"Description": "Full control in landing zone except networking and policy",
"Actions": [
"*"
],
"NotActions": [
"Microsoft.Authorization/policyAssignments/*",
"Microsoft.Authorization/policyDefinitions/*",
"Microsoft.Authorization/policySetDefinitions/*",
"Microsoft.Network/virtualNetworks/peer/*",
"Microsoft.Network/virtualNetworks/virtualNetworkPeerings/*"
],
"DataActions": [],
"NotDataActions": [],
"AssignableScopes": [
"/providers/Microsoft.Management/managementGroups/alz-landingzones"
]
}

Bicep: Custom Role

targetScope = 'managementGroup'

resource customRole 'Microsoft.Authorization/roleDefinitions@2022-04-01' = {
name: guid('landing-zone-owner', managementGroup().id)
properties: {
roleName: 'Landing Zone Owner'
description: 'Full control in landing zone except networking and policy'
type: 'CustomRole'
permissions: [
{
actions: ['*']
notActions: [
'Microsoft.Authorization/policyAssignments/*'
'Microsoft.Authorization/policyDefinitions/*'
'Microsoft.Network/virtualNetworks/peer/*'
]
}
]
assignableScopes: [
managementGroup().id
]
}
}

Privileged Identity Management (PIM)

Why PIM?

PIM Configuration

SettingProductionNon-Production
Activation duration4 hours8 hours
Require justification
Require MFA
Require approval✅ (Owner)
Notification on activate

PIM Roles Setup

Sample: PIM Alert Policy

resource pimAlert 'Microsoft.Insights/activityLogAlerts@2020-10-01' = {
name: 'pim-role-activated'
location: 'global'
properties: {
enabled: true
scopes: [
subscription().id
]
condition: {
allOf: [
{
field: 'category'
equals: 'Administrative'
}
{
field: 'operationName'
equals: 'Microsoft.Authorization/roleAssignments/write'
}
]
}
actions: {
actionGroups: [
{
actionGroupId: actionGroup.id
}
]
}
}
}

Conditional Access

Zero Trust Policies

Essential Policies

PolicyConditionControl
Require MFA for adminsAdmin rolesMFA
Block legacy authLegacy protocolsBlock
Require compliant deviceCorp appsCompliant device
Require MFA outside networkExternal IPsMFA
Block high-risk sign-insRisk: HighBlock
Require MFA for Azure managementAzure portal/CLIMFA

Sample: Require MFA for Azure Management

{
"displayName": "Require MFA for Azure Management",
"state": "enabled",
"conditions": {
"applications": {
"includeApplications": [
"797f4846-ba00-4fd7-ba43-dac1f8f63013" // Azure Management
]
},
"users": {
"includeUsers": ["All"]
}
},
"grantControls": {
"operator": "OR",
"builtInControls": ["mfa"]
}
}

Service Principals & Managed Identities

Types

TypeUse CaseCredential Management
User-assigned Managed IdentityShared across resourcesAzure-managed
System-assigned Managed IdentitySingle resourceAzure-managed
Service PrincipalCI/CD pipelinesManual rotation
Workload Identity FederationGitHub Actions, etc.Federated tokens

Managed Identity Architecture

Best Practices

Bicep: User-Assigned Managed Identity

resource managedIdentity 'Microsoft.ManagedIdentity/userAssignedIdentities@2023-01-31' = {
name: 'mi-${workload}-${environment}'
location: location
}

// Assign to Key Vault
resource kvRoleAssignment 'Microsoft.Authorization/roleAssignments@2022-04-01' = {
name: guid(keyVault.id, managedIdentity.id, 'Key Vault Secrets User')
scope: keyVault
properties: {
roleDefinitionId: subscriptionResourceId(
'Microsoft.Authorization/roleDefinitions',
'4633458b-17de-408a-b874-0445c86b69e6' // Key Vault Secrets User
)
principalId: managedIdentity.properties.principalId
principalType: 'ServicePrincipal'
}
}

Emergency Access (Break Glass)

Break Glass Account Design

Configuration

SettingValue
Account typeCloud-only
MFAHardware FIDO2 key
Password256-bit, stored securely
Conditional AccessExcluded
PIMPermanent Global Admin
MonitoringAlert on any sign-in
Access frequencyTested quarterly

Identity Security Checklist

✅ Foundation

  • Entra ID Connect configured (Password Hash Sync)
  • Seamless SSO enabled
  • Password writeback enabled

✅ Security

  • MFA enforced for all users
  • Legacy authentication blocked
  • Conditional Access policies active
  • Sign-in risk policies enabled
  • Break glass accounts configured

✅ Privileged Access

  • PIM enabled for all admin roles
  • Just-in-time access required
  • Approval workflow for production
  • Access reviews configured

✅ Service Accounts

  • Managed identities used where possible
  • Service principal secrets rotated (90 days)
  • Workload identity federation for CI/CD

Quick Reference Card

ConceptBest Practice
Hybrid IdentityPassword Hash Sync as default
RBAC ScopeAssign at highest applicable level
PIMEligible assignments, not permanent
Conditional AccessBlock legacy auth, require MFA
Break Glass2 cloud-only accounts, monitored
Service AccountsManaged Identity > Service Principal

Next Steps

Continue to Network Topology to learn about hub-spoke, Virtual WAN, and DNS design.