Le configurazioni delle regole di accesso sensibile al contesto consentono l'accesso alle risorse in base ad attributi del client come l'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 in entrata e in uscita, consulta Regole in entrata e in uscita.
Per istruzioni su come applicare i criteri per le regole in entrata e in uscita, consulta Configurazione dei criteri di 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:
- Consenti agli utenti umani di accedere a BigQuery da internet e solo ad account di servizio specifici accedono da un intervallo IP specificato
- Consenti ai dipendenti di eseguire query in BigQuery da dispositivi attendibili su internet e un account di servizio specifico per caricare privatamente i dati 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 anche che sia stato definito un livello di accesso denominato CorpDatacenters. CorpDatacenters, in questo esempio, è un intervallo consentito di IP aziendali i data center con cui è consentito l'accesso agli account di servizio.
Ecco il criterio direzionale per consentire a tutti gli esseri umani e un insieme specifico di servizi limitati a un particolare insieme di IP (definiti 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 in entrata eseguendo questo 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
Ecco il criterio direzionale per consentire agli esseri umani di accedere alle viste BigQuery da dispositivi attendibili (utilizzando un livello di accesso) e da 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 in entrata eseguendo questo 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.