turbot/steampipe-mod-terraform-azure-compliance

Control: Public network access should be disabled for PostgreSQL servers

Description

Disable the public network access property to improve security and ensure your Azure Database for PostgreSQL can only be accessed from a private endpoint. This configuration disables access from any public address space outside of Azure IP range, and denies all logins that match IP or virtual network-based firewall rules.

Usage

Run the control in your terminal:

powerpipe control run terraform_azure_compliance.control.postgresql_server_public_network_access_disabled

Snapshot and share results via Turbot Pipes:

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

SQL

This control uses a named query:

select
address as resource,
case
when (attributes_std ->> 'public_network_access_enabled') is null then 'alarm'
when (attributes_std ->> 'public_network_access_enabled')::boolean then 'alarm'
else 'ok'
end status,
split_part(address, '.', 2) || case
when (attributes_std ->> 'public_network_access_enabled') is null then ' ''public_network_access_enabled'' not set'
when (attributes_std ->> 'public_network_access_enabled')::boolean then ' public network access enabled'
else ' public network access disabled'
end || '.' reason
, path || ':' || start_line
from
terraform_resource
where
type = 'azurerm_postgresql_server';

Tags