turbot/steampipe-mod-azure-compliance

Control: Function apps should not have CORS configured to allow every resource to access your apps

Description

Cross-Origin Resource Sharing (CORS) should not allow all domains to access your Function app. Allow only required domains to interact with your Function app.

Usage

Run the control in your terminal:

powerpipe control run azure_compliance.control.appservice_function_app_cors_no_star

Snapshot and share results via Turbot Pipes:

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

SQL

This control uses a named query:

select
b.id as resource,
case
when configuration -> 'properties' -> 'cors' -> 'allowedOrigins' @> '["*"]' then 'alarm'
else 'ok'
end as status,
case
when configuration -> 'properties' -> 'cors' -> 'allowedOrigins' @> '["*"]'
then b.name || ' CORS allow all domains to access the application.'
else b.name || ' CORS does not all domains to access the application.'
end as reason
, b.resource_group as resource_group
, sub.display_name as subscription
from
azure_app_service_function_app as b,
azure_subscription as sub
where
sub.subscription_id = b.subscription_id;

Tags