turbot/steampipe-mod-terraform-azure-compliance

Control: Service Bus namespaces should use a customer-managed key for encryption

Description

Service Bus supports the option of encrypting data at rest with either Microsoft-managed keys (default) or customer-managed keys. Choosing to encrypt data using customer-managed keys enables you to assign, rotate, disable, and revoke access to the keys that Service Bus will use to encrypt data in your namespace.

Usage

Run the control in your terminal:

powerpipe control run terraform_azure_compliance.control.service_bus_namespace_encrypted_with_cmk

Snapshot and share results via Turbot Pipes:

powerpipe login
powerpipe control run terraform_azure_compliance.control.service_bus_namespace_encrypted_with_cmk --share

SQL

This control uses a named query:

select
address as resource,
case
when (attributes_std -> 'customer_managed_key' -> 'key_vault_key_id') is not null then 'ok'
else 'alarm'
end status,
split_part(address, '.', 2) || case
when (attributes_std -> 'customer_managed_key' -> 'key_vault_key_id') is not null then ' encrypted with CMK'
else ' not encrypted with CMK'
end || '.' reason
, path || ':' || start_line
from
terraform_resource
where
type = 'azurerm_servicebus_namespace';

Tags