A company stores sensitive data in Cloud Storage. They want to restrict access to only users from the company's corporate network (IP range 203.0.113.0/24) and ensure data is encrypted at rest using a customer-managed key. Which TWO configurations are required? (Select 2)
Trap 1: Configure Cloud Armor with IP allowlist
Cloud Armor is a web application firewall (WAF) that protects HTTP(S) load-balanced applications by filtering traffic based on rules like IP allowlists or OWASP signatures. However, Cloud Storage buckets are not fronted by HTTP(S) load balancers; they are accessed via the Cloud Storage API or the googleapis.com endpoint. Therefore, Cloud Armor cannot restrict access to Cloud Storage buckets, making this option ineffective for securing stored sensitive data.
Trap 2: Enable VPC Service Controls
VPC Service Controls enables you to build a security perimeter around Google Cloud services, restricting data access based on the originating VPC network, project, or client identity. It helps prevent data exfiltration but does not support IP address conditions; it evaluates context such as the requesting service or network, not the specific source IP. For restricting access to a bucket from a corporate IP range, VPC Service Controls alone is insufficient—it complements but does not replace IP-based IAM conditions.
Trap 3: Configure Cloud NAT
Cloud NAT provides source network address translation for private Compute Engine instances so they can reach the internet without external IP addresses. It is a data-plane gateway that enables outbound communication, not an access control mechanism for inbound requests to Cloud Storage. Configuring Cloud NAT does not restrict who can access your bucket, nor does it affect encryption or IAM policies, so it has no bearing on securing sensitive data at rest.
- A
Configure Cloud Armor with IP allowlist
Why it fails: Cloud Armor is a web application firewall (WAF) that protects HTTP(S) load-balanced applications by filtering traffic based on rules like IP allowlists or OWASP signatures. However, Cloud Storage buckets are not fronted by HTTP(S) load balancers; they are accessed via the Cloud Storage API or the googleapis.com endpoint. Therefore, Cloud Armor cannot restrict access to Cloud Storage buckets, making this option ineffective for securing stored sensitive data.
- B
Enable VPC Service Controls
Why it fails: VPC Service Controls enables you to build a security perimeter around Google Cloud services, restricting data access based on the originating VPC network, project, or client identity. It helps prevent data exfiltration but does not support IP address conditions; it evaluates context such as the requesting service or network, not the specific source IP. For restricting access to a bucket from a corporate IP range, VPC Service Controls alone is insufficient—it complements but does not replace IP-based IAM conditions.
- C
Set a bucket policy with an IP address condition
You can apply an IAM condition to a Cloud Storage bucket policy to restrict access based on the requester's source IP address. For example, setting a condition like `request.sourceIp.startsWith("203.0.113.")` ensures only requests originating from your corporate IP range can read or write objects. This is a valid and direct method to enforce network-level access control for sensitive data in Cloud Storage, making it a correct alternative to CMEK.
- D
Configure Cloud NAT
Why it fails: Cloud NAT provides source network address translation for private Compute Engine instances so they can reach the internet without external IP addresses. It is a data-plane gateway that enables outbound communication, not an access control mechanism for inbound requests to Cloud Storage. Configuring Cloud NAT does not restrict who can access your bucket, nor does it affect encryption or IAM policies, so it has no bearing on securing sensitive data at rest.
- E
Use Cloud KMS to create and manage a key for CMEK
Cloud KMS enables you to create, manage, and rotate your own encryption keys. When you use a customer-managed encryption key (CMEK) with Cloud Storage, the data in your bucket is encrypted under a key you control, rather than Google's default encryption. This provides the control and auditability needed for sensitive data, allowing you to set key lifecycle policies and revoke the key if necessary. This is the correct approach for meeting encryption key management requirements.