Bird
Raised Fist0
GCPcloud~10 mins

VPC Service Controls in GCP - Interactive Code Practice

Choose your learning style10 modes available
Practice - 5 Tasks
Answer the questions below
1fill in blank
easy

Complete the code to create a VPC Service Controls perimeter with the correct resource type.

GCP
resource "google_access_context_manager_service_perimeter" "example" {
  name        = "accessPolicies/123/servicePerimeters/example"
  title       = "Example Perimeter"
  perimeter_type = "[1]"
}
Drag options to blanks, or click blank then click option'
APERIMETER_TYPE_REGULAR
BPERIMETER_TYPE_BRIDGE
CPERIMETER_TYPE_CUSTOM
DPERIMETER_TYPE_DEFAULT
Attempts:
3 left
💡 Hint
Common Mistakes
Using an invalid perimeter_type value causes deployment errors.
Confusing bridge perimeter with regular perimeter.
2fill in blank
medium

Complete the code to specify the access policy ID in the perimeter resource.

GCP
resource "google_access_context_manager_service_perimeter" "example" {
  name        = "accessPolicies/[1]/servicePerimeters/example"
  title       = "Example Perimeter"
  perimeter_type = "PERIMETER_TYPE_REGULAR"
}
Drag options to blanks, or click blank then click option'
A123
BaccessPolicy123
Cpolicy123
Dpolicy-123
Attempts:
3 left
💡 Hint
Common Mistakes
Including extra words or prefixes in the policy ID.
Using the full policy name instead of just the ID.
3fill in blank
hard

Fix the error in the resource block by completing the list of resources inside the perimeter.

GCP
resource "google_access_context_manager_service_perimeter" "example" {
  name        = "accessPolicies/123/servicePerimeters/example"
  title       = "Example Perimeter"
  perimeter_type = "PERIMETER_TYPE_REGULAR"
  spec {
    resources = ["[1]"]
  }
}
Drag options to blanks, or click blank then click option'
Ayour-project-id
Bprojects/123
Cproject/your-project-id
Dprojects/your-project-id
Attempts:
3 left
💡 Hint
Common Mistakes
Using only the project ID without the 'projects/' prefix.
Using incorrect resource path formats.
4fill in blank
hard

Fill both blanks to specify the access levels and restricted services in the perimeter spec.

GCP
resource "google_access_context_manager_service_perimeter" "example" {
  name        = "accessPolicies/123/servicePerimeters/example"
  title       = "Example Perimeter"
  perimeter_type = "PERIMETER_TYPE_REGULAR"
  spec {
    access_levels = ["[1]"]
    restricted_services = ["[2]"]
  }
}
Drag options to blanks, or click blank then click option'
AaccessPolicies/123/accessLevels/level1
BaccessPolicies/123/accessLevels/level2
Cstorage.googleapis.com
Dbigquery.googleapis.com
Attempts:
3 left
💡 Hint
Common Mistakes
Using incomplete access level names.
Using service names without the domain suffix.
5fill in blank
hard

Fill all three blanks to define a VPC Service Controls perimeter with title, perimeter type, and resource.

GCP
resource "google_access_context_manager_service_perimeter" "example" {
  name          = "accessPolicies/123/servicePerimeters/example"
  title         = "[1]"
  perimeter_type = "[2]"
  spec {
    resources = ["[3]"]
  }
}
Drag options to blanks, or click blank then click option'
AMy Perimeter
BPERIMETER_TYPE_REGULAR
Cprojects/my-project-id
DPERIMETER_TYPE_BRIDGE
Attempts:
3 left
💡 Hint
Common Mistakes
Using incorrect perimeter types.
Using incomplete resource names.
Leaving title blank or generic.

Practice

(1/5)
1. What is the main purpose of VPC Service Controls in Google Cloud?
easy
A. To manage user identities and access permissions
B. To create a secure boundary around cloud services to protect data
C. To automatically back up data to multiple regions
D. To increase the speed of network traffic between services

Solution

  1. Step 1: Understand the role of VPC Service Controls

    VPC Service Controls create a security perimeter around Google Cloud services to protect sensitive data from unauthorized access.
  2. Step 2: Compare with other options

    Options A, B, and C describe different Google Cloud features unrelated to VPC Service Controls.
  3. Final Answer:

    To create a secure boundary around cloud services to protect data -> Option B
  4. Quick Check:

    VPC Service Controls = Secure boundary [OK]
Hint: VPC Service Controls protect data by creating security boundaries [OK]
Common Mistakes:
  • Confusing VPC Service Controls with identity management
  • Thinking it speeds up network traffic
  • Assuming it handles backups automatically
2. Which of the following is the correct way to define a VPC Service Controls perimeter in a YAML configuration?
easy
A. perimeterType: 'NETWORK_PERIMETER' resources: - projects/project-123 restrictedServices: - storage.googleapis.com enforce: true
B. perimeterType: 'SERVICE_PERIMETER' resources: - projects/project-123 restrictedServices: - storage.googleapis.com allowAll: true
C. perimeterType: 'SERVICE_PERIMETER' resources: - projects/project-123 restrictedServices: - compute.googleapis.com enforce: false
D. perimeterType: 'SERVICE_PERIMETER' resources: - projects/project-123 restrictedServices: - storage.googleapis.com enforce: true

Solution

  1. Step 1: Identify correct perimeter type and enforcement

    VPC Service Controls use 'SERVICE_PERIMETER' as perimeterType and enforce true to activate restrictions.
  2. Step 2: Check restricted services and resource format

    Restricted services should list Google Cloud APIs like storage.googleapis.com, and resources should be project IDs.
  3. Final Answer:

    perimeterType: 'SERVICE_PERIMETER' with enforce: true and correct resources -> Option D
  4. Quick Check:

    Correct perimeterType and enforce true = perimeterType: 'SERVICE_PERIMETER' resources: - projects/project-123 restrictedServices: - storage.googleapis.com enforce: true [OK]
Hint: SERVICE_PERIMETER with enforce: true is required for VPC SC [OK]
Common Mistakes:
  • Using NETWORK_PERIMETER instead of SERVICE_PERIMETER
  • Setting enforce to false disables the perimeter
  • Using allowAll instead of enforce
3. Given this VPC Service Controls perimeter configuration:
perimeterType: 'SERVICE_PERIMETER'
resources:
  - projects/project-abc
restrictedServices:
  - storage.googleapis.com
  - bigquery.googleapis.com
enforce: true

What happens if a VM in project-abc tries to access compute.googleapis.com?
medium
A. Access is allowed only if the VM has special IAM roles
B. Access is denied because all services are blocked inside the perimeter
C. Access is allowed because compute.googleapis.com is not restricted
D. Access is denied because compute.googleapis.com is implicitly restricted

Solution

  1. Step 1: Understand restricted services in the perimeter

    The perimeter restricts only storage.googleapis.com and bigquery.googleapis.com.
  2. Step 2: Check access to compute.googleapis.com

    Since compute.googleapis.com is not listed, access is allowed by default.
  3. Final Answer:

    Access is allowed because compute.googleapis.com is not restricted -> Option C
  4. Quick Check:

    Only listed services are restricted = Access is allowed because compute.googleapis.com is not restricted [OK]
Hint: Only services listed in restrictedServices are blocked [OK]
Common Mistakes:
  • Assuming all services are blocked inside perimeter
  • Thinking IAM roles override perimeter restrictions
  • Believing unlisted services are implicitly blocked
4. You configured a VPC Service Controls perimeter but users report they cannot access Cloud Storage from inside the perimeter. Which of the following is the most likely cause?
medium
A. The perimeter's restrictedServices includes storage.googleapis.com and enforce is set to true
B. The perimeter is missing storage.googleapis.com in restrictedServices
C. The perimeter's enforce is set to false
D. The perimeter uses NETWORK_PERIMETER instead of SERVICE_PERIMETER

Solution

  1. Step 1: Analyze the effect of restrictedServices and enforce

    If storage.googleapis.com is in restrictedServices and enforce is true, access to Cloud Storage is blocked inside the perimeter.
  2. Step 2: Evaluate other options

    Missing storage.googleapis.com or enforce false would allow access; NETWORK_PERIMETER is invalid for VPC SC.
  3. Final Answer:

    restrictedServices includes storage.googleapis.com and enforce is true -> Option A
  4. Quick Check:

    Restricted service + enforce true blocks access [OK]
Hint: Restricted service with enforce true blocks access inside perimeter [OK]
Common Mistakes:
  • Thinking missing restrictedServices blocks access
  • Assuming enforce false blocks access
  • Confusing NETWORK_PERIMETER with SERVICE_PERIMETER
5. Your company wants to protect sensitive data in BigQuery and Cloud Storage using VPC Service Controls. You have two projects: project-secure and project-public. You want to allow project-public to access BigQuery but not Cloud Storage inside the perimeter. How should you configure the perimeter?
hard
A. Include both projects in resources, restrict only storage.googleapis.com
B. Include only project-secure in resources, restrict both storage.googleapis.com and bigquery.googleapis.com
C. Include both projects in resources, restrict both storage.googleapis.com and bigquery.googleapis.com
D. Include only project-public in resources, restrict storage.googleapis.com

Solution

  1. Step 1: Determine which projects to include in the perimeter

    To protect data in both projects but allow project-public access to BigQuery, include both projects in the perimeter.
  2. Step 2: Set restricted services to block only Cloud Storage

    Restrict storage.googleapis.com to block Cloud Storage access, but do not restrict bigquery.googleapis.com to allow BigQuery access from project-public.
  3. Final Answer:

    Include both projects and restrict only storage.googleapis.com -> Option A
  4. Quick Check:

    Both projects + restrict storage only = Include both projects in resources, restrict only storage.googleapis.com [OK]
Hint: Restrict only storage to block Cloud Storage, include both projects [OK]
Common Mistakes:
  • Restricting both services blocks BigQuery access
  • Including only one project limits protection
  • Restricting BigQuery when access is needed
Recommended

Ready to prove it?

Pass the test and this pattern moves unknown strong while earning +1 Grip toward your certificate.

10 questions~5 mineasy hard