Azure Containers built-in role

Container Registry Repository Contributor

Container Registry Repository Contributor reads, writes, and deletes artifacts, tags, and repository content in an ACR registry configured for RBAC Registry + ABAC Repository Permissions. Its repository operations are registry DataActions, distinct from Azure control-plane management of the registry resource. An optional ABAC condition on the role assignment can restrict access to repositories whose attributes match the approved expression; without a condition, the assignment applies registry-wide.

Role-definition permissions are imported from Microsoft Learn. Practical scope, use cases, prerequisites, best practices, security considerations, assignment guidance, and relationships have been reviewed against the official sources below.

Role definition ID: 2efddaa5-3f1f-4df3-97df-af3f13818f4c

Control-plane actions (0)

None — this role grants no control-plane management actions.

Data-plane actions (6)

Excluded actions (0)

None

Assignable scopes (1)

Practical scope

Assign on the individual registry. Azure assignment scope is inherited from parent resource scopes, while any supported ABAC condition filters the repository data-plane operations inside that registry; a condition does not change which Azure registry resources inherit the assignment.

Common use cases (1)

Prerequisites (2)

Best practices (2)

Security considerations (3)

Assignment guidance

Assign Container Registry Repository Contributor on the target ABAC-enabled registry for reads, writes, and deletes artifacts, tags, and repository content. Add a tested repository condition unless registry-wide access is required, and grant Repository Catalog Lister separately only if the principal must enumerate repository names.

Related roles (2)

Common questions

When should I assign the Container Registry Repository Contributor Azure role?

Assign Container Registry Repository Contributor when you need to: Allow a trusted repository owner or lifecycle automation identity to publish, retag, and delete content in selected repositories.. Practical scope: Assign on the individual registry. Azure assignment scope is inherited from parent resource scopes, while any supported ABAC condition filters the repository data-plane operations inside that registry; a condition does not change which Azure registry resources inherit the assignment.

What permissions does the Container Registry Repository Contributor Azure role grant?

The role definition grants 6 combined control-plane and data-plane actions. Representative operations include: Microsoft.ContainerRegistry/registries/repositories/metadata/read; Microsoft.ContainerRegistry/registries/repositories/content/read; Microsoft.ContainerRegistry/registries/repositories/metadata/write; Microsoft.ContainerRegistry/registries/repositories/content/write; Microsoft.ContainerRegistry/registries/repositories/metadata/delete; and Microsoft.ContainerRegistry/registries/repositories/content/delete. Review the permission sections above for the complete definition and exclusions.

What are the security risks of the Container Registry Repository Contributor Azure role?

Key considerations when assigning Container Registry Repository Contributor: Delete and write DataActions can remove rollback artifacts, replace mutable tags, or publish untrusted content consumed by deployments.; Repository DataActions authorize artifact operations but do not by themselves grant Azure control-plane permission to configure the registry.; and An assignment without a supported repository condition applies to every repository in the registry.. Follow the assignment guidance above and use the narrowest practical scope.

Editorial sources (8)

Official Microsoft Learn documentation →