Acceso adaptado al contexto con reglas de entrada

Las configuraciones de la entrada de acceso adaptado al contexto permiten el acceso a los recursos según los 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 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

En esta sección, se incluyen 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: \"*\"
    resources:
    - \"*\"
- ingressFrom:
    identityType: ANY_USER_ACCOUNT
    sources:
    - accessLevel: \"*\"
  ingressTo:
    operations:
    - serviceName: bigquery.googleapis.com
      methodSelectors:
      - method: \"*\"
    resources:
    - \"*\"
""" > ingress.yaml

Ejecuta el siguiente comando para aplicar las reglas de entrada:

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

Permite que los empleados consulten BigQuery y carguen datos de forma privada en un bucket de Cloud Storage

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
    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

Ejecuta el siguiente comando para aplicar las reglas de entrada:

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 las usas en perímetros de servicio, consulta Limitaciones de las redes de VPC.