AZIAM-009: Custom RBAC role definitions

Platform
Entra ID / M365
Category
Azure IAM & Resource Security
Severity
Medium
Zero Trust pillar
Identity (weight 3)
Golden fixtures
4
Branch coverage
Observed: fixtures prove the verdicts they exercise
Provenance
baseline

What it checks

Custom Azure RBAC roles provide tailored permissions beyond what built-in roles offer, but they can inadvertently grant excessive or dangerous action combinations. Poorly scoped custom roles with wildcard permissions or overly broad assignable scopes create privilege escalation paths. Each custom role must be reviewed to ensure it follows least-privilege principles and does not combine sensitive operations.

Recommended value

Minimize custom role definitions; avoid wildcard actions; restrict assignable scopes to specific management groups or subscriptions

Remediation

List all custom RBAC role definitions and review their actions, notActions, dataActions, and assignable scopes for overly permissive configurations. Remove any wildcard permissions (*/*, Microsoft.*/*, etc.) and replace with specific action strings required for the role's function. Document the business justification for each custom role and evaluate whether a built-in role or combination of built-in roles could replace the custom definition.

Fixture-proven verdicts

Every verdict below is proven by a golden fixture in the module's gating test suite. This table derives from the last green run; it cannot be edited by hand.

Verdict scenarios for AZIAM-009
ScenarioExpected verdict
cleanPASS
known-badWARN
no-dataNot Assessed
partial-collectionNot Assessed

Framework mappings

NIST SP 800-53
AC-6
CIS Azure
1.23