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 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 di 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 umani di accedere a BigQuery da internet e solo ad account di servizio specifici da un intervallo IP specificato
Supponi di aver definito il seguente perimetro, che trovi elenca 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 data center autorizzati a cui accedono gli 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 in BigQuery e caricare privatamente i dati in un bucket Cloud Storage
Supponi di aver definito il seguente perimetro, che trovi elenca 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 sulle limitazioni delle reti VPC quando utilizzi VPC reti nei perimetri di servizio, vedi Limitazioni della rete VPC.