Accesso sensibile al contesto con regole per il traffico in entrata

Le configurazioni delle regole di ingresso con accesso sensibile al contesto consentono l'accesso alle risorse in base ad attributi del client come origine della rete (indirizzo IP o rete VPC), tipo di identità (account di servizio o utente), identità e dati del dispositivo. L'accesso è definito dalle regole per il traffico in entrata.

Per una panoramica delle regole per il traffico in entrata e in uscita, vedi Regole per il traffico in entrata e in uscita.

Per istruzioni su come applicare i criteri delle regole di ingresso e di uscita, vedi Configurare i criteri per il traffico in entrata e in uscita.

Esempi di configurazione di casi d'uso dell'accesso sensibile al contesto

Questa sezione contiene i seguenti esempi di accesso sensibile al contesto:

  1. Consentire agli utenti di accedere a BigQuery da internet e solo a account di servizio specifici da un intervallo IP specificato
  2. Consenti ai dipendenti di eseguire query su BigQuery da dispositivi attendibili tramite internet e un account di servizio specifico per caricare i dati in privato in un bucket Cloud Storage (dati di origine)

Consenti agli utenti di accedere a BigQuery da internet e solo ad account di servizio specifici da un intervallo IP specificato

Ingresso da utenti e reti riconosciuti

Supponiamo che tu abbia definito il seguente perimetro, trovato elencando il perimetro 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

Supponiamo inoltre che sia stato definito un livello di accesso denominato CorpDatacenters. In questo esempio, CorpDatacenters è un intervallo di indirizzi IP nella lista consentita dei data center aziendali da cui è consentito l'accesso degli account di servizio.

Di seguito è riportato il criterio di indicazione per consentire a tutti gli utenti e a un insieme specifico di account di servizio, limitato a un determinato insieme di IP (definito da un livello di accesso):

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

Applica le regole di ingresso eseguendo il seguente comando:

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

Consenti ai dipendenti di eseguire query su BigQuery e caricare i dati in privato in un bucket Cloud Storage

Ingresso da dispositivi e reti riconosciuti

Supponiamo che tu abbia definito il seguente perimetro, trovato elencando il perimetro 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

Di seguito è riportato il criterio di indirizzamento per consentire agli utenti di accedere alle visualizzazioni BigQuery da dispositivi attendibili (utilizzando un livello di accesso) e un account di servizio specifico privato per accedere a Cloud Storage da una rete VPC autorizzata:

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

Applica le regole di ingresso eseguendo il seguente comando:

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

Per informazioni sui limiti delle reti VPC quando utilizzi le reti VPC nei perimetri di servizio, consulta Limiti delle reti VPC.