Control: Azure HDInsight clusters should use customer-managed keys to encrypt data at rest
Description
Use customer-managed keys to manage the encryption at rest of your Azure HDInsight clusters. By default, customer data is encrypted with service-managed keys, but customer-managed keys are commonly required to meet regulatory compliance standards. Customer-managed keys enable the data to be encrypted with an Azure Key Vault key created and owned by you. You have full control and responsibility for the key lifecycle, including rotation and management.
Usage
Run the control in your terminal:
powerpipe control run azure_compliance.control.hdinsight_cluster_encrypted_at_rest_with_cmk
Snapshot and share results via Turbot Pipes:
powerpipe loginpowerpipe control run azure_compliance.control.hdinsight_cluster_encrypted_at_rest_with_cmk --share
SQL
This control uses a named query:
select a.id as resource, case when provisioning_state <> 'Succeeded' then 'skip' when disk_encryption_properties -> 'keyName' is not null then 'ok' else 'alarm' end as status, case when provisioning_state <> 'Succeeded' then a.name || ' is in ' || provisioning_state || ' state.' when disk_encryption_properties -> 'keyName' is not null then a.name || ' encrypted with CMK.' else a.name || ' not encrypted with CMK.' end as reason , a.resource_group as resource_group , sub.display_name as subscriptionfrom azure_hdinsight_cluster as a, azure_subscription as subwhere sub.subscription_id = a.subscription_id;