azureblog.co.uk
← cd ~/roles
// roles/azure · containers

Azure Kubernetes Fleet Manager RBAC AdminAzure built-in role

Grants read/write access to Kubernetes resources within a namespace in the fleet-managed hub cluster - provides write permissions on most objects within a a namespace, with the exception of ResourceQuota object and the namespace object itself. Applying this role at cluster scope will give access across all namespaces.

Role ID434fb43a-c01c-447e-9f67-c3ad923cfaba
CategoryContainers
Actions6
Data actions33

Before you assign it

  • It reaches the data, not just the resource. It has 33 data actions, such as reading blobs, secrets or messages.

What it can do

PermissionWhat it allows
Microsoft.Authorization/*/readAny read operation on anything under Microsoft.Authorization
Microsoft.Resources/subscriptions/operationresults/readGet the subscription operation results.
Microsoft.Resources/subscriptions/readGets the list of subscriptions.
Microsoft.Resources/subscriptions/resourceGroups/readGets or lists resource groups.
Microsoft.ContainerService/fleets/readGet fleet
Microsoft.ContainerService/fleets/listCredentials/actionList fleet credentials

Data actions

PermissionWhat it allows
Microsoft.ContainerService/fleets/apps/controllerrevisions/readReads controllerrevisions
Microsoft.ContainerService/fleets/apps/daemonsets/*Every operation under Microsoft.ContainerService/fleets/apps/daemonsets
Microsoft.ContainerService/fleets/apps/deployments/*Every operation under Microsoft.ContainerService/fleets/apps/deployments
Microsoft.ContainerService/fleets/apps/statefulsets/*Every operation under Microsoft.ContainerService/fleets/apps/statefulsets
Microsoft.ContainerService/fleets/authorization.k8s.io/localsubjectaccessreviews/writeWrites localsubjectaccessreviews
Microsoft.ContainerService/fleets/autoscaling/horizontalpodautoscalers/*Every operation under Microsoft.ContainerService/fleets/autoscaling/horizontalpodautoscalers
Microsoft.ContainerService/fleets/batch/cronjobs/*Every operation under Microsoft.ContainerService/fleets/batch/cronjobs
Microsoft.ContainerService/fleets/batch/jobs/*Every operation under Microsoft.ContainerService/fleets/batch/jobs
Microsoft.ContainerService/fleets/configmaps/*Every operation under Microsoft.ContainerService/fleets/configmaps
Microsoft.ContainerService/fleets/endpoints/*Every operation under Microsoft.ContainerService/fleets/endpoints
Microsoft.ContainerService/fleets/events.k8s.io/events/readReads events
Microsoft.ContainerService/fleets/events/readReads events
Microsoft.ContainerService/fleets/extensions/daemonsets/*Every operation under Microsoft.ContainerService/fleets/extensions/daemonsets
Microsoft.ContainerService/fleets/extensions/deployments/*Every operation under Microsoft.ContainerService/fleets/extensions/deployments
Microsoft.ContainerService/fleets/extensions/ingresses/*Every operation under Microsoft.ContainerService/fleets/extensions/ingresses
Microsoft.ContainerService/fleets/extensions/networkpolicies/*Every operation under Microsoft.ContainerService/fleets/extensions/networkpolicies
Microsoft.ContainerService/fleets/limitranges/readReads limitranges
Microsoft.ContainerService/fleets/namespaces/readReads namespaces
Microsoft.ContainerService/fleets/networking.k8s.io/ingresses/*Every operation under Microsoft.ContainerService/fleets/networking.k8s.io/ingresses
Microsoft.ContainerService/fleets/networking.k8s.io/networkpolicies/*Every operation under Microsoft.ContainerService/fleets/networking.k8s.io/networkpolicies
Microsoft.ContainerService/fleets/persistentvolumeclaims/*Every operation under Microsoft.ContainerService/fleets/persistentvolumeclaims
Microsoft.ContainerService/fleets/policy/poddisruptionbudgets/*Every operation under Microsoft.ContainerService/fleets/policy/poddisruptionbudgets
Microsoft.ContainerService/fleets/rbac.authorization.k8s.io/rolebindings/*Every operation under Microsoft.ContainerService/fleets/rbac.authorization.k8s.io/rolebindings
Microsoft.ContainerService/fleets/rbac.authorization.k8s.io/roles/*Every operation under Microsoft.ContainerService/fleets/rbac.authorization.k8s.io/roles
Microsoft.ContainerService/fleets/replicationcontrollers/*Every operation under Microsoft.ContainerService/fleets/replicationcontrollers
Microsoft.ContainerService/fleets/resourcequotas/readReads resourcequotas
Microsoft.ContainerService/fleets/secrets/*Every operation under Microsoft.ContainerService/fleets/secrets
Microsoft.ContainerService/fleets/serviceaccounts/*Every operation under Microsoft.ContainerService/fleets/serviceaccounts
Microsoft.ContainerService/fleets/services/*Every operation under Microsoft.ContainerService/fleets/services
Microsoft.ContainerService/fleets/cluster.kubernetes-fleet.io/internalmemberclusters/readRead fleet internalmembercluster resource
Microsoft.ContainerService/fleets/placement.kubernetes-fleet.io/resourceoverrides/*Every operation under Microsoft.ContainerService/fleets/placement.kubernetes-fleet.io/resourceoverrides
Microsoft.ContainerService/fleets/placement.kubernetes-fleet.io/resourceoverridesnapshots/readRead fleet resourceoverridesnapshot resource
Microsoft.ContainerService/fleets/placement.kubernetes-fleet.io/works/readRead fleet work resource

Assign it

Scope it as tightly as you can: a resource or resource group rather than the whole subscription.

azure cli
az role assignment create \
  --assignee "jane.doe@contoso.com" \
  --role "Azure Kubernetes Fleet Manager RBAC Admin" \
  --scope "/subscriptions/<subscription id>/resourceGroups/<resource group>"
powershell3 lines
New-AzRoleAssignment -SignInName "jane.doe@contoso.com" `
  -RoleDefinitionName "Azure Kubernetes Fleet Manager RBAC Admin" `
  -Scope "/subscriptions/<subscription id>/resourceGroups/<resource group>"
bicep7 lines
resource assignment 'Microsoft.Authorization/roleAssignments@2022-04-01' = {
  name: guid(resourceGroup().id, principalId, '434fb43a-c01c-447e-9f67-c3ad923cfaba')
  properties: {
    roleDefinitionId: subscriptionResourceId('Microsoft.Authorization/roleDefinitions', '434fb43a-c01c-447e-9f67-c3ad923cfaba')
    principalId: principalId
  }
}

Who already has it?

kql · azure resource graph
authorizationresources
| where type == "microsoft.authorization/roleassignments"
| where tostring(properties.roleDefinitionId) endswith "434fb43a-c01c-447e-9f67-c3ad923cfaba"
| project principalId = tostring(properties.principalId), principalType = tostring(properties.principalType), scope = tostring(properties.scope)

Other containers roles

Find the smallest role for a task →