As configurações de regras de entrada do acesso sensível ao contexto permitem o acesso a recursos com base em atributos do cliente, como a origem da rede (endereço IP ou rede VPC), o tipo de identidade (conta de serviço ou utilizador), a identidade e os dados do dispositivo. O acesso é definido por regras de entrada.
Para uma vista geral das regras de entrada e saída, consulte o artigo Regras de entrada e saída.
Para obter instruções sobre como aplicar políticas de regras de entrada e saída, consulte o artigo Configurar políticas de entrada e saída.
Exemplos de configuração de exemplos de utilização do acesso sensível ao contexto
Esta secção contém os seguintes exemplos de acesso sensível ao contexto:
- Permitir que os utilizadores humanos acedam ao BigQuery a partir da Internet e que apenas contas de serviço específicas acedam a partir de um intervalo de IP especificado
- Permitir que os funcionários consultem o BigQuery a partir de dispositivos fidedignos através da Internet e de uma conta de serviço específica para carregar dados de forma privada para um contentor do Cloud Storage (dados de origem)
Permitir que os utilizadores humanos acedam ao BigQuery a partir da Internet e que apenas contas de serviço específicas acedam a partir de um intervalo de IPs especificado
Suponha que definiu o seguinte perímetro, encontrado ao listar o perímetro com o 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
Também assumimos que foi definido um nível de acesso denominado CorpDatacenters. CorpDatacenters, neste exemplo, é um intervalo de IPs na lista de autorizações de centros de dados corporativos a partir dos quais as contas de serviço têm autorização de acesso.
Segue-se a política direcional para permitir todos os humanos e um conjunto específico de contas de serviço, limitado a um conjunto específico de IPs (definido por um nível de acesso):
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
Aplique as regras de entrada executando o seguinte comando:
gcloud access-context-manager perimeters update Example --set-ingress-policies=ingress.yaml
Permitir que os funcionários consultem o BigQuery e carreguem dados de forma privada para um contentor do Cloud Storage
Suponha que definiu o seguinte perímetro, encontrado ao listar o perímetro com o 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
Seguem-se as políticas direcionais para permitir que os humanos acedam às vistas do BigQuery a partir de dispositivos fidedignos (através de um nível de acesso) e uma conta de serviço específica privada para aceder ao Cloud Storage a partir de uma rede VPC autorizada:
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
Aplique as regras de entrada executando o seguinte comando:
gcloud access-context-manager perimeters update Example --set-ingress-policies=ingress.yaml
Para obter informações sobre as limitações das redes VPC quando usa redes VPC em perímetros de serviço, consulte o artigo Limitações da rede VPC.