Azure Containers built-in role
Azure Arc Kubernetes Viewer
Azure Arc Kubernetes Viewer grants read-only access to most Kubernetes objects, excluding Secrets and role or role-binding visibility on the Arc-enabled Kubernetes cluster. The effective workload authority is expressed as Kubernetes API DataActions under the Microsoft.Kubernetes connected-cluster resource provider. It also writes ARM deployments, manages classic alert rules, and creates or updates Azure support tickets at the assigned scope; those control-plane capabilities are separate from its Kubernetes DataActions.
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: 63f0a09d-1495-4db4-a681-037d84835eb4
Control-plane actions (7)
Microsoft.Authorization/*/readMicrosoft.Insights/alertRules/*Microsoft.Resources/deployments/writeMicrosoft.Resources/subscriptions/operationresults/readMicrosoft.Resources/subscriptions/readMicrosoft.Resources/subscriptions/resourceGroups/readMicrosoft.Support/*
Data-plane actions (29)
Microsoft.Kubernetes/connectedClusters/apps/controllerrevisions/readMicrosoft.Kubernetes/connectedClusters/apps/daemonsets/readMicrosoft.Kubernetes/connectedClusters/apps/deployments/readMicrosoft.Kubernetes/connectedClusters/apps/replicasets/readMicrosoft.Kubernetes/connectedClusters/apps/statefulsets/readMicrosoft.Kubernetes/connectedClusters/autoscaling/horizontalpodautoscalers/readMicrosoft.Kubernetes/connectedClusters/batch/cronjobs/readMicrosoft.Kubernetes/connectedClusters/batch/jobs/readMicrosoft.Kubernetes/connectedClusters/configmaps/readMicrosoft.Kubernetes/connectedClusters/endpoints/readMicrosoft.Kubernetes/connectedClusters/events.k8s.io/events/readMicrosoft.Kubernetes/connectedClusters/events/readMicrosoft.Kubernetes/connectedClusters/extensions/daemonsets/readMicrosoft.Kubernetes/connectedClusters/extensions/deployments/readMicrosoft.Kubernetes/connectedClusters/extensions/ingresses/readMicrosoft.Kubernetes/connectedClusters/extensions/networkpolicies/readMicrosoft.Kubernetes/connectedClusters/extensions/replicasets/readMicrosoft.Kubernetes/connectedClusters/limitranges/readMicrosoft.Kubernetes/connectedClusters/namespaces/readMicrosoft.Kubernetes/connectedClusters/networking.k8s.io/ingresses/readMicrosoft.Kubernetes/connectedClusters/networking.k8s.io/networkpolicies/readMicrosoft.Kubernetes/connectedClusters/persistentvolumeclaims/readMicrosoft.Kubernetes/connectedClusters/pods/readMicrosoft.Kubernetes/connectedClusters/policy/poddisruptionbudgets/readMicrosoft.Kubernetes/connectedClusters/replicationcontrollers/readMicrosoft.Kubernetes/connectedClusters/replicationcontrollers/readMicrosoft.Kubernetes/connectedClusters/resourcequotas/readMicrosoft.Kubernetes/connectedClusters/serviceaccounts/readMicrosoft.Kubernetes/connectedClusters/services/read
Excluded actions (0)
None
Assignable scopes (1)
/
Practical scope
Assign at the Kubernetes namespace sub-scope whenever the workflow is namespace-bound. Assigning at the the Arc-enabled Kubernetes cluster resource or an inherited parent Azure scope applies the Kubernetes API DataActions across all namespaces available through each inherited cluster.
Common use cases (1)
- Let an approved reviewer inspect nonsensitive workload state in an Arc-connected cluster or namespace without reading Secrets or changing Kubernetes objects.
Prerequisites (1)
- The the Arc-enabled Kubernetes cluster must use the documented Microsoft Entra and Azure RBAC integration for Kubernetes authorization.
Best practices (2)
- Create namespace-scoped assignments for application teams and reserve cluster-scope assignments for documented cross-namespace responsibilities.
- Use this reader role for observation and grant write or admin access only for a separately approved workflow.
Security considerations (3)
- The role deliberately excludes Secrets because reading them can expose ServiceAccount credentials and enable privilege escalation; other visible workload configuration can still contain operationally sensitive data.
- An Azure role assignment at a parent scope is inherited by child cluster resources; Kubernetes namespace semantics do not prevent a broad Azure assignment from reaching multiple clusters.
- The accompanying deployment write, classic-alert management, and support-ticket Actions can change Azure resources outside the Kubernetes data plane at the inherited assignment scope.
Assignment guidance
Assign Azure Arc Kubernetes Viewer at the narrowest documented namespace scope to the principal that needs read-only access to most Kubernetes objects, excluding Secrets and role or role-binding visibility. Test access with the intended identity and avoid using this role as a substitute for Azure control-plane cluster administration.
Editorial sources (6)
- Azure built-in roles for Containers - Azure RBAC | Microsoft Learn →
Supports: Description, Practical scope, Security considerations. Retrieved 2026-07-17.
- Understand Azure role definitions →
Supports: Description, Security considerations. Retrieved 2026-07-17.
- Steps to assign an Azure role →
Supports: Assignment guidance. Retrieved 2026-07-17.
- Understand scope for Azure RBAC →
Supports: Practical scope, Assignment guidance. Retrieved 2026-07-17.
- Best practices for Azure RBAC →
Supports: Best practices, Assignment guidance. Retrieved 2026-07-17.
- Use Azure RBAC on Azure Arc-enabled Kubernetes clusters →
Supports: Description, Practical scope, Common use cases, Prerequisites, Best practices, Security considerations, Assignment guidance. Retrieved 2026-07-17.