turbot/steampipe-mod-terraform-azure-compliance

Control: Enable log_disconnections on PostgreSQL Servers

Description

Ensure server parameter 'log_disconnections' is set to 'ON' for PostgreSQL Database Server.

Usage

Run the control in your terminal:

powerpipe control run terraform_azure_compliance.control.postgres_db_server_log_disconnections_on

Snapshot and share results via Turbot Pipes:

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

SQL

This control uses a named query:

with postgresql_server as (
select
*
from
terraform_resource
where
type = 'azurerm_postgresql_server'
), log_disconnections_configuration as (
select
*
from
terraform_resource
where
type = 'azurerm_postgresql_configuration'
and (attributes_std ->> 'name') = 'log_disconnections'
and (attributes_std ->> 'value') = 'on'
)
select
a.address as resource,
case
when (s.attributes_std ->> 'server_name') is not null then 'ok'
else 'alarm'
end as status,
split_part(a.address, '.', 2) || case
when (s.attributes_std ->> 'server_name') is not null then ' server parameter log_disconnections on'
else ' server parameter log_disconnections off'
end || '.' reason
, a.path || ':' || a.start_line
from
postgresql_server as a
left join log_disconnections_configuration as s on a.name = (split_part((s.attributes_std ->> 'server_name'), '.', 2));

Tags