Las configuraciones de reglas de entrada de acceso contextual permiten acceder a los recursos en función de atributos del cliente, como el origen de la red (dirección IP o red de VPC), el tipo de identidad (cuenta de servicio o usuario), la identidad y los datos del dispositivo. El acceso se define mediante reglas de entrada.
Para obtener una descripción general de las reglas de entrada y salida, consulta el artículo Reglas de entrada y salida.
Para obtener instrucciones sobre cómo aplicar políticas de reglas de entrada y salida, consulta Configurar políticas de entrada y salida.
Ejemplos de configuración de casos prácticos de acceso contextual
En esta sección se incluyen los siguientes ejemplos de acceso contextual:
- Permitir que los usuarios accedan a BigQuery desde Internet y que solo determinadas cuentas de servicio accedan desde un intervalo de IPs específico
- Permitir que los empleados consulten BigQuery desde dispositivos de confianza a través de Internet y que una cuenta de servicio específica cargue datos de forma privada en un segmento de Cloud Storage (datos de origen)
Permitir que los usuarios accedan a BigQuery desde Internet y que solo las cuentas de servicio específicas accedan desde un intervalo de IPs concreto

Supongamos que has definido el siguiente perímetro, que se ha encontrado consultando la lista de perímetros con gcloud:
name: accessPolicies/222/servicePerimeters/Example
status:
resources:
- projects/111
restrictedServices:
- bigquery.googleapis.com
- storage.googleapis.com
vpcAccessibleServices:
enableRestriction: true
allowedServices:
- RESTRICTED_SERVICES
title: Example
También damos por hecho que se ha definido un nivel de acceso llamado CorpDatacenters. En este ejemplo, CorpDatacenters es un intervalo de IPs de centros de datos corporativos incluidos en la lista blanca desde los que se permite el acceso a las cuentas de servicio.
Esta es la política direccional para permitir el acceso a todos los humanos y a un conjunto específico de cuentas de servicio, limitado a un conjunto concreto de IPs (definido por un nivel de acceso):
echo """
- ingressFrom:
identities:
- serviceAccount:my-sa@my-project.iam.gserviceaccount.com
sources:
- accessLevel: accessPolicies/222/accessLevels/CorpDatacenters
ingressTo:
operations:
- serviceName: bigquery.googleapis.com
methodSelectors:
- method: \"*\"
resources:
- \"*\"
- ingressFrom:
identityType: ANY_USER_ACCOUNT
sources:
- accessLevel: \"*\"
ingressTo:
operations:
- serviceName: bigquery.googleapis.com
methodSelectors:
- method: \"*\"
resources:
- \"*\"
""" > ingress.yaml
Aplica las reglas de entrada ejecutando el siguiente comando:
gcloud access-context-manager perimeters update Example --set-ingress-policies=ingress.yaml
Permitir que los empleados consulten BigQuery y carguen datos de forma privada en un segmento de Cloud Storage

Supongamos que has definido el siguiente perímetro, que se ha encontrado consultando la lista de perímetros con gcloud:
name: accessPolicies/222/servicePerimeters/Example
status:
resources:
- projects/111
restrictedServices:
- bigquery.googleapis.com
- storage.googleapis.com
vpcAccessibleServices:
enableRestriction: true
allowedServices:
- RESTRICTED_SERVICES
title: Example
Esta es la política direccional para permitir que los usuarios accedan a las vistas de BigQuery desde dispositivos de confianza (mediante un nivel de acceso) y que una cuenta de servicio específica privada acceda a Cloud Storage desde una red de VPC autorizada:
echo """
- ingressFrom:
identities:
- serviceAccount:my-sa@my-project.iam.gserviceaccount.com
sources:
- resource: projects/111
ingressTo:
operations:
- serviceName: storage.googleapis.com
methodSelectors:
- method: google.storage.Write
- method: google.storage.objects.create
resources:
- \"*\"
- ingressFrom:
identityType: ANY_SERVICE_ACCOUNT
sources:
- resource: //compute.googleapis.com/projects/my-network-project/global/networks/top-tier-vpc-network
ingressTo:
operations:
- serviceName: storage.googleapis.com
methodSelectors:
- method: google.storage.Write
- method: google.storage.objects.create
resources:
- \"*\"
- ingressFrom:
identityType: ANY_USER_ACCOUNT
sources:
- accessLevel: accessPolicies/222/accessLevels/TrustedDevices
ingressTo:
operations:
- serviceName: bigquery.googleapis.com
methodSelectors:
- permission: bigquery.tables.getData
resources:
- \"*\"
""" > ingress.yaml
Aplica las reglas de entrada ejecutando el siguiente comando:
gcloud access-context-manager perimeters update Example --set-ingress-policies=ingress.yaml
Para obtener información sobre las limitaciones de las redes de VPC cuando se usan en perímetros de servicio, consulta Limitaciones de las redes de VPC.