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

Backup ReaderAzure built-in role

Can view backup services, but can't make changes

Role IDa795c7a0-d4a2-40c1-ae25-d81f01202912
CategoryStorage
Actions60
Data actions0

What it can do

PermissionWhat it allows
Microsoft.Authorization/*/readAny read operation on anything under Microsoft.Authorization
Microsoft.RecoveryServices/locations/allocatedStamp/readGetAllocatedStamp is internal operation used by service
Microsoft.RecoveryServices/Vaults/backupFabrics/operationResults/readReturns status of the operation
Microsoft.RecoveryServices/Vaults/backupFabrics/operationsStatus/readReturns status of the operation
Microsoft.RecoveryServices/Vaults/backupFabrics/protectionContainers/operationResults/readGets result of Operation performed on Protection Container.
Microsoft.RecoveryServices/Vaults/backupFabrics/protectionContainers/protectedItems/operationResults/readGets Result of Operation Performed on Protected Items.
Microsoft.RecoveryServices/Vaults/backupFabrics/protectionContainers/protectedItems/operationsStatus/readReturns the status of Operation performed on Protected Items.
Microsoft.RecoveryServices/Vaults/backupFabrics/protectionContainers/protectedItems/readReturns object details of the Protected Item
Microsoft.RecoveryServices/Vaults/backupFabrics/protectionContainers/protectedItems/recoveryPoints/readGet Recovery Points for Protected Items.
Microsoft.RecoveryServices/Vaults/backupFabrics/protectionContainers/readReturns all registered containers
Microsoft.RecoveryServices/Vaults/backupJobs/operationResults/readReturns the Result of Job Operation.
Microsoft.RecoveryServices/Vaults/backupJobs/readReturns all Job Objects
Microsoft.RecoveryServices/Vaults/backupJobsExport/actionExport Jobs
Microsoft.RecoveryServices/Vaults/backupOperationResults/readReturns Backup Operation Result for Recovery Services Vault.
Microsoft.RecoveryServices/Vaults/backupPolicies/operationResults/readGet Results of Policy Operation.
Microsoft.RecoveryServices/Vaults/backupPolicies/readReturns all Protection Policies
Microsoft.RecoveryServices/Vaults/backupProtectedItems/readReturns the list of all Protected Items.
Microsoft.RecoveryServices/Vaults/backupProtectionContainers/readReturns all containers belonging to the subscription
Microsoft.RecoveryServices/Vaults/backupUsageSummaries/readReturns summaries for Protected Items and Protected Servers for a Recovery Services .
Microsoft.RecoveryServices/Vaults/extendedInformation/readThe Get Extended Info operation gets an object's Extended Info representing the Azure resource of type ?vault?
Microsoft.RecoveryServices/Vaults/monitoringAlerts/readGets the alerts for the Recovery services vault.
Microsoft.RecoveryServices/Vaults/readThe Get Vault operation gets an object representing the Azure resource of type 'vault'
Microsoft.RecoveryServices/Vaults/registeredIdentities/operationResults/readThe Get Operation Results operation can be used get the operation status and result for the asynchronously submitted operation
Microsoft.RecoveryServices/Vaults/registeredIdentities/readThe Get Containers operation can be used get the containers registered for a resource.
Microsoft.RecoveryServices/Vaults/backupstorageconfig/readReturns Storage Configuration for Recovery Services Vault.
Microsoft.RecoveryServices/Vaults/backupconfig/readReturns Configuration for Recovery Services Vault.
Microsoft.RecoveryServices/Vaults/backupOperations/readReturns Backup Operation Status for Recovery Services Vault.
Microsoft.RecoveryServices/Vaults/backupPolicies/operations/readGet Status of Policy Operation.
Microsoft.RecoveryServices/Vaults/backupEngines/readReturns all the backup management servers registered with vault.
Microsoft.RecoveryServices/Vaults/backupFabrics/backupProtectionIntent/readGet a backup Protection Intent
Microsoft.RecoveryServices/Vaults/backupFabrics/protectionContainers/items/readGet all items in a container
Microsoft.RecoveryServices/locations/backupStatus/actionCheck Backup Status for Recovery Services Vaults
Microsoft.RecoveryServices/Vaults/monitoringConfigurations/*Every operation under Microsoft.RecoveryServices/Vaults/monitoringConfigurations
Microsoft.RecoveryServices/Vaults/monitoringAlerts/writeResolves the alert.
Microsoft.RecoveryServices/operations/readOperation returns the list of Operations for a Resource Provider
Microsoft.RecoveryServices/locations/operationStatus/readGets Operation Status for a given Operation
Microsoft.RecoveryServices/Vaults/backupProtectionIntents/readList all backup Protection Intents
Microsoft.RecoveryServices/Vaults/usages/readReturns usage details for a Recovery Services Vault.
Microsoft.RecoveryServices/locations/backupValidateFeatures/actionValidate Features
Microsoft.RecoveryServices/locations/backupCrrJobs/actionList Cross Region Restore Jobs in the secondary region for Recovery Services Vault.
Microsoft.RecoveryServices/locations/backupCrrJob/actionGet Cross Region Restore Job Details in the secondary region for Recovery Services Vault.
Microsoft.RecoveryServices/locations/backupCrrOperationResults/readReturns CRR Operation Result for Recovery Services Vault.
Microsoft.RecoveryServices/locations/backupCrrOperationsStatus/readReturns CRR Operation Status for Recovery Services Vault.
Microsoft.DataProtection/locations/getBackupStatus/actionCheck Backup Status for Recovery Services Vaults
Microsoft.DataProtection/backupVaults/backupInstances/readReturns details of the Backup Instance
Microsoft.DataProtection/backupVaults/deletedBackupInstances/readGet soft-deleted Backup Instance in a Backup Vault by name
Microsoft.DataProtection/backupVaults/backupPolicies/readReturns details of the Backup Policy
Microsoft.DataProtection/backupVaults/backupInstances/recoveryPoints/readReturns details of the Recovery Point
Microsoft.DataProtection/backupVaults/backupInstances/operationResults/readReturns Backup Operation Result for Backup Vault.
Microsoft.DataProtection/backupVaults/backupInstances/findRestorableTimeRanges/actionFinds Restorable Time Ranges
Microsoft.DataProtection/backupVaults/readThe Get Backup Vault operation gets an object representing the Azure resource of type 'Backup Vault'
Microsoft.DataProtection/backupVaults/operationResults/readGets Operation Result of a Patch Operation for a Backup Vault
Microsoft.DataProtection/backupVaults/operationStatus/readReturns Backup Operation Status for Backup Vault.
Microsoft.DataProtection/locations/operationStatus/readReturns Backup Operation Status for Backup Vault.
Microsoft.DataProtection/locations/operationResults/readReturns Backup Operation Result for Backup Vault.
Microsoft.DataProtection/operations/readOperation returns the list of Operations for a Resource Provider
Microsoft.DataProtection/subscriptions/resourceGroups/providers/locations/fetchCrossRegionRestoreJobs/actionList cross region restore jobs of backup instance from secondary region.
Microsoft.DataProtection/subscriptions/resourceGroups/providers/locations/fetchCrossRegionRestoreJob/actionGet cross region restore job details from secondary region.
Microsoft.DataProtection/subscriptions/resourceGroups/providers/locations/fetchSecondaryRecoveryPoints/actionReturns recovery points from secondary region for cross region restore enabled Backup Vaults.
Microsoft.DataProtection/locations/checkFeatureSupport/actionValidates if a feature is supported

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 "Backup Reader" \
  --scope "/subscriptions/<subscription id>/resourceGroups/<resource group>"
powershell3 lines
New-AzRoleAssignment -SignInName "jane.doe@contoso.com" `
  -RoleDefinitionName "Backup Reader" `
  -Scope "/subscriptions/<subscription id>/resourceGroups/<resource group>"
bicep7 lines
resource assignment 'Microsoft.Authorization/roleAssignments@2022-04-01' = {
  name: guid(resourceGroup().id, principalId, 'a795c7a0-d4a2-40c1-ae25-d81f01202912')
  properties: {
    roleDefinitionId: subscriptionResourceId('Microsoft.Authorization/roleDefinitions', 'a795c7a0-d4a2-40c1-ae25-d81f01202912')
    principalId: principalId
  }
}

Who already has it?

kql · azure resource graph
authorizationresources
| where type == "microsoft.authorization/roleassignments"
| where tostring(properties.roleDefinitionId) endswith "a795c7a0-d4a2-40c1-ae25-d81f01202912"
| project principalId = tostring(properties.principalId), principalType = tostring(properties.principalType), scope = tostring(properties.scope)

Other storage roles

Find the smallest role for a task →