Skip to main content
Five Steps for Cloud Compliance Readiness·A practical playbook for security teamsDownload
Check library

Google Cloud security checks

  • CIS Google Cloud Platform Foundation v5.0.0 · 93 controls

93 checks. 2 have an explained page so far (linked below); the rest follow.

CIS Google Cloud Platform Foundation v5.0.0

93 controls

CIS IDCheckSectionProfile
1.2Use corporate-managed login credentials instead of consumer accountsIdentity and Access ManagementLevel 1
1.3Enforce multi-factor authentication for all non-service accountsIdentity and Access ManagementLevel 1
1.4Enforce security-key two-factor authentication for all admin accountsIdentity and Access ManagementLevel 2
1.5Use only GCP-managed keys for each service account (no user-managed keys)Identity and Access ManagementLevel 1
1.6Ensure service accounts hold no admin (owner/editor) privilegesIdentity and Access ManagementLevel 1
1.7Ensure users are not granted Service Account User or Token Creator at project levelIdentity and Access ManagementLevel 1
1.8Rotate user-managed/external service-account keys every 90 days or fewerIdentity and Access ManagementLevel 1
1.9Enforce separation of duties when assigning service-account roles to usersIdentity and Access ManagementLevel 2
1.10Ensure Cloud KMS crypto keys are not anonymously or publicly accessibleIdentity and Access ManagementLevel 1
1.11Rotate Cloud KMS encryption keys within a period of 90 daysIdentity and Access ManagementLevel 1
1.12Enforce separation of duties when assigning KMS-related roles to usersIdentity and Access ManagementLevel 2
1.13Ensure API keys exist only for actively used servicesIdentity and Access ManagementLevel 2
1.14Restrict API keys to use by only specified hosts and applicationsIdentity and Access ManagementLevel 2
1.15Restrict API keys to only the APIs the application needsIdentity and Access ManagementLevel 2
1.16Rotate API keys every 90 daysIdentity and Access ManagementLevel 2
1.17Configure Essential Contacts for the organizationIdentity and Access ManagementLevel 1
1.18Store secrets in Secret Manager rather than Cloud Functions environment variablesIdentity and Access ManagementLevel 1
1.1.1Ensure the super-admin email address is not tied to a single individualIdentity and Access ManagementLevel 1
1.1.2Avoid using the super-admin account for routine Google Cloud administrationIdentity and Access ManagementLevel 1
1.1.3Structure folders by environment and data sensitivityIdentity and Access ManagementLevel 2
1.1.4Configure organization policies for centralized constraintsIdentity and Access ManagementLevel 2
2.1Configure Cloud Audit Logging across all services and usersLogging and MonitoringLevel 1
2.2Enable Workspace/Cloud Identity data sharing for admin audit loggingLogging and MonitoringLevel 1
2.3Configure sinks to export copies of all log entriesLogging and MonitoringLevel 1
2.4Apply Bucket Lock retention policies to log-export storage bucketsLogging and MonitoringLevel 2
2.5Alert on project-ownership assignments/changes via log metric filterLogging and MonitoringLevel 1
2.6Alert on audit-configuration changes via log metric filterLogging and MonitoringLevel 1
2.7Alert on custom-role changes via log metric filterLogging and MonitoringLevel 1
2.8Alert on VPC firewall-rule changes via log metric filterLogging and MonitoringLevel 2
2.9Alert on VPC network-route changes via log metric filterLogging and MonitoringLevel 2
2.10Alert on VPC network changes via log metric filterLogging and MonitoringLevel 2
2.11Alert on Cloud Storage IAM permission changes via log metric filterLogging and MonitoringLevel 2
2.12Alert on Cloud SQL instance configuration changes via log metric filterLogging and MonitoringLevel 2
2.13Enable Cloud DNS logging for all VPC networksLogging and MonitoringLevel 1
2.14Enable Cloud Asset InventoryLogging and MonitoringLevel 1
2.15Enable Access TransparencyLogging and MonitoringLevel 2
2.16Enable Access ApprovalLogging and MonitoringLevel 2
2.17Enable logging for HTTP(S) load balancersLogging and MonitoringLevel 2
3.1Ensure the default network does not exist in a projectNetworkingLevel 2
3.2Ensure legacy networks do not exist for older projectsNetworkingLevel 1
3.3Enable DNSSEC for Cloud DNSNetworkingLevel 1
3.4Avoid RSASHA1 for the key-signing key in Cloud DNS DNSSECNetworkingLevel 1
3.5Avoid RSASHA1 for the zone-signing key in Cloud DNS DNSSECNetworkingLevel 1
3.6Restrict SSH access from the internet (tcp/22 not open to 0.0.0.0/0)NetworkingLevel 2
3.7Restrict RDP access from the internet (tcp/3389 not open to 0.0.0.0/0)NetworkingLevel 2
3.8Enable VPC Service Controls for supported Google Cloud servicesNetworkingLevel 2
3.9Use Private Service Connect for access to Google APIsNetworkingLevel 2
3.10Enable VPC Flow Logs for every subnet in a VPC networkNetworkingLevel 2
3.11Ensure HTTPS/SSL proxy load balancers disallow weak cipher suitesNetworkingLevel 1
3.12Use Identity-Aware Proxy to allow only Google-sourced trafficNetworkingLevel 2
4.1Ensure instances are not configured to use the default service accountVirtual MachinesLevel 1
4.2Ensure instances do not use the default service account with full API accessVirtual MachinesLevel 1
4.3Enable "Block Project-wide SSH keys" for VM instancesVirtual MachinesLevel 1
4.4Enable OS Login for the projectVirtual MachinesLevel 1
4.5Disable serial-port connection on VM instancesVirtual MachinesLevel 1
4.6Ensure IP forwarding is not enabled on instancesVirtual MachinesLevel 1
4.7Encrypt critical VM disks with customer-supplied encryption keys (CSEK)Virtual MachinesLevel 2
4.8Launch compute instances with Shielded VM enabledVirtual MachinesLevel 2
4.9Ensure compute instances do not have public IP addressesVirtual MachinesLevel 2
4.10Enforce HTTPS connections for App Engine applicationsVirtual MachinesLevel 2
4.11Enable Confidential Computing on supported compute instancesVirtual MachinesLevel 2
4.12Keep VM operating systems patched with the latest updatesVirtual MachinesLevel 2
5.1Ensure Cloud Storage buckets are not anonymously or publicly accessibleStorageLevel 1
5.2Enable uniform bucket-level access on Cloud Storage bucketsStorageLevel 2
6.4Require SSL for all incoming Cloud SQL connectionsCloud SQLLevel 1
6.5Ensure Cloud SQL instances do not whitelist all public IP addresses (0.0.0.0/0)Cloud SQLLevel 1
6.6Enable IAM database authentication on Cloud SQL instancesCloud SQLLevel 1
6.7Ensure Cloud SQL instances do not have public IP addressesCloud SQLLevel 2
6.8Configure automated backups for Cloud SQL instancesCloud SQLLevel 1
6.9Enable deletion protection on Cloud SQL instancesCloud SQLLevel 1
6.1.1Ensure a MySQL instance does not allow anyone to connect with admin privilegesCloud SQLLevel 1
6.1.2Set the MySQL 'skip_show_database' flag to onCloud SQLLevel 1
6.1.3Set the MySQL 'local_infile' flag to offCloud SQLLevel 1
6.2.1Set PostgreSQL 'log_error_verbosity' to DEFAULT or stricterCloud SQLLevel 2
6.2.2Set PostgreSQL 'log_connections' to onCloud SQLLevel 1
6.2.3Set PostgreSQL 'log_disconnections' to onCloud SQLLevel 1
6.2.4Set PostgreSQL 'log_statement' appropriatelyCloud SQLLevel 2
6.2.5Set PostgreSQL 'log_min_messages' to at least WarningCloud SQLLevel 1
6.2.6Set PostgreSQL 'log_min_error_statement' to Error or stricterCloud SQLLevel 1
6.2.7Set PostgreSQL 'log_min_duration_statement' to -1 (disabled)Cloud SQLLevel 1
6.2.8Set PostgreSQL 'cloudsql.enable_pgaudit' to on for centralized loggingCloud SQLLevel 1
6.3.1Set SQL Server 'external scripts enabled' to offCloud SQLLevel 1
6.3.2Set SQL Server 'cross db ownership chaining' to offCloud SQLLevel 1
6.3.3Set SQL Server 'user connections' to a non-limiting valueCloud SQLLevel 1
6.3.4Ensure SQL Server 'user options' flag is not configuredCloud SQLLevel 1
6.3.5Set SQL Server 'remote access' to offCloud SQLLevel 1
6.3.6Set SQL Server '3625 (trace flag)' to onCloud SQLLevel 1
6.3.7Set SQL Server 'contained database authentication' to offCloud SQLLevel 1
7.1Ensure BigQuery datasets are not anonymously or publicly accessibleBigQueryLevel 1
7.2Encrypt all BigQuery tables with a customer-managed encryption key (CMEK)BigQueryLevel 2
7.3Specify a default customer-managed encryption key (CMEK) for all BigQuery datasetsBigQueryLevel 2
7.4Ensure all data in BigQuery has been classifiedBigQueryLevel 2
8.1Encrypt Dataproc clusters using a customer-managed encryption keyDataprocLevel 2
Get in touch

Let's talk.

Whether you're evaluating ConfigCobra, running an audit, or managing a client fleet — we respond within one business day.

Free trial