Nota:
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
Esta página es una colección de consultas de ejemplo de Azure Resource Graph para Azure Key Vault.
Consultas de ejemplo
Recuento de recursos del almacén de claves
Esta consulta utiliza count en lugar de summarize para contar el número de registros devueltos. Solo se incluyen los almacenes de claves en el recuento.
Resources
| where type =~ 'microsoft.keyvault/vaults'
| count
az graph query -q "Resources | where type =~ 'microsoft.keyvault/vaults' | count"
Almacenes de claves sin eliminación temporal habilitada
Esta consulta identifica los almacenes de claves que no tienen habilitada la eliminación temporal, que es una característica de seguridad crítica que permite la recuperación de objetos eliminados del almacén de claves.
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"
Almacenes de claves sin protección de purga habilitada
Esta consulta busca almacenes de claves que no tienen activada la protección contra purga. Se recomienda la protección contra purga para entornos de producción, para evitar la eliminación permanente de objetos del almacén de claves durante el período de retención.
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"
Almacenes de claves mediante autorización de RBAC
Esta consulta enumera las bóvedas de claves que usan Azure RBAC para la autorización en lugar de las directivas de acceso. La autorización de RBAC es el enfoque recomendado para administrar el acceso al plano de datos del almacén de claves.
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"
Almacenes de claves con acceso a la red pública habilitado
Esta consulta identifica las bóvedas de claves que permiten el acceso a la red pública. Para mejorar la seguridad, considere la posibilidad de restringir el acceso a redes específicas o usar puntos de conexión privados.
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"
Resumen de la configuración de seguridad de Key Vaults
Esta consulta proporciona un resumen completo de la posición de seguridad para todos los almacenes de claves, incluido el estado de eliminación temporal, la protección contra purga, la autorización de RBAC y la configuración de red.
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"
Almacenes de claves por ubicación
Esta consulta cuenta los almacenes de claves agrupados por región de Azure, lo cual es útil para comprender la distribución geográfica de los recursos de administración de claves.
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"
Almacenes de claves por tipo de SKU
Esta consulta agrupa los almacenes de claves por su nivel de SKU (estándar o premium). Las SKU Premium son necesarias para las claves protegidas por HSM.
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"
Almacenes de claves con nombre de suscripción
En la consulta siguiente se muestra un uso complejo de join con kind como leftouter. La consulta limita la tabla combinada a los recursos de suscripciones y utiliza project para incluir solo el campo original subscriptionId y el campo name renombrado como SubName. El cambio de nombre del campo evita join agregarlo como name1, ya que el campo ya existe en resources. La tabla original se filtra por where y el project siguiente incluye columnas de ambas tablas. El resultado de la consulta muestra todos los almacenes de claves, incluyendo el tipo, el nombre del almacén de claves y el nombre de la suscripción en la que se encuentran.
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"
Pasos siguientes
- Obtenga más información sobre el lenguaje de consulta.
- Obtenga más información sobre cómo explorar recursos.