| name | cis-azure-foundations-5.27 |
| description | Ensure there are between 2 and 3 subscription owners |
| category | cis-azure-foundations |
| version | 5.0.0 |
| author | cyberstrike-official |
| tags | ["cis","azure","identity","subscription-owners","rbac","least-privilege"] |
| cis_id | 5.27 |
| cis_benchmark | CIS Microsoft Azure Foundations Benchmark v5.0.0 |
| tech_stack | ["azure"] |
| cwe_ids | [] |
| chains_with | ["cis-azure-foundations-5.26","cis-azure-foundations-5.23"] |
| prerequisites | [] |
| severity_boost | {} |
Ensure there are between 2 and 3 subscription owners
Description
The Owner role in Azure grants full control over all resources in a subscription, including the ability to assign roles to others.
Rationale
Limit the number of security principals (users, groups, service principals, and managed identities) assigned the Owner role to between 2 and 3. If groups are used, ensure their membership is tightly controlled and regularly reviewed to avoid privilege sprawl.
Impact
Implementation may require changes in administrative workflows or the redistribution of roles and responsibilities. The recommendation to have between 2 and 3 Owners per subscription must account for all security principals that can be assigned the Owner role, not just individual users. This includes:
- User accounts
- Entra ID groups
- Service principals (used by applications or automation)
- Managed identities (system-assigned or user-assigned)
Audit Procedure
Using Azure Portal
- Go to
Subscriptions.
- Click the name of a subscription.
- Click
Access Controls (IAM).
- Click
Role assignments.
- Click
Role : All.
- Click the arrow next to
All.
- Click
Owner.
- Ensure a minimum of 2 and a maximum of 3 members are returned.
- Repeat steps 1-8 for each subscription.
Using Azure CLI
az role assignment list --role Owner --scope /subscriptions/<subscription-id> \
--query "[].{PrincipalName:principalName, Type:principalType}"
Ensure a minimum of 2 and a maximum of 3 members are returned. For each Owner assignment, check: If principalType == Group, review group membership. If principalType == ServicePrincipal or ManagedIdentity, validate necessity and scope. Repeat for each subscription.
Using PowerShell
Get-AzRoleAssignment -RoleDefinitionName Owner -Scope /subscriptions/<subscription-id>
Ensure a minimum of 2 and a maximum of 3 members are returned. Repeat for each subscription.
Using Azure Policy
- Policy ID: 09024ccc-0c5f-475e-9457-b7c0d9ed487b - Name: 'There should be more than one owner assigned to your subscription'
- Policy ID: 4f11b553-d42e-4e3a-89be-32ca364cad4c - Name: 'A maximum of 3 owners should be designated for your subscription'