Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
Questa pagina è una raccolta di query di esempio di Azure Resource Graph per Azure Key Vault.
Interrogazioni di esempio
Contare le risorse dell'insieme di credenziali delle chiavi
Questa query usa count invece di summarize per contare il numero di record restituiti. Nel conteggio sono inclusi solo gli insiemi di credenziali delle chiavi.
Resources
| where type =~ 'microsoft.keyvault/vaults'
| count
az graph query -q "Resources | where type =~ 'microsoft.keyvault/vaults' | count"
Vault di chiavi senza eliminazione reversibile abilitata
Questa query identifica i vault delle chiavi che non hanno abilitato l'eliminazione temporanea, una funzionalità di sicurezza fondamentale che consente il ripristino degli oggetti del vault delle chiavi eliminati.
Resources
| where type =~ 'microsoft.keyvault/vaults'
| where properties.enableSoftDelete == false or isnull(properties.enableSoftDelete)
| project name, resourceGroup, subscriptionId, location, properties.enableSoftDelete
az graph query -q "Resources | where type =~ 'microsoft.keyvault/vaults' | where properties.enableSoftDelete == false or isnull(properties.enableSoftDelete) | project name, resourceGroup, subscriptionId, location, properties.enableSoftDelete"
Vault delle chiavi senza protezione dall'eliminazione abilitata
Questa query trova gli insiemi di chiavi in cui non è abilitata la protezione dall'eliminazione. La protezione dall'eliminazione è consigliata per gli ambienti di produzione per impedire l'eliminazione permanente degli oggetti del vault delle chiavi durante il periodo di conservazione.
Resources
| where type =~ 'microsoft.keyvault/vaults'
| where properties.enablePurgeProtection != true
| project name, resourceGroup, subscriptionId, location, softDeleteEnabled = properties.enableSoftDelete, purgeProtectionEnabled = properties.enablePurgeProtection
az graph query -q "Resources | where type =~ 'microsoft.keyvault/vaults' | where properties.enablePurgeProtection != true | project name, resourceGroup, subscriptionId, location, softDeleteEnabled = properties.enableSoftDelete, purgeProtectionEnabled = properties.enablePurgeProtection"
Vault delle chiavi con autorizzazione basata sul controllo degli accessi in base al ruolo
Questa query elenca i Key Vault che utilizzano Azure RBAC per l'autorizzazione invece dei criteri di accesso. L'autorizzazione RBAC è l'approccio consigliato per la gestione dell'accesso al piano dati di Key Vault.
Resources
| where type =~ 'microsoft.keyvault/vaults'
| extend rbacEnabled = properties.enableRbacAuthorization
| project name, resourceGroup, subscriptionId, location, rbacEnabled
| where rbacEnabled == true
az graph query -q "Resources | where type =~ 'microsoft.keyvault/vaults' | extend rbacEnabled = properties.enableRbacAuthorization | project name, resourceGroup, subscriptionId, location, rbacEnabled | where rbacEnabled == true"
Vault delle chiavi con accesso alla rete pubblica abilitato
Questa query identifica i key vaults che consentono l'accesso alla rete pubblica. Per una maggiore sicurezza, è consigliabile limitare l'accesso a reti specifiche o usare endpoint privati.
Resources
| where type =~ 'microsoft.keyvault/vaults'
| extend networkDefaultAction = tostring(properties.networkAcls.defaultAction)
| where networkDefaultAction =~ 'Allow' or isnull(networkDefaultAction)
| project name, resourceGroup, subscriptionId, location, networkDefaultAction
az graph query -q "Resources | where type =~ 'microsoft.keyvault/vaults' | extend networkDefaultAction = tostring(properties.networkAcls.defaultAction) | where networkDefaultAction =~ 'Allow' or isnull(networkDefaultAction) | project name, resourceGroup, subscriptionId, location, networkDefaultAction"
Riepilogo della configurazione di sicurezza delle casseforti delle chiavi
Questa query fornisce un riepilogo completo dello stato di sicurezza di tutti i vault delle chiavi, inclusi lo stato di eliminazione temporanea, la protezione dall'eliminazione definitiva, l'autorizzazione RBAC e le impostazioni di rete.
Resources
| where type =~ 'microsoft.keyvault/vaults'
| extend
softDeleteEnabled = tobool(properties.enableSoftDelete),
purgeProtectionEnabled = tobool(properties.enablePurgeProtection),
rbacEnabled = tobool(properties.enableRbacAuthorization),
networkDefaultAction = tostring(properties.networkAcls.defaultAction),
sku = tostring(properties.sku.name)
| project name, resourceGroup, subscriptionId, location, sku, softDeleteEnabled, purgeProtectionEnabled, rbacEnabled, networkDefaultAction
| order by name asc
az graph query -q "Resources | where type =~ 'microsoft.keyvault/vaults' | extend softDeleteEnabled = tobool(properties.enableSoftDelete), purgeProtectionEnabled = tobool(properties.enablePurgeProtection), rbacEnabled = tobool(properties.enableRbacAuthorization), networkDefaultAction = tostring(properties.networkAcls.defaultAction), sku = tostring(properties.sku.name) | project name, resourceGroup, subscriptionId, location, sku, softDeleteEnabled, purgeProtectionEnabled, rbacEnabled, networkDefaultAction | order by name asc"
Vault delle chiavi per posizione
Questa query conta i Key Vault raggruppati per area di Azure ed è utile per comprendere come sono distribuite geograficamente le risorse di gestione delle chiavi.
Resources
| where type =~ 'microsoft.keyvault/vaults'
| summarize count() by location
| order by count_ desc
az graph query -q "Resources | where type =~ 'microsoft.keyvault/vaults' | summarize count() by location | order by count_ desc"
Vault delle chiavi per tipo di SKU
Questa query raggruppa i key vaults in base al livello SKU (Standard o Premium). Gli SKU Premium sono necessari per le chiavi protette dal modulo di protezione hardware.
Resources
| where type =~ 'microsoft.keyvault/vaults'
| extend skuName = tostring(properties.sku.name)
| summarize count() by skuName
az graph query -q "Resources | where type =~ 'microsoft.keyvault/vaults' | extend skuName = tostring(properties.sku.name) | summarize count() by skuName"
Insieme di credenziali delle chiavi con il nome della sottoscrizione
La query seguente illustra un uso complesso di join con kind come leftouter. La query limita la tabella aggiunta alle risorse della sottoscrizione e usa project per includere solo il campo subscriptionId originale e il campo name rinominato in SubName. La ridenominazione del campo evita che join lo aggiunga come name1, perché il campo esiste già in resources. La tabella originale viene filtrata con where e l'elemento project seguente include colonne di entrambe le tabelle. Il risultato della query è che tutti i Key Vault mostrano il tipo, il nome del Key Vault e il nome dell'abbonamento in cui sono inclusi.
Resources
| join kind=leftouter (ResourceContainers | where type=='microsoft.resources/subscriptions' | project SubName=name, subscriptionId) on subscriptionId
| where type == 'microsoft.keyvault/vaults'
| project type, name, SubName
az graph query -q "Resources | join kind=leftouter (ResourceContainers | where type=='microsoft.resources/subscriptions' | project SubName=name, subscriptionId) on subscriptionId | where type == 'microsoft.keyvault/vaults' | project type, name, SubName"
Passaggi successivi
- Altre informazioni sul linguaggio di query.
- Altre informazioni su come esplorare le risorse.