Control: Ensure Default Service account is not used at a organization level
Description
This control checks that Default Service account is not used at an organization level.
Usage
Run the control in your terminal:
powerpipe control run terraform_gcp_compliance.control.iam_organization_use_default_service_role
Snapshot and share results via Turbot Pipes:
powerpipe loginpowerpipe control run terraform_gcp_compliance.control.iam_organization_use_default_service_role --share
SQL
This control uses a named query:
select address as resource, case when ((attributes_std ->> 'members') like any (array ['%@developer.gserviceaccount.com', '%@appspot.gserviceaccount.com']) or (attributes_std ->> 'member') like '%@developer.gserviceaccount.com' or (attributes_std ->> 'member') like '%@appspot.gserviceaccount.com') then 'alarm' else 'ok' end status, split_part(address, '.', 2) || case when ((attributes_std ->> 'members') like any (array ['%@developer.gserviceaccount.com', '%@appspot.gserviceaccount.com']) or (attributes_std ->> 'member') like '%@developer.gserviceaccount.com' or (attributes_std ->> 'member') like '%@appspot.gserviceaccount.com') then ' uses default service account role' else ' does not use default service account role' end || '.' reason , path || ':' || start_linefrom terraform_resourcewhere type in ('google_organization_iam_member', 'google_organization_iam_binding');