Control: GKE clusters client binary authorizationn should be enabled
Description
This control checks that GKE clusters client binary authorization is enabled.
Usage
Run the control in your terminal:
powerpipe control run terraform_gcp_compliance.control.kubernetes_cluster_binary_auth_enabledSnapshot and share results via Turbot Pipes:
powerpipe loginpowerpipe control run terraform_gcp_compliance.control.kubernetes_cluster_binary_auth_enabled --shareSQL
This control uses a named query:
select  address as resource,  case    when ((attributes_std -> 'enable_binary_authorization') is null) and ((attributes_std -> 'binary_authorization') is null) then 'alarm'    when (attributes_std ->> 'enable_binary_authorization') = 'true' then 'ok'    when (attributes_std -> 'binary_authorization' ->> 'evaluation_mode') = 'PROJECT_SINGLETON_POLICY_ENFORCE' then 'ok'    else 'alarm'  end as status,  split_part(address, '.', 2) || case    when (attributes_std -> 'enable_binary_authorization') is null and (attributes_std -> 'binary_authorization') is null then ' binary authorization not defined'    when (attributes_std ->> 'enable_binary_authorization') = 'true' then ' binary authorization enabled'    when (attributes_std -> 'binary_authorization' ->> 'evaluation_mode') = 'PROJECT_SINGLETON_POLICY_ENFORCE' then ' binary authorization enabled'    else ' binary authorization disabled'  end || '.' reason    , path || ':' || start_linefrom  terraform_resourcewhere  type = 'google_container_cluster';