Sign in
Menu
Sign up
Docs

CIS GCP Benchmark v4.0.0

ActiveCommon framework

Best for: The CIS Benchmarks cover Google Cloud, Google Kubernetes Engine, and Google Workspace.

Controls by category

81 controls are Mapped to CIS GCP Benchmark v4.0.0.

1.10 Ensure KMS Encryption Keys Are Rotated Within a Period of 90 Days

1.12 Ensure API Keys Only Exist for Active Services

1.13 Ensure API Keys Are Restricted To Use by Only Specified Hosts and Apps

1.14 Ensure API Keys Are Restricted to Only APIs That Application Needs Access

1.15 Ensure API Keys Are Rotated Every 90 Days

1.16 Ensure Essential Contacts is Configured for Organization

1.4 Ensure That There Are Only GCP-Managed Service Account Keys for Each Service Account

1.5 Ensure That Service Account Has No Admin Privileges

1.6 Ensure That IAM Users Are Not Assigned the Service Account User or Service Account Token Creator Roles at Project Level

1.7 Ensure User-Managed/External Keys for Service Accounts Are Rotated Every 90 Days or Fewer

1.9 Ensure That Cloud KMS Cryptokeys Are Not Anonymously or Publicly Accessible

2.1 Ensure That Cloud Audit Logging Is Configured Properly

2.10 Ensure That the Log Metric Filter and Alerts Exist for Cloud Storage IAM Permission Changes

2.11 Ensure That the Log Metric Filter and Alerts Exist for SQL Instance Configuration Changes

2.12 Ensure That Cloud DNS Logging Is Enabled for All VPC Networks

2.13 Ensure Cloud Asset Inventory Is Enabled

2.15 Ensure 'Access Approval' is 'Enabled'

2.16 Ensure Logging is enabled for HTTP(S) Load Balancer

2.2 Ensure That Sinks Are Configured for All Log Entries

2.3 Ensure That Retention Policies on Cloud Storage Buckets Used for Exporting Logs Are Configured Using Bucket Lock

2.4 Ensure Log Metric Filter and Alerts Exist for Project Ownership Assignments/Changes

2.5 Ensure That the Log Metric Filter and Alerts Exist for Audit Configuration Changes

2.6 Ensure That the Log Metric Filter and Alerts Exist for Custom Role Changes

2.7 Ensure That the Log Metric Filter and Alerts Exist for VPC Network Firewall Rule Changes

2.8 Ensure That the Log Metric Filter and Alerts Exist for VPC Network Route Changes

2.9 Ensure That the Log Metric Filter and Alerts Exist for VPC Network Changes

3.1 Ensure That the Default Network Does Not Exist in a Project

3.10 Use Identity Aware Proxy (IAP) to Ensure Only Traffic From Google IP Addresses are 'Allowed'

3.2 Ensure Legacy Networks Do Not Exist for Older Projects

3.3 Ensure That DNSSEC Is Enabled for Cloud DNS

3.5 Ensure That RSASHA1 Is Not Used for the Zone-Signing Key in Cloud DNS DNSSEC

3.6 Ensure That SSH Access Is Restricted From the Internet

3.7 Ensure That RDP Access Is Restricted From the Internet

3.8 Ensure that VPC Flow Logs is Enabled for Every Subnet in a VPC Network

3.9 Ensure No HTTPS or SSL Proxy Load Balancers Permit SSL Policies With Weak Cipher Suites

4.1 Ensure That Instances Are Not Configured To Use the Default Service Account

4.11 Ensure That Compute Instances Have Confidential Computing Enabled

4.2 Ensure That Instances Are Not Configured To Use the Default Service Account With Full Access to All Cloud APIs

4.3 Ensure "Block Project-Wide SSH Keys" Is Enabled for VM Instances

4.4 Ensure Oslogin Is Enabled for a Project

4.5 Ensure 'Enable Connecting to Serial Ports' Is Not Enabled for VM Instance

4.6 Ensure That IP Forwarding Is Not Enabled on Instances

4.7 Ensure VM Disks for Critical VMs Are Encrypted With Customer-Supplied Encryption Keys (CSEK)

4.8 Ensure Compute Instances Are Launched With Shielded VM Enabled

4.9 Ensure That Compute Instances Do Not Have Public IP Addresses

5.1 Ensure That Cloud Storage Bucket Is Not Anonymously or Publicly Accessible

5.2 Ensure That Cloud Storage Buckets Have Uniform Bucket-Level Access Enabled

6.1.2 Ensure 'Skip_show_database' Database Flag for Cloud SQL MySQL Instance Is Set to 'On'

6.1.3 Ensure That the 'Local_infile' Database Flag for a Cloud SQL MySQL Instance Is Set to 'Off'

6.2.1 Ensure 'Log_error_verbosity' Database Flag for Cloud SQL PostgreSQL Instance Is Set to 'DEFAULT' or Stricter

6.2.2 Ensure That the 'Log_connections' Database Flag for Cloud SQL PostgreSQL Instance Is Set to 'On'

6.2.3 Ensure That the 'Log_disconnections' Database Flag for Cloud SQL PostgreSQL Instance Is Set to 'On'

6.2.4 Ensure 'Log_statement' Database Flag for Cloud SQL PostgreSQL Instance Is Set Appropriately

6.2.5 Ensure that the 'Log_min_messages' Flag for a Cloud SQL PostgreSQL Instance is set at minimum to 'Warning'

6.2.6 Ensure 'Log_min_error_statement' Database Flag for Cloud SQL PostgreSQL Instance Is Set to 'Error' or Stricter

6.2.7 Ensure That the 'Log_min_duration_statement' Database Flag for Cloud SQL PostgreSQL Instance Is Set to '-1' (Disabled)

6.2.8 Ensure That 'cloudsql.enable_pgaudit' Database Flag for each Cloud Sql Postgresql Instance Is Set to 'on' For Centralized Logging

6.3 Ensure '3625 (trace flag)' Database Flag for all Cloud SQL SQL Server Instances Is Set to 'on'

6.3 Ensure 'contained database authentication' Database Flag for Cloud SQL SQL Server Instance Is Set to 'off'

6.3.1 Ensure 'external scripts enabled' Database Flag for Cloud SQL SQL Server Instance Is Set to 'off'

6.3.2 Ensure 'cross db ownership chaining' Database Flag for Cloud SQL SQL Server Instance Is Set to 'off'

6.3.3 Ensure 'user Connections' Database Flag for Cloud SQL SQL Server Instance Is Set to a Non-limiting Value

6.3.4 Ensure 'user options' Database Flag for Cloud SQL SQL Server Instance Is Not Configured

6.3.5 Ensure 'remote access' Database Flag for Cloud SQL SQL Server Instance Is Set to 'off'

6.3.6 Ensure '3625 (trace flag)' Database Flag for all Cloud SQL SQL Server Instances Is Set to 'on'

6.3.7 Ensure 'contained database authentication' Database Flag for Cloud SQL SQL Server Instance Is Set to 'off'

6.4 Ensure That the Cloud SQL Database Instance Requires All Incoming Connections To Use SSL

6.5 Ensure That Cloud SQL Database Instances Do Not Implicitly Whitelist All Public IP Addresses

6.6 Ensure That Cloud SQL Database Instances Do Not Have Public IPs

6.7 Ensure That Cloud SQL Database Instances Are Configured With Automated Backups

7.1 Ensure That BigQuery Datasets Are Not Anonymously or Publicly Accessible

7.2 Ensure That All BigQuery Tables Are Encrypted With Customer-Managed Encryption Key (CMEK)

7.3 Ensure That a Default Customer-Managed Encryption Key (CMEK) Is Specified for All BigQuery Data Sets

8.1 Ensure that Dataproc Cluster is encrypted using Customer-Managed Encryption Key

FrameworkControl overlapNote
CIS GCP Benchmark v2.0.0High 99%
CIS GCP Benchmark v3.0.0High 99%
NIST SP 800-53 Rev 5High 77%

Frequently asked questions

Who publishes the CIS Benchmarks?

The Center for Internet Security (CIS), a nonprofit that promotes best practices for securing IT systems and data, publishes the CIS Benchmarks along with a variety of other materials.

What do the CIS Benchmarks cover on Google's platforms?

CIS Benchmarks are available for the configuration of Google Cloud, Google Kubernetes Engine, and Google Workspace. They are accessed through the CIS website.

What is the purpose of a CIS Benchmark?

The CIS Benchmarks are security guidelines that institutions across industries can use to assist in the configuration of their environments.

On this page

Controls by category1.10 Ensure KMS Encryption Keys Are Rotated Within a Period of 90 Days1.11 Ensure That Separation of Duties Is Enforced While Assigning KMS Related Roles to Users1.12 Ensure API Keys Only Exist for Active Services1.13 Ensure API Keys Are Restricted To Use by Only Specified Hosts and Apps1.14 Ensure API Keys Are Restricted to Only APIs That Application Needs Access1.15 Ensure API Keys Are Rotated Every 90 Days1.16 Ensure Essential Contacts is Configured for Organization1.4 Ensure That There Are Only GCP-Managed Service Account Keys for Each Service Account1.5 Ensure That Service Account Has No Admin Privileges1.6 Ensure That IAM Users Are Not Assigned the Service Account User or Service Account Token Creator Roles at Project Level1.7 Ensure User-Managed/External Keys for Service Accounts Are Rotated Every 90 Days or Fewer1.8 Ensure That Separation of Duties Is Enforced While Assigning Service Account Related Roles to Users1.9 Ensure That Cloud KMS Cryptokeys Are Not Anonymously or Publicly Accessible2.1 Ensure That Cloud Audit Logging Is Configured Properly2.10 Ensure That the Log Metric Filter and Alerts Exist for Cloud Storage IAM Permission Changes2.11 Ensure That the Log Metric Filter and Alerts Exist for SQL Instance Configuration Changes2.12 Ensure That Cloud DNS Logging Is Enabled for All VPC Networks2.13 Ensure Cloud Asset Inventory Is Enabled2.15 Ensure 'Access Approval' is 'Enabled'2.16 Ensure Logging is enabled for HTTP(S) Load Balancer2.2 Ensure That Sinks Are Configured for All Log Entries2.3 Ensure That Retention Policies on Cloud Storage Buckets Used for Exporting Logs Are Configured Using Bucket Lock2.4 Ensure Log Metric Filter and Alerts Exist for Project Ownership Assignments/Changes2.5 Ensure That the Log Metric Filter and Alerts Exist for Audit Configuration Changes2.6 Ensure That the Log Metric Filter and Alerts Exist for Custom Role Changes2.7 Ensure That the Log Metric Filter and Alerts Exist for VPC Network Firewall Rule Changes2.8 Ensure That the Log Metric Filter and Alerts Exist for VPC Network Route Changes2.9 Ensure That the Log Metric Filter and Alerts Exist for VPC Network Changes3.1 Ensure That the Default Network Does Not Exist in a Project3.10 Use Identity Aware Proxy (IAP) to Ensure Only Traffic From Google IP Addresses are 'Allowed'3.2 Ensure Legacy Networks Do Not Exist for Older Projects3.3 Ensure That DNSSEC Is Enabled for Cloud DNS3.5 Ensure That RSASHA1 Is Not Used for the Zone-Signing Key in Cloud DNS DNSSEC3.6 Ensure That SSH Access Is Restricted From the Internet3.7 Ensure That RDP Access Is Restricted From the Internet3.8 Ensure that VPC Flow Logs is Enabled for Every Subnet in a VPC Network3.9 Ensure No HTTPS or SSL Proxy Load Balancers Permit SSL Policies With Weak Cipher Suites4.1 Ensure That Instances Are Not Configured To Use the Default Service Account4.11 Ensure That Compute Instances Have Confidential Computing Enabled4.2 Ensure That Instances Are Not Configured To Use the Default Service Account With Full Access to All Cloud APIs4.3 Ensure "Block Project-Wide SSH Keys" Is Enabled for VM Instances4.4 Ensure Oslogin Is Enabled for a Project4.5 Ensure 'Enable Connecting to Serial Ports' Is Not Enabled for VM Instance4.6 Ensure That IP Forwarding Is Not Enabled on Instances4.7 Ensure VM Disks for Critical VMs Are Encrypted With Customer-Supplied Encryption Keys (CSEK)4.8 Ensure Compute Instances Are Launched With Shielded VM Enabled4.9 Ensure That Compute Instances Do Not Have Public IP Addresses5.1 Ensure That Cloud Storage Bucket Is Not Anonymously or Publicly Accessible5.2 Ensure That Cloud Storage Buckets Have Uniform Bucket-Level Access Enabled6.1.2 Ensure 'Skip_show_database' Database Flag for Cloud SQL MySQL Instance Is Set to 'On'6.1.3 Ensure That the 'Local_infile' Database Flag for a Cloud SQL MySQL Instance Is Set to 'Off'6.2.1 Ensure 'Log_error_verbosity' Database Flag for Cloud SQL PostgreSQL Instance Is Set to 'DEFAULT' or Stricter6.2.2 Ensure That the 'Log_connections' Database Flag for Cloud SQL PostgreSQL Instance Is Set to 'On'6.2.3 Ensure That the 'Log_disconnections' Database Flag for Cloud SQL PostgreSQL Instance Is Set to 'On'6.2.4 Ensure 'Log_statement' Database Flag for Cloud SQL PostgreSQL Instance Is Set Appropriately6.2.5 Ensure that the 'Log_min_messages' Flag for a Cloud SQL PostgreSQL Instance is set at minimum to 'Warning'6.2.6 Ensure 'Log_min_error_statement' Database Flag for Cloud SQL PostgreSQL Instance Is Set to 'Error' or Stricter6.2.7 Ensure That the 'Log_min_duration_statement' Database Flag for Cloud SQL PostgreSQL Instance Is Set to '-1' (Disabled)6.2.8 Ensure That 'cloudsql.enable_pgaudit' Database Flag for each Cloud Sql Postgresql Instance Is Set to 'on' For Centralized Logging6.3 Ensure '3625 (trace flag)' Database Flag for all Cloud SQL SQL Server Instances Is Set to 'on'6.3 Ensure 'contained database authentication' Database Flag for Cloud SQL SQL Server Instance Is Set to 'off'6.3.1 Ensure 'external scripts enabled' Database Flag for Cloud SQL SQL Server Instance Is Set to 'off'6.3.2 Ensure 'cross db ownership chaining' Database Flag for Cloud SQL SQL Server Instance Is Set to 'off'6.3.3 Ensure 'user Connections' Database Flag for Cloud SQL SQL Server Instance Is Set to a Non-limiting Value6.3.4 Ensure 'user options' Database Flag for Cloud SQL SQL Server Instance Is Not Configured6.3.5 Ensure 'remote access' Database Flag for Cloud SQL SQL Server Instance Is Set to 'off'6.3.6 Ensure '3625 (trace flag)' Database Flag for all Cloud SQL SQL Server Instances Is Set to 'on'6.3.7 Ensure 'contained database authentication' Database Flag for Cloud SQL SQL Server Instance Is Set to 'off'6.4 Ensure That the Cloud SQL Database Instance Requires All Incoming Connections To Use SSL6.5 Ensure That Cloud SQL Database Instances Do Not Implicitly Whitelist All Public IP Addresses6.6 Ensure That Cloud SQL Database Instances Do Not Have Public IPs6.7 Ensure That Cloud SQL Database Instances Are Configured With Automated Backups7.1 Ensure That BigQuery Datasets Are Not Anonymously or Publicly Accessible7.2 Ensure That All BigQuery Tables Are Encrypted With Customer-Managed Encryption Key (CMEK)7.3 Ensure That a Default Customer-Managed Encryption Key (CMEK) Is Specified for All BigQuery Data Sets8.1 Ensure that Dataproc Cluster is encrypted using Customer-Managed Encryption KeyRelated frameworksFrequently asked questions

Ask AI about this

Help improve this page