Control: API Management services should restrict public network access
Description
This control checks that the API Management service is not publicly accessible. This control is non-compliant if API Management service is publicly accessible.
Usage
Run the control in your terminal:
powerpipe control run terraform_azure_compliance.control.apimanagement_service_restrict_public_access
Snapshot and share results via Turbot Pipes:
powerpipe loginpowerpipe control run terraform_azure_compliance.control.apimanagement_service_restrict_public_access --share
SQL
This control uses a named query:
select address as resource, case when (attributes_std ->> 'public_network_access_enabled')::boolean or (attributes_std ->> 'public_network_access_enabled') is null then 'alarm' else 'ok' end status, split_part(address, '.', 2) || case when (attributes_std ->> 'public_network_access_enabled')::boolean or (attributes_std ->> 'public_network_access_enabled') is null then ' publicy accessible' else ' not publicy accessible' end || '.' reason , path || ':' || start_linefrom terraform_resourcewhere type = 'azurerm_api_management';