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

Microsoft Sentinel ContributorAzure built-in role

Microsoft Sentinel Contributor

Role IDab8e14d6-4a74-4a29-9ba8-549422addade
CategorySecurity
Actions16 (minus 2 NotActions)
Data actions0

What it can do

PermissionWhat it allows
Microsoft.SecurityInsights/*Every operation under Microsoft.SecurityInsights
Microsoft.OperationalInsights/workspaces/analytics/query/actionSearch using new engine.
Microsoft.OperationalInsights/workspaces/*/readAny read operation on anything under Microsoft.OperationalInsights/workspaces
Microsoft.OperationalInsights/workspaces/savedSearches/*Every operation under Microsoft.OperationalInsights/workspaces/savedSearches
Microsoft.OperationsManagement/solutions/readGet existing OMS solution
Microsoft.OperationalInsights/workspaces/query/readRun queries over the data in the workspace
Microsoft.OperationalInsights/workspaces/query/*/readAny read operation on anything under Microsoft.OperationalInsights/workspaces/query
Microsoft.OperationalInsights/workspaces/dataSources/readGet data source under a workspace.
Microsoft.OperationalInsights/querypacks/*/readAny read operation on anything under Microsoft.OperationalInsights/querypacks
Microsoft.Insights/workbooks/*Every operation under Microsoft.Insights/workbooks
Microsoft.Insights/myworkbooks/read
Microsoft.Authorization/*/readAny read operation on anything under Microsoft.Authorization
Microsoft.Insights/alertRules/*Every operation under Microsoft.Insights/alertRules
Microsoft.Resources/deployments/*Every operation under Microsoft.Resources/deployments
Microsoft.Resources/subscriptions/resourceGroups/readGets or lists resource groups.
Microsoft.Support/*Every operation under Microsoft.Support

Can't do

These are taken away from the actions above.

PermissionWhat it allows
Microsoft.SecurityInsights/ConfidentialWatchlists/*Every operation under Microsoft.SecurityInsights/ConfidentialWatchlists
Microsoft.OperationalInsights/workspaces/query/ConfidentialWatchlist/*Every operation under Microsoft.OperationalInsights/workspaces/query/ConfidentialWatchlist

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 "Microsoft Sentinel Contributor" \
  --scope "/subscriptions/<subscription id>/resourceGroups/<resource group>"
powershell3 lines
New-AzRoleAssignment -SignInName "jane.doe@contoso.com" `
  -RoleDefinitionName "Microsoft Sentinel Contributor" `
  -Scope "/subscriptions/<subscription id>/resourceGroups/<resource group>"
bicep7 lines
resource assignment 'Microsoft.Authorization/roleAssignments@2022-04-01' = {
  name: guid(resourceGroup().id, principalId, 'ab8e14d6-4a74-4a29-9ba8-549422addade')
  properties: {
    roleDefinitionId: subscriptionResourceId('Microsoft.Authorization/roleDefinitions', 'ab8e14d6-4a74-4a29-9ba8-549422addade')
    principalId: principalId
  }
}

Who already has it?

kql · azure resource graph
authorizationresources
| where type == "microsoft.authorization/roleassignments"
| where tostring(properties.roleDefinitionId) endswith "ab8e14d6-4a74-4a29-9ba8-549422addade"
| project principalId = tostring(properties.principalId), principalType = tostring(properties.principalType), scope = tostring(properties.scope)

Other security roles

Find the smallest role for a task →