Acceso adaptado al contexto con reglas de entrada

La configuración de reglas de entrada de acceso adaptado al contexto permiten el acceso a los recursos según atributos de cliente, como el origen de la red (dirección IP o red de VPC), el tipo de identidad (cuenta de servicio o usuario), identidad y 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 Reglas de entrada y salida.

Para obtener instrucciones sobre cómo aplicar las políticas de reglas de entrada y salida, consulta Configura políticas de entrada y salida.

Ejemplos de configuración de casos de uso de acceso adaptado al contexto

Esta sección contiene los siguientes ejemplos de acceso adaptado al contexto:

  1. Permite que los usuarios humanos accedan a BigQuery desde Internet y solo a las cuentas de servicio específicas accedan desde un rango de IP específico
  2. Permite que los empleados consulten BigQuery desde dispositivos de confianza a través de Internet y una cuenta de servicio específica para cargar datos de forma privada en un bucket de Cloud Storage (datos de origen)

Permite que los usuarios humanos accedan a BigQuery desde Internet y solo a las cuentas de servicio específicas accedan desde un rango de IP específico

Entrada de usuarios y redes reconocidos

Supongamos que definiste el siguiente perímetro, que se encuentra en 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 suponemos que se definió un nivel de acceso denominado CorpDatacenters. En este ejemplo, CorpDatacenters es un rango incluido en la lista de entidades permitidas de direcciones IP de centros de datos corporativos que acceden a las cuentas de servicio.

Esta es la política direccional que permite el acceso a todos los seres humanos y un conjunto específico de cuentas de servicio, limitado a un conjunto particular de direcciones IP (definidas 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: \"*\"
- ingressFrom:
    identityType: ANY_USER_ACCOUNT
    sources:
    - accessLevel: \"*\"
  ingressTo:
    operations:
    - serviceName: bigquery.googleapis.com
      methodSelectors:
      - method: \"*\"
""" > ingress.yaml

Ejecuta el siguiente comando para aplicar las reglas de entrada:

gcloud beta access-context-manager perimeters update Example --set-ingress-policies=ingress.yaml

Permite que los empleados consulten BigQuery desde dispositivos de confianza a través de Internet y una cuenta de servicio específica para cargar datos de forma privada en un bucket de Cloud Storage (datos de origen)

Entrada de redes y dispositivos reconocidos

Supongamos que definiste el siguiente perímetro, que se encuentra en 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 que permite que los seres humanos accedan a las vistas de BigQuery desde dispositivos de confianza (mediante un nivel de acceso) y una cuenta de servicio específica para acceder 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

- ingressFrom:
    identityType: ANY_USER_ACCOUNT
    sources:
    - accessLevel: accessPolicies/222/accessLevels/TrustedDevices
  ingressTo:
    operations:
    - serviceName: bigquery.googleapis.com
      methodSelectors:
      - permission: bigquery.tables.getData
""" > ingress.yaml

Ejecuta el siguiente comando para aplicar las reglas de entrada:

gcloud beta access-context-manager perimeters update Example --set-ingress-policies=ingress.yaml