Kommentar
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
Den här sidan är en samling Azure Resource Graph-exempelfrågor för Azure Key Vault.
Exempelfrågor
Räkna key vault-resurser
Den här frågan använder count i stället för summarize att räkna antalet poster som returneras. Endast nyckelvalv ingår i antalet.
Resources
| where type =~ 'microsoft.keyvault/vaults'
| count
az graph query -q "Resources | where type =~ 'microsoft.keyvault/vaults' | count"
Nyckelvalv utan mjuk borttagning aktiverat
Den här frågan identifierar nyckelvalv som inte har mjuk borttagning aktiverat, vilket är en viktig säkerhetsfunktion som gör det möjligt att återställa borttagna nyckelvalvobjekt.
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"
Nyckelvalv utan rensningsskydd aktiverat
Denna sökfråga hittar nyckelvalv som inte har aktiverat rensningsskydd. Rensningsskydd rekommenderas för produktionsmiljöer för att förhindra permanent borttagning av nyckelvalvsobjekt under kvarhållningsperioden.
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"
Nyckelvalv med RBAC-auktorisering
Den här frågan listar nyckelvalv som använder Azure RBAC för auktorisering i stället för åtkomstprinciper. RBAC-auktorisering är den rekommenderade metoden för att hantera åtkomst till key vault-dataplanet.
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"
Nyckelvalv med offentlig nätverksåtkomst aktiverad
Den här frågan identifierar nyckelvalv som tillåter åtkomst till offentliga nätverk. För förbättrad säkerhet bör du överväga att begränsa åtkomsten till specifika nätverk eller använda privata slutpunkter.
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"
Säkerhetskonfigurationssammanfattning för Nyckelvalv
Den här frågan innehåller en omfattande sammanfattning av säkerhetsstatusen för alla nyckelvalv, inklusive mjuk borttagningsstatus, rensningsskydd, RBAC-auktorisering och nätverksinställningar.
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"
Nyckelvalv efter plats
Den här frågan räknar nyckelvalv grupperade efter Azure-region, vilket är användbart för att förstå den geografiska fördelningen av dina nyckelhanteringsresurser.
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"
Nyckelvalv efter SKU-typ
Den här frågan grupperar nyckelvalv efter SKU-nivå (standard eller premium). Premium-SKU:er krävs för HSM-skyddade nycklar.
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"
Nyckelvalv med prenumerationsnamn
Följande fråga visar en komplex användning av join med sort som leftouter. Frågan begränsar den anslutna tabellen till prenumerationsresurser och med project för att endast inkludera det ursprungliga fältet subscriptionId och namnfältet som har bytt namn till Undernamn. Namnbytet på fältet undviker join att lägga till det som namn1 eftersom fältet redan finns i resurser. Den ursprungliga tabellen filtreras med where och följande project innehåller kolumner från båda tabellerna. Frågeresultatet är alla nyckelvalv som visar typ, namnet på nyckelvalvet och namnet på den prenumeration som det finns i.
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"
Nästa steg
- Läs mer om frågespråket.
- Läs mer om hur du utforskar resurser.