Back to controls

Ensure Azure Container Registry admin user is disabled

ACR admin user exposes a shared username and password for the whole registry. It should normally be disabled in favor of Microsoft Entra ID, managed identities, and RBAC.

Category

Controls

Medium

Applies to

Microsoft Azure

Coverage

1 queries

Asset types

1 covered

Overview

ACR admin user exposes a shared username and password for the whole registry. It should normally be disabled in favor of Microsoft Entra ID, managed identities, and RBAC.

Why this matters

Shared credentials are harder to rotate, harder to scope, and much harder to attribute during investigations.

Remediation guidance

Azure Remediation

Service-wide fix (recommended): disable ACR admin user by policy and make Entra ID or managed identity auth the default registry access pattern.

When to use service-wide remediation

Use the service-wide path when many registries are affected or when teams still rely on shared registry credentials.

Azure portal

  1. Open the affected Container Registry.
  2. Go to Access keys.
  3. Set Admin user to Disabled.
  4. Confirm workloads authenticate with Entra ID, AcrPull / AcrPush, or repository-scoped permissions before removing the shared credential path.

Azure CLI

Disable the admin user:

az acr update \
  --name <acr-name> \
  --resource-group <resource-group> \
  --admin-enabled false

Validate the setting:

az acr show \
  --name <acr-name> \
  --resource-group <resource-group> \
  --query adminUserEnabled

Operational notes

  • Before disabling the admin user, identify old scripts, CI jobs, or third-party tools that still use registry username and password authentication.
  • Prefer managed identities for Azure-hosted workloads and Entra ID plus RBAC for users and automation outside Azure.

References

  • https://learn.microsoft.com/en-us/azure/container-registry/container-registry-authentication

Query logic

These are the stored checks tied to this control.

Container registries with admin user enabled

Connectors

Microsoft Azure

Covered asset types

ContainerRegistry

Expected check: eq []

{ containerRegistries(where: { adminUserEnabled: true }) { ...AssetFragment } }
Cyscale Logo
Cyscale is an agentless cloud-native application protection platform (CNAPP) that automates the contextual analysis of cloud misconfigurations, vulnerabilities, access, and data, to provide an accurate and actionable assessment of risk.

Stay connected

Receive new blog posts and product updates from Cyscale

By clicking Subscribe, I agree to Cyscale’s Privacy Policy


© 2026 Cyscale Limited

LinkedIn icon
Twitter icon
Facebook icon
crunch base icon
angel icon