turbot/steampipe-mod-azure-compliance

Control: Ensure server parameter 'tls_version' is set to 'TLSv1.2' (or higher) for MySQL flexible server

Description

Ensure tls_version on MySQL flexible servers is set to use TLS version 1.2 or higher.

Usage

Run the control in your terminal:

powerpipe control run azure_compliance.control.mysql_flexible_server_min_tls_1_2

Snapshot and share results via Turbot Pipes:

powerpipe login
powerpipe control run azure_compliance.control.mysql_flexible_server_min_tls_1_2 --share

SQL

This control uses a named query:

with tls_version as(
select
id
from
azure_mysql_flexible_server,
jsonb_array_elements(flexible_server_configurations) as config
where
config ->> 'Name' = 'tls_version'
and config -> 'ConfigurationProperties' ->> 'value' = 'TLSv1.2,TLSv1.3'
)
select
s.id as resource,
case
when a.id is not null then 'ok'
else 'alarm'
end as status,
case
when a.id is not null then s.title || ' minimum TLS version set to TLSv1.2,TLSv1.3.'
else s.title || ' minimum TLS version not set to TLSv1.2,TLSv1.3.'
end as reason
, s.resource_group as resource_group
, sub.display_name as subscription
from
azure_mysql_flexible_server as s
left join tls_version as a on s.id = a.id,
azure_subscription as sub
where
sub.subscription_id = s.subscription_id;

Tags