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:
- Consentire agli utenti di accedere a BigQuery da internet e solo a account di servizio specifici da un intervallo IP specificato
- 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
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
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.