← cd ~/roles
// roles/azure · security
Key Vault AdministratorAzure built-in role
Perform all data plane operations on a key vault and all objects in it, including certificates, keys, and secrets. Cannot manage key vault resources or manage role assignments. Only works for key vaults that use the 'Azure role-based access control' permission model.
| Role ID | 00482a5a-887f-4fb3-b363-3b7fe8e74483 |
|---|---|
| Category | Security |
| Actions | 10 |
| Data actions | 1 |
Before you assign it
- It reaches the data, not just the resource. It has 1 data action, such as reading blobs, secrets or messages.
What it can do
| Permission | What it allows |
|---|---|
Microsoft.Authorization/*/read | Any 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/read | Gets or lists resource groups. |
Microsoft.Support/* | Every operation under Microsoft.Support |
Microsoft.KeyVault/checkNameAvailability/read | Checks that a key vault name is valid and is not in use |
Microsoft.KeyVault/deletedVaults/read | View the properties of soft deleted key vaults |
Microsoft.KeyVault/locations/*/read | Any read operation on anything under Microsoft.KeyVault/locations |
Microsoft.KeyVault/vaults/*/read | Any read operation on anything under Microsoft.KeyVault/vaults |
Microsoft.KeyVault/operations/read | Lists operations available on Microsoft.KeyVault resource provider |
Data actions
| Permission | What it allows |
|---|---|
Microsoft.KeyVault/vaults/* | Every operation under Microsoft.KeyVault/vaults |
Assign it
Scope it as tightly as you can: a resource or resource group rather than the whole subscription.
az role assignment create \
--assignee "jane.doe@contoso.com" \
--role "Key Vault Administrator" \
--scope "/subscriptions/<subscription id>/resourceGroups/<resource group>"New-AzRoleAssignment -SignInName "jane.doe@contoso.com" `
-RoleDefinitionName "Key Vault Administrator" `
-Scope "/subscriptions/<subscription id>/resourceGroups/<resource group>"resource assignment 'Microsoft.Authorization/roleAssignments@2022-04-01' = {
name: guid(resourceGroup().id, principalId, '00482a5a-887f-4fb3-b363-3b7fe8e74483')
properties: {
roleDefinitionId: subscriptionResourceId('Microsoft.Authorization/roleDefinitions', '00482a5a-887f-4fb3-b363-3b7fe8e74483')
principalId: principalId
}
}Who already has it?
authorizationresources
| where type == "microsoft.authorization/roleassignments"
| where tostring(properties.roleDefinitionId) endswith "00482a5a-887f-4fb3-b363-3b7fe8e74483"
| project principalId = tostring(properties.principalId), principalType = tostring(properties.principalType), scope = tostring(properties.scope)Other security roles
- App Compliance Automation Reader · 1 permission
- Key Vault Crypto Service Release User · 1 permission
- Security Assessment Contributor · 1 permission
- Attestation Reader · 2 permissions
- Key Vault Secrets User · 2 permissions
- Attestation Contributor · 3 permissions
- Locks Contributor · 3 permissions
- Key Vault Certificate User · 4 permissions