Check ID:
Provider: Azure
Service:
Severity: HIGH
Categories:
Resource type:
iam_subscription_roles_owner_custom_not_createdProvider: Azure
Service:
iamSeverity: HIGH
Categories:
identity-accessResource type:
microsoft.authorization/roledefinitionsWhat this check verifies
Azure custom roles are analyzed for wildcard permissions. Roles that allow* in actions within their assignable scopes are treated as owner-equivalent, granting unrestricted control over subscription resources.
Risk
Wildcard access grants full administrative control at subscription scope. If abused or compromised, an actor can exfiltrate data, alter configurations, deploy malware, delete resources, and disable logging, impacting confidentiality, integrity, and availability across the subscription.Recommendation
Avoid owner-equivalent custom roles. Apply least privilege: prefer built-in roles, define explicit allowedactions (avoid *), and limit assignment scope to the minimum needed. Enforce separation of duties, require just-in-time elevation, and perform periodic access reviews to prevent privilege creep.
Remediation
- CLI
- Terraform
- Native IaC
- Dashboard steps
References
- https://learn.microsoft.com/en-us/azure/role-based-access-control/custom-roles
- https://www.trendmicro.com/cloudoneconformity-staging/knowledge-base/azure/AccessControl/remove-custom-owner-roles.html
Where this check fires
This check runs on every scheduled scan against your Azure account. Findings appear at Cloud Security → Findings filterable byCheck ID = iam_subscription_roles_owner_custom_not_created. To re-evaluate after a fix, hit Run now on the account’s schedule under Cloud Security → Schedules — the next scan re-checks this control and marks the finding fixed or keeps it persistent.
← Back to Azure checks