Azure access control & privilege security checks
Admin roles, standing privileges, permission scopes and policy enforcement — the settings that decide how much damage one compromised account can do.
On Azure, Black Cat runs 8 checks in this area on every scan. Each one below lists its severity, how to fix it, and the compliance controls it satisfies where a control applies. See what access the Azure connector needs.
Checks (8)
severity: medium Owner Count Exceeded fix difficulty: easy #
Reduce the number of subscription Owners to three or fewer
- Sign in to the Azure Portal and navigate to Subscriptions
- Select the affected subscription and click Access control (IAM)
- Click the Role assignments tab and filter by the Owner role
- Identify users who should not have Owner permissions
- Select each unnecessary Owner and click Remove
- Confirm the removal and verify the Owner count is within the limit
Satisfies: ISO 27001:2022 A.5.15 SOC 2 Type II CC6.1 CIS Controls v8 CIS-06.1 NIST CSF 2.0 PR.AA-05 GDPR (SaaS Security) GDPR-25.2 HIPAA (SaaS Security) HIPAA-312.a NIS2 Directive NIS2-21.i.1 DORA (SaaS Security) DORA-9.2
severity: medium Custom Admin Roles fix difficulty: medium #
Replace custom admin roles with built-in RBAC roles scoped to least privilege
- Navigate to the Azure Portal and open Subscriptions
- Select the subscription and click Access control (IAM)
- Click Roles and filter for custom roles with wildcard or broad action permissions
- Review each custom role definition for overly permissive actions
- Replace users assigned to the custom role with appropriate built-in roles (e.g. Contributor, Reader)
- Delete or restrict the custom role definition once no users are assigned
Satisfies: ISO 27001:2022 A.5.15 SOC 2 Type II CC6.1 CIS Controls v8 CIS-06.1 NIST CSF 2.0 PR.AA-05 GDPR (SaaS Security) GDPR-25.2 HIPAA (SaaS Security) HIPAA-312.a NIS2 Directive NIS2-21.i.1 DORA (SaaS Security) DORA-9.2
severity: medium Classic Administrators fix difficulty: easy #
Remove classic Co-Administrator and Service Administrator role assignments
- Navigate to the Azure Portal and open Subscriptions
- Select the affected subscription and click Access control (IAM)
- Click the Classic administrators tab
- Review co-administrators listed and identify those no longer required
- Click the three-dot menu next to each unnecessary co-administrator and select Remove
- Confirm removal and reassign required permissions using modern RBAC roles instead
Satisfies: ISO 27001:2022 A.5.15 SOC 2 Type II CC6.1 CIS Controls v8 CIS-06.1 NIST CSF 2.0 PR.AA-05 GDPR (SaaS Security) GDPR-25.2 HIPAA (SaaS Security) HIPAA-312.a NIS2 Directive NIS2-21.i.1 DORA (SaaS Security) DORA-9.2
severity: high Guest Privileged Role fix difficulty: medium #
Remove privileged role assignments from guest (external) user accounts
- Navigate to the Microsoft Entra admin center and open Users
- Filter the user list by User type set to Guest
- For each guest user, click the name and select Azure role assignments
- Identify and remove any Owner, Contributor, or other privileged role assignments
- If the guest requires access, assign a least-privilege role scoped to a specific resource group
- Review and revoke guest user access in Active Directory under External identities if no longer needed
Satisfies: ISO 27001:2022 A.5.15 SOC 2 Type II CC6.1 CIS Controls v8 CIS-06.1 NIST CSF 2.0 PR.AA-05 GDPR (SaaS Security) GDPR-44.1 HIPAA (SaaS Security) HIPAA-312.a NIS2 Directive NIS2-21.i.1 DORA (SaaS Security) DORA-9.2
severity: high Key Vault RBAC Not Enabled fix difficulty: medium #
Switch the Key Vault permission model to Azure RBAC for centralized access control
- Navigate to the Azure Portal and open Key vaults
- Select the flagged Key Vault and click Access configuration
- Under Permission model, select Azure role-based access control
- Click Apply to switch from the vault access policy model
- Assign appropriate built-in Key Vault roles (Key Vault Administrator, Secrets User, etc.) to users and service principals
- Remove any legacy access policies that are no longer needed
Satisfies: ISO 27001:2022 A.5.15 SOC 2 Type II CC6.1 CIS Controls v8 CIS-06.1 NIST CSF 2.0 PR.AA-05 GDPR (SaaS Security) GDPR-25.2 HIPAA (SaaS Security) HIPAA-312.a NIS2 Directive NIS2-21.i.1 DORA (SaaS Security) DORA-9.2
severity: high SQL AD Admin Not Configured fix difficulty: easy #
Configure a Microsoft Entra ID administrator for the Azure SQL Server
- Navigate to the Azure Portal and open SQL servers
- Select the flagged SQL Server and click Microsoft Entra admin under Settings
- Click Set admin
- Search for and select an appropriate Entra ID user or security group
- Click Select and then Save to assign the Entra admin
- Verify the Entra admin is shown as configured on the Microsoft Entra admin page
Satisfies: ISO 27001:2022 A.5.15 SOC 2 Type II CC6.1 CIS Controls v8 CIS-06.1 NIST CSF 2.0 PR.AA-05 GDPR (SaaS Security) GDPR-25.2 HIPAA (SaaS Security) HIPAA-312.a NIS2 Directive NIS2-21.i.1 DORA (SaaS Security) DORA-9.2
severity: high App Service Managed Identity Disabled fix difficulty: medium #
Enable a system-assigned or user-assigned managed identity on the App Service
- Navigate to the Azure Portal and open App Services
- Select the flagged web app and click Identity under Settings
- On the System assigned tab, set the Status toggle to On
- Click Save and confirm the change in the dialog
- Assign the managed identity the minimum required RBAC roles for accessing other Azure resources
- Update the application configuration to use managed identity authentication instead of stored credentials
Satisfies: ISO 27001:2022 A.5.15 SOC 2 Type II CC6.1 CIS Controls v8 CIS-06.1 NIST CSF 2.0 PR.AA-05 GDPR (SaaS Security) GDPR-25.2 HIPAA (SaaS Security) HIPAA-312.a NIS2 Directive NIS2-21.i.1 DORA (SaaS Security) DORA-9.2
severity: high App Service Auth Disabled fix difficulty: medium #
Enable App Service Authentication to require identity provider login for the application
- Navigate to the Azure Portal and open App Services
- Select the flagged web app and click Authentication under Settings
- Click Add identity provider
- Select the appropriate identity provider (e.g. Microsoft, Google, GitHub)
- Configure the provider credentials and callback URL
- Set the Unauthenticated requests action to HTTP 401 or Redirect to identity provider
Satisfies: ISO 27001:2022 A.5.15 SOC 2 Type II CC6.1 CIS Controls v8 CIS-06.1 NIST CSF 2.0 PR.AA-05 GDPR (SaaS Security) GDPR-25.2 HIPAA (SaaS Security) HIPAA-312.a NIS2 Directive NIS2-21.i.1 DORA (SaaS Security) DORA-9.2