Access Context Manager – VPC Service Controls

Google Cloud Access Context Manager

  • Access Context Manager allows Google Cloud organization administrators to define fine-grained, attribute-based access control for projects and resources in Google Cloud.
  • Access Context Manager is the zero trust policy engine of Chrome Enterprise Premium (formerly BeyondCorp Enterprise), enabling context-aware access control for applications and Google Cloud resources.
  • Access Context Manager helps prevent data exfiltration.
  • Access Context Manager helps reduce the size of the privileged network and move to a model where endpoints do not carry ambient authority based on the network.
  • Access Context Manager helps define desired rules and policy but isn’t responsible for policy enforcement. The policy is configured and enforced across various points, such as VPC Service Controls.
  • Access Context Manager is an integral part of Google’s BeyondCorp zero trust effort.

Access Policies

  • An access policy is an organization-wide container for access levels and service perimeters.
  • Administrators first define an access policy, then configure access levels and service perimeters within it.
  • Scoped Policies (GA – March 2022)
    • To delegate administration, you can create access policies scoped to specific folders or projects.
    • Delegated administrators can manage only their scoped policy, not the organization-level policy.
    • Useful for decentralized management of VPC Service Controls perimeters and access levels.
  • An access policy is versioned using an etag to prevent unintended overwrites and conflicts when multiple sources modify it.

Access Levels

  • Access levels are used for permitting access to resources based on contextual information about the request.
  • Access is granted based on the context of the request, such as device type, user identity, IP address, and more, while still checking for corporate network access when necessary.
  • Access Context Manager provides two ways to define access levels: basic and custom.
    • Basic Access Level
      • is a collection of conditions that are used to test requests.
      • Conditions are a group of attributes to be tested, such as device type, IP address, user identity, or geographic region.
      • Conditions can be combined using AND (all must be true – default, stricter) or OR (any one must be true – less restrictive).
      • Supports internal IP addresses when specifying IP address ranges (GA – June 2024).
    • Custom Access Levels
      • are created using a subset of Common Expression Language (CEL).
      • helps to permit requests based on data from third-party services.
      • In addition to the request context used for basic access levels, custom access levels can evaluate data from external sources.
  • Access levels can be nested—one access level can depend on another (e.g., “High_Trust” requires “Medium_Trust” plus additional conditions).
  • Access levels support the following attributes:
    • IP address – specified as CIDR blocks; supports both public and internal (private) IP ranges
    • Device type – uses Endpoint Verification to gather OS, device type, encryption status, admin approval, and corp-owned status
    • User identity – specific users or service accounts (useful with VPC Service Controls)
    • Geographic regions – request origin region
    • Time and date conditions – restrict access to specific time windows

Service Perimeters

  • Service perimeters define sandboxes of resources that can freely exchange data within the perimeter but are not allowed to export data outside of it.
  • Service perimeters are used with VPC Service Controls to protect Google Cloud resources and prevent data exfiltration.
  • Ingress and Egress Rules (GA – April 2021)
    • Ingress rules control calls from services outside a perimeter to resources inside the perimeter.
    • Egress rules control calls from inside the perimeter to resources outside the perimeter.
    • Access levels can be used by ingress policies but cannot be used by egress policies (egress policies use contextual information directly).
  • Individual VPC Networks (GA – February 2023)
    • You can now add individual VPC networks as members of a perimeter (previously the entire VPC host project was added).
    • You can create ingress rules to authorize individual VPC networks to access a perimeter.
  • Dry Run Mode – allows testing changes to perimeters before enforcing them, helping identify potential impact without disrupting access.

Context-Aware Access

  • Context-Aware Access is a security approach where you control users’ access based on authentication strength, device posture, network location, geographic location, or other attributes.
  • Access Bindings apply access policies to user groups, enabling enforcement of context-aware access for specific groups of users.
  • App Allowlist (GA – October 2024)
    • You can create an access binding with a map of applications to access levels.
    • This allows applying access levels to specific applications, avoiding unintended effects on other applications.
  • Certificate-Based Access (CBA)
    • Uses mutual TLS (mTLS) to verify device certificates before granting access.
    • Can be enforced for user groups, with VPC Service Controls, for client applications, web applications, and VMs.
    • Supports enterprise certificates and Endpoint Verification certificates.
  • Chrome Browser Attributes
    • Zero trust policies can verify that the user’s browser has Chrome Enterprise Premium threat and data protection capabilities turned on.
    • Chrome attributes are only effective for browser-based traffic and have no effect on requests from gcloud CLI or Google Cloud SDKs.
  • Session Controls – configure re-authentication requirements for ongoing sessions.
  • Credential Strength Policy – enforce specific authentication strength (e.g., multi-factor authentication).

Policy Enforcement Points

  • Access Context Manager defines policies; enforcement happens at various integration points:
    • VPC Service Controls – enforces service perimeters and ingress/egress rules for Google Cloud APIs
    • Identity-Aware Proxy (IAP) – enforces context-aware access for web applications and VMs
    • Context-Aware Access for Google Workspace – controls access to Google Workspace applications
    • Identity and Access Management (IAM) Conditions – uses access levels as conditions in IAM policies

Custom Organization Policies (GA – March 2025)

  • Access Context Manager now supports custom organization policies.
  • Organization Policy administrators can define custom constraints for Access Context Manager resources.
  • Custom constraints allow more granular control over the specific fields that are restricted in access policies.
  • Built-in managed constraints are available, but custom constraints provide finer control.

Bulk Operations

  • The Access Context Manager Bulk API can replace all of your organization’s access levels in one operation.
  • Useful for large-scale access level management and policy migrations.

GCP Certification Exam Practice Questions

  • Questions are collected from Internet and the answers are marked as per my knowledge and understanding (which might differ with yours).
  • GCP services are updated everyday and both the answers and questions might be outdated soon, so research accordingly.
  • GCP exam questions are not updated to keep up the pace with GCP updates, so even if the underlying feature has changed the question might not be updated
  • Open to further feedback, discussion and correction.
  1. A company wants to prevent data exfiltration from their Google Cloud environment. They need to ensure that data within a set of projects cannot be accessed from outside the organization, even by users with valid IAM permissions. Which combination of services should they use?
    1. Access Context Manager and Cloud IAM only
    2. VPC Service Controls with service perimeters defined using Access Context Manager
    3. Cloud Armor and Identity-Aware Proxy
    4. Organization Policy Service with resource location constraints

    Answer: b. VPC Service Controls with service perimeters prevent data exfiltration even from authorized users by restricting data movement outside the perimeter boundary.

  2. An organization wants to grant access to sensitive resources only when requests come from corporate-managed devices running an approved OS version AND from the corporate network IP range. How should they configure Access Context Manager?
    1. Create two separate basic access levels and use OR combining
    2. Create a single basic access level with multiple conditions using AND combining (default)
    3. Create a custom access level with CEL expressions only
    4. Use IAM conditions without Access Context Manager

    Answer: b. A basic access level with AND combining (the default) requires all conditions to be true, ensuring both device posture and IP range are verified.

  3. A multinational organization wants to delegate VPC Service Controls administration to regional teams managing their own folders. Which Access Context Manager feature enables this?
    1. Custom access levels with CEL
    2. Nested access levels
    3. Scoped access policies
    4. Access bindings with app allowlists

    Answer: c. Scoped policies allow creating access policies scoped to specific folders or projects, enabling delegated administration to folder-level administrators.

  4. Which of the following statements about Access Context Manager is correct? (Choose TWO)
    1. Access Context Manager directly enforces access control policies
    2. Access Context Manager is the zero trust policy engine of Chrome Enterprise Premium
    3. Custom access levels can use data from third-party services
    4. Access levels can be used in both ingress and egress policies equally
    5. Access Context Manager requires a VPC network to function

    Answer: b, c. ACM defines policies but does not enforce them (a is incorrect). ACM is the zero trust engine of Chrome Enterprise Premium (b is correct). Custom access levels use CEL and can evaluate third-party data (c is correct). Access levels can only be used by ingress policies, not egress (d is incorrect).

  5. A company wants to apply different access levels to different SaaS applications accessed through Chrome Enterprise Premium. Some applications should require stricter device posture than others. What feature should they use?
    1. Service perimeters with VPC Service Controls
    2. Access bindings with a map of applications to access levels
    3. Multiple organization-level access policies
    4. IAM conditions with resource-level granularity

    Answer: b. The app allowlist feature (GA October 2024) allows creating access bindings with a map of applications to access levels, applying different access levels to specific applications.

  6. An organization needs to verify that users accessing sensitive resources through a browser have Chrome Enterprise Premium threat protection enabled. Which Access Context Manager feature should they configure?
    1. Basic access levels with device attributes
    2. Chrome browser attributes in access levels
    3. Certificate-based access with enterprise certificates
    4. Custom access levels with endpoint verification data

    Answer: b. Chrome browser attributes allow setting zero trust policies that verify the browser has threat and data protection capabilities enabled. Note: these attributes only apply to browser-based traffic.

See also: Google Cloud Security Services Cheat Sheet

References