turbot/azure

steampipe plugin install azuresteampipe plugin install azure
azure_ad_groupazure_ad_service_principalazure_ad_userazure_api_managementazure_app_service_environmentazure_app_service_function_appazure_app_service_planazure_app_service_web_appazure_application_security_groupazure_compute_availability_setazure_compute_diskazure_compute_disk_encryption_setazure_compute_disk_metric_read_opsazure_compute_disk_metric_read_ops_dailyazure_compute_disk_metric_read_ops_hourlyazure_compute_disk_metric_write_opsazure_compute_disk_metric_write_ops_dailyazure_compute_disk_metric_write_ops_hourlyazure_compute_imageazure_compute_resource_skuazure_compute_snapshotazure_compute_virtual_machineazure_compute_virtual_machine_metric_cpu_utilizationazure_compute_virtual_machine_metric_cpu_utilization_dailyazure_compute_virtual_machine_metric_cpu_utilization_hourlyazure_cosmosdb_accountazure_cosmosdb_mongo_databaseazure_cosmosdb_sql_databaseazure_data_factoryazure_data_factory_datasetazure_data_factory_pipelineazure_diagnostic_settingazure_express_route_circuitazure_firewallazure_key_vaultazure_key_vault_keyazure_key_vault_secretazure_kubernetes_clusterazure_locationazure_log_alertazure_log_profileazure_management_lockazure_mysql_serverazure_network_interfaceazure_network_security_groupazure_network_watcherazure_network_watcher_flow_logazure_policy_assignmentazure_policy_definitionazure_postgresql_serverazure_providerazure_public_ipazure_resource_groupazure_role_assignmentazure_role_definitionazure_route_tableazure_security_center_auto_provisioningazure_security_center_contactazure_security_center_settingazure_security_center_subscription_pricingazure_sql_databaseazure_sql_serverazure_storage_accountazure_storage_blobazure_storage_blob_serviceazure_storage_containerazure_storage_queueazure_storage_tableazure_storage_table_serviceazure_subnetazure_subscriptionazure_tenantazure_virtual_networkazure_virtual_network_gateway

Table: azure_key_vault

Azure Key Vault is a cloud service used to manage keys, secrets, and certificates.

Examples

List of key vaults where soft deletion is not enabled

select
name,
id,
soft_delete_enabled,
soft_delete_retention_in_days
from
azure_key_vault
where
not soft_delete_enabled;

List of key vaults where soft deletion retention period is less than 30 days

select
name,
id,
soft_delete_enabled,
soft_delete_retention_in_days
from
azure_key_vault
where
soft_delete_retention_in_days < 30;

Key vaults access information

select
name,
id,
enabled_for_deployment,
enabled_for_disk_encryption,
enabled_for_template_deployment
from
azure_key_vault;

List of premium category key vaults

select
name,
id,
sku_name,
sku_family
from
azure_key_vault
where
sku_name = 'Premium';

Key vaults access policies details for certificates, keys and secrets

select
name,
policy #> '{permissions, certificates}' certificates_permissions,
policy #> '{permissions, keys}' keys_permissions,
policy #> '{permissions, secrets}' secrets_permissions
from
azure_key_vault,
jsonb_array_elements(access_policies) as policy;

List vaults with logging enabled

select
name,
setting -> 'properties' ->> 'storageAccountId' storage_account_id,
log ->> 'category' category,
log -> 'retentionPolicy' ->> 'days' log_retention_days
from
azure_key_vault,
jsonb_array_elements(diagnostic_settings) setting,
jsonb_array_elements(setting -> 'properties' -> 'logs') log
where
diagnostic_settings is not null
and setting -> 'properties' ->> 'storageAccountId' <> ''
and (log ->> 'enabled')::boolean
and log ->> 'category' = 'AuditEvent'
and (log -> 'retentionPolicy' ->> 'days')::integer > 0;

.inspect azure_key_vault

Azure Key Vault

NameTypeDescription
access_policiesjsonbA list of 0 to 1024 identities that have access to the key vault
akasjsonbArray of globally unique identifier strings (also known as) for the resource.
diagnostic_settingsjsonbA list of active diagnostic settings for the vault.
enable_rbac_authorizationbooleanProperty that controls how data actions are authorized
enabled_for_deploymentbooleanIndicates whether Azure Virtual Machines are permitted to retrieve certificates stored as secrets from the key vault
enabled_for_disk_encryptionbooleanIndicates whether Azure Disk Encryption is permitted to retrieve secrets from the vault and unwrap keys
enabled_for_template_deploymentbooleanIndicates whether Azure Resource Manager is permitted to retrieve secrets from the key vault
idtextContains ID to identify a vault uniquely
nametextThe friendly name that identifies the vault
purge_protection_enabledbooleanIndicates whether protection against purge is enabled for this vault
regiontextThe Azure region/location in which the resource is located.
resource_grouptextThe resource group which holds this resource.
sku_familytextContains SKU family name
sku_nametextSKU name to specify whether the key vault is a standard vault or a premium vault
soft_delete_enabledbooleanIndicates whether the 'soft delete' functionality is enabled for this key vault
soft_delete_retention_in_daysbigintContains softDelete data retention days
subscription_idtextThe Azure Subscription ID in which the resource is located.
tagsjsonbA map of tags for the resource.
tenant_idtextThe Azure Active Directory tenant ID that should be used for authenticating requests to the key vault
titletextTitle of the resource.
typetextType of the resource
vault_uritextContains URI of the vault for performing operations on keys and secrets