Control: Ensure that the 'contained database authentication' database flag for Cloud SQL on the SQL Server instance is set to 'off'
Description
It is recommended to set contained database authentication database flag for Cloud SQL on the SQL Server instance is set to off.
Usage
Run the control in your terminal:
powerpipe control run terraform_gcp_compliance.control.sql_instance_sql_contained_database_authentication_database_flag_offSnapshot and share results via Turbot Pipes:
powerpipe loginpowerpipe control run terraform_gcp_compliance.control.sql_instance_sql_contained_database_authentication_database_flag_off --shareSQL
This control uses a named query:
select  address as resource,  case    when coalesce(trim((attributes_std ->> 'database_version')), '') = '' then 'alarm'    when (attributes_std ->> 'database_version') not like 'SQLSERVER%' then 'skip'    when (attributes_std -> 'settings' -> 'database_flags' ->> 'name') = 'contained database authentication' and      (attributes_std -> 'settings' -> 'database_flags' ->> 'value') = 'off'    then 'ok'    else 'alarm'  end as status,  split_part(address, '.', 2) || case    when coalesce(trim((attributes_std ->> 'database_version')), '') = ''    then ' ''database_version'' is not defined'    when (attributes_std ->> 'database_version') not like 'SQLSERVER%'    then ' not a SQL Server database'    when (attributes_std -> 'settings') is null then ' ''settings'' is not defined'    when (attributes_std -> 'settings' -> 'database_flags') is null then ' ''settings.database_flags'' is not defined'    when coalesce(trim((attributes_std -> 'settings' -> 'database_flags' ->> 'name')), '') = ''    then ' ''settings.database_flags.name'' is not defined'    when coalesce(trim((attributes_std -> 'settings' -> 'database_flags' ->> 'value')), '') = ''    then ' ''settings.database_flags.value'' is not defined'    when (attributes_std -> 'settings' -> 'database_flags' ->> 'name') <> 'contained database authentication'    then ' ''contained database authentication'' database flag not set'    when (attributes_std -> 'settings' -> 'database_flags' ->> 'name') = 'contained database authentication' and      (attributes_std -> 'settings' -> 'database_flags' ->> 'value') = 'off'    then ' ''contained database authentication'' database flag set to ''off'''    else ' ''contained database authentication'' database flag set to ''on'''  end || '.' reason  , path || ':' || start_linefrom  terraform_resourcewhere  type = 'google_sql_database_instance';