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

Azure Red Hat OpenShift Cloud Controller ManagerAzure built-in role

Manage and update the cloud controller manager deployed on top of OpenShift.

Role IDa1f96423-95ce-4224-ab27-4e3dc72facd4
CategoryContainers
Actions28
Data actions0

What it can do

PermissionWhat it allows
Microsoft.Compute/virtualMachines/readGet the properties of a virtual machine
Microsoft.Network/loadBalancers/backendAddressPools/join/actionJoins a load balancer backend address pool. Not Alertable.
Microsoft.Network/loadBalancers/readGets a load balancer definition
Microsoft.Network/loadBalancers/writeCreates a load balancer or updates an existing load balancer
Microsoft.Network/networkInterfaces/readGets a network interface definition.
Microsoft.Network/networkInterfaces/writeCreates a network interface or updates an existing network interface.
Microsoft.Network/networkSecurityGroups/readGets a network security group definition
Microsoft.Network/networkSecurityGroups/writeCreates a network security group or updates an existing network security group
Microsoft.Network/publicIPAddresses/join/actionJoins a public IP address. Not Alertable.
Microsoft.Network/publicIPAddresses/readGets a public IP address definition.
Microsoft.Network/publicIPAddresses/writeCreates a public IP address or updates an existing public IP address.
Microsoft.Network/publicIPAddresses/deleteDeletes a public IP address.
Microsoft.Network/virtualNetworks/subnets/join/actionJoins a virtual network. Not Alertable.
Microsoft.Network/virtualNetworks/subnets/readGets a virtual network subnet definition
Microsoft.Network/loadBalancers/inboundNatRules/join/actionJoins a load balancer inbound nat rule. Not Alertable.
Microsoft.Network/networkSecurityGroups/join/actionJoins a network security group. Not Alertable.
Microsoft.Network/publicIPPrefixes/join/actionJoins a PublicIPPrefix. Not alertable.
Microsoft.Network/applicationSecurityGroups/joinNetworkSecurityRule/actionJoins a Security Rule to Application Security Groups. Not alertable.
Microsoft.Network/virtualNetworks/subnets/writeCreates a virtual network subnet or updates an existing virtual network subnet
Microsoft.Network/privatelinkservices/writeCreates a new private link service, or updates an existing private link service.
Microsoft.Network/privatelinkservices/readGets an private link service resource.
Microsoft.Network/privatelinkservices/deleteDeletes an private link service resource.
Microsoft.Network/loadBalancers/loadBalancingRules/readGets a load balancer load balancing rule definition
Microsoft.Network/serviceEndpointPolicies/join/actionJoins a Service Endpoint Policy. Not alertable.
Microsoft.Network/natGateways/join/actionJoins a NAT Gateway
Microsoft.Network/networkIntentPolicies/join/actionJoins a Network Intent Policy. Not alertable.
Microsoft.Network/routeTables/join/actionJoins a route table. Not Alertable.
Microsoft.Network/networkManagers/ipamPools/associateResourcesToPool/actionAction permission for associate resources to Ipam Pool

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 Red Hat OpenShift Cloud Controller Manager" \
  --scope "/subscriptions/<subscription id>/resourceGroups/<resource group>"
powershell3 lines
New-AzRoleAssignment -SignInName "jane.doe@contoso.com" `
  -RoleDefinitionName "Azure Red Hat OpenShift Cloud Controller Manager" `
  -Scope "/subscriptions/<subscription id>/resourceGroups/<resource group>"
bicep7 lines
resource assignment 'Microsoft.Authorization/roleAssignments@2022-04-01' = {
  name: guid(resourceGroup().id, principalId, 'a1f96423-95ce-4224-ab27-4e3dc72facd4')
  properties: {
    roleDefinitionId: subscriptionResourceId('Microsoft.Authorization/roleDefinitions', 'a1f96423-95ce-4224-ab27-4e3dc72facd4')
    principalId: principalId
  }
}

Who already has it?

kql · azure resource graph
authorizationresources
| where type == "microsoft.authorization/roleassignments"
| where tostring(properties.roleDefinitionId) endswith "a1f96423-95ce-4224-ab27-4e3dc72facd4"
| project principalId = tostring(properties.principalId), principalType = tostring(properties.principalType), scope = tostring(properties.scope)

Other containers roles

Find the smallest role for a task →