Le configurazioni delle regole di accesso sensibile al contesto consentono l'accesso alle risorse in base ad attributi 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 in entrata.
Per una panoramica delle regole in entrata e in uscita, vedi Regole in entrata e in uscita.
Per istruzioni su come applicare i criteri delle regole in entrata e in uscita, consulta Configurazione dei criteri per il traffico in entrata e in uscita.
Esempi di configurazione di casi d'uso sensibili all'accesso sensibili al contesto
Questa sezione contiene i seguenti esempi di accesso sensibile al contesto:
- Consenti agli utenti umani di accedere a BigQuery da Internet e a determinati account di servizio solo da un intervallo IP specificato
- Consenti ai dipendenti di eseguire query su BigQuery da dispositivi attendibili su Internet e da 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 a determinati account di servizio solo da un intervallo IP specificato
Supponi di aver definito il seguente perimetro, che puoi trovare 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
Si presuppone anche che sia stato definito un livello di accesso denominato CorpDatacenters. CorpDatacenters, in questo esempio, è un intervallo di IP consentiti nella lista consentita dei data center aziendali da cui sono consentiti account di servizio.
Di seguito è riportato il criterio direzionale per consentire tutti gli utenti umani e un insieme specifico di account di servizio, limitato a un particolare 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 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 privatamente i dati su un bucket Cloud Storage
Supponi di aver definito il seguente perimetro, che puoi trovare 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 direzionale per consentire agli utenti di accedere alle viste BigQuery da dispositivi attendibili (utilizzando un livello di accesso) e a 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 reti VPC nei perimetri di servizio, consulta le limitazioni di rete VPC.