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

Azure Red Hat OpenShift Machine API OperatorAzure built-in role

Manage the lifecycle of specific-purpose custom resource definitions (CRD), controllers, and Azure RBAC objects that extend the Kubernetes API to declares the desired state of machines in a cluster.

Role ID0358943c-7e01-48ba-8889-02cc51d78637
CategoryContainers
Actions35
Data actions0

What it can do

PermissionWhat it allows
Microsoft.Compute/availabilitySets/deleteDeletes the availability set
Microsoft.Compute/availabilitySets/readGet the properties of an availability set
Microsoft.Compute/availabilitySets/writeCreates a new availability set or updates an existing one
Microsoft.Compute/diskEncryptionSets/readGet the properties of a disk encryption set
Microsoft.Compute/disks/deleteDeletes the Disk
Microsoft.Compute/galleries/images/versions/readGets the properties of Gallery Image Version
Microsoft.Compute/skus/readGets the list of Microsoft.Compute SKUs available for your Subscription
Microsoft.Compute/virtualMachines/deleteDeletes the virtual machine
Microsoft.Compute/virtualMachines/readGet the properties of a virtual machine
Microsoft.Compute/virtualMachines/writeCreates a new virtual machine or updates an existing virtual machine
Microsoft.Compute/capacityReservationGroups/deploy/actionDeploy a new VM/VMSS using Capacity Reservation Group
Microsoft.ManagedIdentity/userAssignedIdentities/assign/actionRBAC action for assigning an existing user assigned identity to a resource
Microsoft.Network/applicationSecurityGroups/readGets an Application Security Group ID.
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/deleteDeletes a network interface
Microsoft.Network/networkInterfaces/join/actionJoins a Virtual Machine to a network interface. Not Alertable.
Microsoft.Network/networkInterfaces/loadBalancers/readGets all the load balancers that the network interface is part of
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/deleteDeletes a public IP address.
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/routeTables/readGets a route table definition
Microsoft.Network/virtualNetworks/subnets/join/actionJoins a virtual network. Not Alertable.
Microsoft.Network/virtualNetworks/subnets/readGets a virtual network subnet definition
Microsoft.Network/applicationSecurityGroups/joinNetworkSecurityRule/actionJoins a Security Rule to Application Security Groups. Not alertable.
Microsoft.Network/loadBalancers/frontendIPConfigurations/join/actionJoins a Load Balancer Frontend IP Configuration. Not alertable.
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.Resources/subscriptions/resourceGroups/readGets or lists resource groups.

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 Machine API Operator" \
  --scope "/subscriptions/<subscription id>/resourceGroups/<resource group>"
powershell3 lines
New-AzRoleAssignment -SignInName "jane.doe@contoso.com" `
  -RoleDefinitionName "Azure Red Hat OpenShift Machine API Operator" `
  -Scope "/subscriptions/<subscription id>/resourceGroups/<resource group>"
bicep7 lines
resource assignment 'Microsoft.Authorization/roleAssignments@2022-04-01' = {
  name: guid(resourceGroup().id, principalId, '0358943c-7e01-48ba-8889-02cc51d78637')
  properties: {
    roleDefinitionId: subscriptionResourceId('Microsoft.Authorization/roleDefinitions', '0358943c-7e01-48ba-8889-02cc51d78637')
    principalId: principalId
  }
}

Who already has it?

kql · azure resource graph
authorizationresources
| where type == "microsoft.authorization/roleassignments"
| where tostring(properties.roleDefinitionId) endswith "0358943c-7e01-48ba-8889-02cc51d78637"
| project principalId = tostring(properties.principalId), principalType = tostring(properties.principalType), scope = tostring(properties.scope)

Other containers roles

Find the smallest role for a task →