Proteja apps e recursos usando o acesso baseado no contexto

Last reviewed 2025-07-22 UTC

Neste documento, descrevemos como usar o acesso baseado no contexto para proteger diferentes tipos de apps e recursos. O acesso baseado no contexto é uma abordagem de segurança em que você controla o acesso dos usuários com base na força de autenticação, na postura do dispositivo, na localização da rede, na localização geográfica ou em outros atributos. Essa abordagem vai além do uso de identidades básicas de usuário para acesso de segurança e pode ajudar você a implementar um modelo de segurança de confiança zero para melhorar sua postura de segurança geral. Para mais detalhes sobre as práticas recomendadas, consulte Práticas recomendadas para proteger apps e recursos usando o acesso baseado no contexto.

Para ajudar a proteger seus apps e recursos do Google Cloud , é possível definir controles de acesso granulares com base em uma variedade e combinação de fatores contextuais. Use o Access Context Manager para definir políticas de acesso, que contêm níveis de acesso e parâmetros de serviço.

Este documento é destinado a qualquer profissional de segurança responsável pelo Identity and Access Management (IAM) e pela segurança de recursos e apps do Google Cloud . Este documento pressupõe que você já conhece o Access Context Manager, oGoogle Cloude o gerenciamento do IAM.

Níveis de acesso

Com os níveis de acesso, é possível definir um conjunto de requisitos que os usuários e os dispositivos deles precisam atender para alcançar um determinado nível de confiança.

Por exemplo, é possível usar o Access Context Manager para configurar os seguintes níveis de acesso para sua organização:

  • Básico: um conjunto básico de requisitos que você considera o nível mínimo.
  • Médio: um conjunto mais rigoroso de requisitos que você espera que os funcionários e os dispositivos corporativos atendam. Esse nível de acesso pode excluir colaboradores terceirizados e dispositivos não corporativos.
  • Alta: requisitos rígidos que apenas alguns funcionários e dispositivos atendem.

Um nível de acesso por si só não tem efeito imediato sobre usuários ou dispositivos. O nível de acesso especifica os requisitos, mas não define os usuários, apps ou recursos em que esses requisitos devem ser aplicados. Um nível de acesso é como uma parte reutilizável da configuração que pode ser consultada ao configurar o acesso a apps ou recursos específicos.

OGoogle Cloud permite usar níveis de acesso para vários tipos diferentes de apps ou recursos, incluindo os seguintes, que são descritos neste documento:

  • Google Workspace e outros apps e serviços fora do Google Cloud
  • O console do Google Cloud e as APIs do Google Cloud
  • Perímetros de serviço de nuvem privada virtual (VPC)
  • Identity-Aware Proxy (IAP) para acesso SSH e RDP
  • IAP para apps da Web

Apps e recursos

As seções a seguir descrevem como aplicar níveis de acesso aos diferentes tipos de apps e recursos e como os processos diferem entre os diferentes tipos.

Google Workspace e outros apps e serviços fora do Google Cloud

Os apps e serviços fora do Google Cloud que são compatíveis com o acesso baseado no contexto incluem:

  • Google Admin Console
  • Apps do Google Workspace, como Gmail, Google Meet e Google Agenda
  • Outros apps do Google, como o Gemini ou o Data Studio
  • Apps SAML personalizados

Para restringir o acesso ao Google Workspace e a apps e serviços fora do Google Cloud, configure o acesso baseado no contexto para cada serviço ou app individualmente no Admin Console. No Admin Console, faça o seguinte:

  • Defina o escopo em que você quer aplicar um nível de acesso. Um escopo é uma combinação do seguinte:

    • Um serviço ou app SAML específico para proteger.
    • Uma unidade organizacional (UO) ou um grupo que contém usuários relevantes.
  • Selecione o nível de acesso que será aplicado ao escopo selecionado.

Ao atribuir um nível de acesso, você também pode mudar as configurações dele. É possível especificar que o nível de acesso só se aplica quando os usuários acessam o app da Web diretamente. Ou você pode especificar que o nível também se aplica quando apps para dispositivos móveis e outros apps acessam a API. Para mais detalhes, consulte Comportamento do app com base nas configurações de nível de acesso em "Atribuir níveis de acesso baseado no contexto a apps".

Pode haver mais de uma atribuição para um usuário e um app específicos. Por exemplo, um usuário pode ser membro da UO Employees e da equipe all-apac. A UO e o grupo podem ter níveis de acesso diferentes atribuídos a eles. Nesse caso, o Cloud Identity e o Google Workspace aplicam apenas uma das atribuições, que é aquela com a prioridade mais alta:

  • As atribuições baseadas em grupos têm prioridade mais alta do que as baseadas em UOs.
  • Dentro dos grupos, é possível personalizar a prioridade relativa.
  • Entre as UOs, a UO raiz tem a prioridade relativa mais baixa.

O Cloud Identity e o Google Workspace permitem que você analise eventos de acesso baseado no contexto no registro de acesso baseado no contexto.

O console do Google Cloud e as APIs do Google Cloud

É possível configurar o acesso baseado no contexto ao console do Google Cloud e às APIs doGoogle Cloud usando vinculações de acesso.

Google Cloud As APIs usam o OAuth 2.0 para autenticação. Para usar uma API do Google Cloud, os usuários precisam de um token de acesso OAuth válido emitido pelo Google, e o token precisa ser emitido para um dos escopos do OAuth doGoogle Cloud . As vinculações de acesso restringem a capacidade dos usuários de adquirir esses tokens de acesso. Como resultado, as vinculações de acesso limitam o acesso ao console do Google Cloud e a todos os apps OAuth que usam escopos do OAuth do Google Cloud , como os seguintes:

Uma vinculação de acesso vincula um grupo a um nível de acesso. Cada grupo pode ter apenas uma vinculação de acesso. Cada vinculação de acesso pode definir as seguintes configurações:

  • Uma lista scopedAccessSettings que atribui níveis de acesso a apps OAuth individuais.
  • Um nível de acesso padrão.

Se uma vinculação de acesso especificar uma configuração de acesso com escopo e um nível de acesso padrão, os dois níveis de acesso serão combinados usando a semântica OR. Em seguida, o usuário precisa atender a apenas um dos níveis de acesso para acessar o app OAuth.

Uma vinculação de acesso se aplica aos membros diretos e indiretos do grupo. Se um usuário for membro de vários grupos, várias vinculações de acesso poderão ser aplicadas a ele, o que pode resultar em vários níveis de acesso. Nesse caso, os níveis de acesso também são combinados usando a semântica OR, o que significa que o usuário precisa atender a apenas um dos níveis de acesso.

Perímetros de serviço VPC

Ao criar um perímetro de serviço de VPC, você especifica uma lista de serviços restritos. Os serviços restritos podem ser acessados de dentro do perímetro de serviço, mas, por padrão, não podem ser acessados de fora do perímetro de serviço.

Para permitir o acesso de fora do perímetro de serviço, use regras de entrada. As regras de entrada permitem especificar as condições em que você quer permitir o acesso externo. É possível usar níveis de acesso para permitir que uma regra de entrada aplique o acesso baseado no contexto.

Um perímetro de serviço do VPC pode ter várias regras de entrada. Como resultado, mais de uma regra de entrada pode ser aplicada a um usuário e app específicos, e essas regras podem exigir níveis de acesso diferentes. Nesse caso, os níveis de acesso são avaliados usando a semântica OR, e o usuário precisa atender a apenas um dos níveis de acesso.

É possível combinar vinculações de acesso com regras de entrada do perímetro de serviço da VPC. Se as vinculações de acesso e as regras de entrada especificarem níveis de acesso diferentes para um usuário e um app específicos, os níveis serão combinados usando a semântica AND. Nesse caso, o usuário precisa atender aos dois níveis de acesso.

Para analisar as tentativas de acessar recursos em um perímetro de serviço do VPC Service Controls, use os registros de auditoria do VPC Service Controls ou o analisador de violações do VPC Service Controls.

Acesso SSH e RDP a VMs

É possível configurar o acesso baseado no contexto para acesso SSH e RDP a VMs usando o encaminhamento de TCP do IAP.

O encaminhamento de TCP do IAP é compatível com vinculações de acesso e regras de entrada de perímetro de serviço de VPC. As vinculações de acesso para o console do Google Cloud e as APIs do Cloud são aplicadas automaticamente ao encaminhamento de TCP do IAP.

Se o perímetro de serviço incluir o serviço iaptunnel.googleapis.com como um serviço restrito, as regras de entrada serão aplicadas automaticamente ao encaminhamento de TCP do IAP. Para mais detalhes sobre as práticas recomendadas, consulte Incluir o encaminhamento de TCP do IAP como um serviço restrito.

Também é possível configurar o acesso baseado no contexto usando as condições do IAM. É possível usar as condições do IAM como alternativa às vinculações de acesso e às regras de entrada do perímetro de serviço da VPC ou usar todas elas juntas.

  • Conceda a um usuário ou grupo o papel de usuário do túnel protegido pelo IAP (roles/iap.tunnelResourceAccessor). Em seguida, na vinculação de papel, adicione uma expressão de condição do IAM que exija que o usuário atenda a um determinado nível de acesso. Por exemplo, a expressão pode ser semelhante a esta:

    "accessPolicies/123/accessLevels/fully-trusted" in request.auth.access_levels
    
  • Se quiser, você pode personalizar a condição do IAM para exigir vários níveis de acesso ou incluir outras verificações.

Um usuário e um app específicos podem estar sujeitos a uma vinculação de acesso, uma regra de entrada e uma condição do IAM quando o usuário e o app acessam o encaminhamento de TCP do IAP. Nesse cenário, os níveis de acesso são combinados usando a semântica AND, e o usuário precisa atender a todos os níveis de acesso.

Para analisar as tentativas de acessar o encaminhamento de TCP do IAP, é necessário ativar os registros de auditoria de acesso a dados para o IAP.

Apps da Web

É possível configurar o acesso baseado no contexto para apps da Web usando o IAP.

O IAP para apps da Web é diferente do encaminhamento de TCP do IAP:

  • As vinculações de acesso não se aplicam a apps da Web configurados com o IAP porque o app OAuth usado pelo IAP não usa nenhum escopo do OAuth do Google Cloud .
  • As regras de entrada do perímetro de serviço de VPC não se aplicam a apps da Web configurados com o IAP, porque o IAP não é uma API doGoogle Cloud e não pode ser configurado como um serviço restrito.

Para configurar o acesso baseado no contexto para apps da Web usando o IAP, é necessário usar as condições do IAM:

  • Conceda a um usuário ou grupo o papel de usuário do app da Web protegido pelo IAP (roles/iap.httpsResourceAccessor). Em seguida, na vinculação de papel, adicione uma expressão de condição do IAM que exija que o usuário atenda a um determinado nível de acesso. Por exemplo, a expressão pode ser semelhante a esta:

    "accessPolicies/123/accessLevels/fully-trusted" in request.auth.access_levels
    
  • Se quiser, você pode personalizar a condição do IAM para exigir vários níveis de acesso ou incluir outras verificações.

Para analisar as tentativas de acesso a apps da Web configurados com o IAP, é necessário ativar os registros de auditoria de acesso a dados para o IAP.

A seguir

Colaboradores

Autor: Johannes Passing | Arquiteto de soluções na nuvem

Outro colaborador: Ido Flatow | Arquiteto de soluções do Cloud