Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Diese Seite enthält eine Sammlung von Azure Resource Graph-Beispielabfragen für Azure Key Vault.
Beispielabfragen
Anzahl von Schlüsseltresor-Ressourcen
Diese Abfrage verwendet count anstelle von summarize, um die Anzahl der zurückgegebenen Datensätze zu zählen. In der Anzahl sind nur Schlüsseltresore enthalten.
Resources
| where type =~ 'microsoft.keyvault/vaults'
| count
az graph query -q "Resources | where type =~ 'microsoft.keyvault/vaults' | count"
Schlüsseltresore ohne aktiviertes vorläufiges Löschen
Diese Abfrage identifiziert Schlüsseltresor, die keine Vorläufige Löschung aktiviert haben, was ein wichtiges Sicherheitsfeature ist, das die Wiederherstellung gelöschter Schlüsseltresorobjekte ermöglicht.
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"
Schlüsseltresore ohne aktivierten Bereinigungsschutz
Diese Abfrage findet Schlüsseltresore, die keinen Schutz vor Löschung aktiviert haben. Der Bereinigungsschutz wird für Produktionsumgebungen empfohlen, um das dauerhafte Löschen von Schlüsseltresorobjekten während des Aufbewahrungszeitraums zu verhindern.
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"
Schlüsseltresore mit Autorisierung über RBAC
Diese Abfrage listet Schlüssel-Tresore auf, die Azure RBAC für die Autorisierung statt Zugriffsrichtlinien verwenden. Die RBAC-Autorisierung ist der empfohlene Ansatz für die Verwaltung des Zugriffs auf die Key Vault-Datenebene.
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"
Schlüsseltresore mit aktiviertem Zugriff für öffentliche Netzwerke
Diese Abfrage identifiziert Schlüsseltresor, die den Zugriff auf öffentliche Netzwerke ermöglichen. Um die Sicherheit zu erhöhen, sollten Sie den Zugriff auf bestimmte Netzwerke einschränken oder private Endpunkte verwenden.
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"
Zusammenfassung der Sicherheitskonfiguration von Schlüsseltresoren
Diese Abfrage bietet eine umfassende Zusammenfassung der Sicherheitsposition für alle Schlüsseltresore, einschließlich Soft Delete-Status, Bereinigungsschutz, RBAC-Autorisierung und Netzwerkeinstellungen.
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"
Schlüsseltresore nach Standort
Diese Abfrage zählt Schlüsseltresore, die nach Azure-Regionen gruppiert sind, und ist nützlich, um die geografische Verteilung Ihrer Schlüsselverwaltungsressourcen zu verstehen.
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"
Key Vaults nach SKU-Typen
Diese Abfrage gruppiert die Schlüsseltresore nach ihrer SKU-Stufe (Standard oder Premium). Premium-SKUs sind für HSM-geschützte Schlüssel erforderlich.
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"
Schlüsseltresore mit Abonnementname
Die folgende Abfrage zeigt eine komplexe Verwendung von join mit kind als leftouter. Die Abfrage schränkt die verknüpfte Tabelle auf Abonnementressourcen ein, und mit project wird nur das ursprüngliche Feld subscriptionId einbezogen, und das Feld name wird in SubName umbenannt. Beim Umbenennen des Felds wird das Hinzufügen von join als name1 vermieden, da das Feld bereits unter resources vorhanden ist. Die ursprüngliche Tabelle wird mit where gefiltert, und das folgende project-Element enthält Spalten aus beiden Tabellen. Das Abfrageergebnis enthält alle Schlüsseltresore mit Typ, Name des Schlüsseltresors und Name des Abonnements, in dem er sich befindet.
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ächste Schritte
- Erfahren Sie mehr über die Abfragesprache.
- Erfahren Sie mehr über das Erkunden von Ressourcen.