Control: 6.3.4 Ensure 'user options' database flag for Cloud SQL SQL Server instance is not configured
Description
It is recommended that, user options database flag for Cloud SQL SQL Server instance should not be configured.
The user options option specifies global defaults for all users. A list of default query processing options is established for the duration of a user's work session. The user options option allows you to change the default values of the SET options (if the server's default settings are not appropriate).
Remediation
From Console
- Go to the Cloud SQL Instances page in the Google Cloud Console by visiting https://console.cloud.google.com/sql/instances.
- Select the SQL Server instance for which you want to enable to database flag.
- Click
Edit. - Scroll down to the
Flagssection. - Click the X next
user optionsflag shown - Click
Saveto save your changes. - Confirm your changes under
Flagson the Overview page.
Note: Any changes to the database flag values, may require your instance to be restarted
From Command Line
- List all Cloud SQL database Instances
gcloud sql instances list
- Configure the required database flag for every Cloud SQL SQL Server database instance using the below command.
gcloud sql instances patch [INSTANCE_NAME] --clear-database-flags
Note: This command will overwrite all database flags previously set. To keep those and add new ones, include the values for all flags you want set on the instance; any flag not specifically included is set to its default value. For flags that do not take a value, specify the flag name followed by an equals sign ("=").
Usage
Run the control in your terminal:
powerpipe control run gcp_compliance.control.cis_v130_6_3_4Snapshot and share results via Turbot Pipes:
powerpipe loginpowerpipe control run gcp_compliance.control.cis_v130_6_3_4 --shareSQL
This control uses a named query:
select self_link resource, case when database_version not like 'SQLSERVER%' then 'skip' when database_flags @> '[{"name":"user options"}]' then 'alarm' else 'ok' end as status, case when database_version not like 'SQLSERVER%' then title || ' not a SQL Server database.' when database_flags @> '[{"name":"user options"}]' then title || ' ''user options'' database flag set.' else title || ' ''user options'' database flag not set.' end as reason , location as location, project as projectfrom gcp_sql_database_instance;