Acesso sensível ao contexto com regras de entrada

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:

  1. 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
  2. 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

Entrada de utilizadores e redes reconhecidos

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

Entrada a partir de dispositivos e redes reconhecidos

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.