Este documento descreve como pode usar o acesso sensível ao contexto para proteger diferentes tipos de apps e recursos. O acesso sensível ao contexto é uma abordagem de segurança em que controla o acesso dos utilizadores com base na respetiva força de autenticação, postura do dispositivo, localização de rede, localização geográfica ou outros atributos. Esta abordagem vai além da utilização de identidades de utilizadores básicas para acesso de segurança e pode ajudar a implementar um modelo de segurança de confiança zero para melhorar o seu comportamento de segurança geral. Para ver detalhes sobre as práticas recomendadas, consulte o artigo Práticas recomendadas para proteger apps e recursos através do acesso sensível ao contexto.
Para ajudar a proteger as suas apps e Google Cloud recursos, pode definir controlos de acesso detalhados com base numa variedade e combinação de fatores contextuais. Pode usar o Gestor de contexto de acesso para definir políticas de acesso, que contêm níveis de acesso e parâmetros de serviço.
Este documento destina-se a todos os profissionais de segurança responsáveis pela gestão de identidade e acesso (IAM) e pela segurança dos Google Cloud recursos e das apps. Este documento pressupõe que já conhece o Access Context Manager, Google Cloude a gestão do IAM.
Níveis de acesso
Os níveis de acesso permitem-lhe definir um conjunto de requisitos que os utilizadores e os respetivos dispositivos têm de cumprir para atingir um determinado nível de confiança.
Por exemplo, pode usar o Gestor de contexto de acesso para configurar os seguintes níveis de acesso para a sua organização:
- Básico: um conjunto básico de requisitos que considera ser o nível mínimo.
- Médio: um conjunto de requisitos mais rigoroso que espera que os funcionários e os dispositivos corporativos cumpram. Este nível de acesso pode excluir utilizadores da força de trabalho alargada e dispositivos não empresariais.
- Elevado: requisitos rigorosos que apenas determinados funcionários e dispositivos cumprem.
Um nível de acesso por si só não tem qualquer efeito imediato nos utilizadores nem nos dispositivos. O nível de acesso especifica requisitos, mas não define os utilizadores, as apps nem os recursos nos quais esses requisitos devem ser aplicados. Um nível de acesso é como uma parte reutilizável da configuração à qual pode fazer referência quando configura o acesso a apps ou recursos específicos.
Google Cloud permite-lhe 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 outras apps e serviços fora do Google Cloud
- A Google Cloud consola e as Google Cloud APIs
- Perímetros de serviço da nuvem virtual privada (VPC)
- Identity-Aware Proxy (IAP) para acesso SSH e RDP
- IAP para apps Web
Apps e recursos
As secções seguintes descrevem como pode aplicar níveis de acesso aos diferentes tipos de apps e recursos, e como os processos diferem entre os diferentes tipos.
Google Workspace e outras apps e serviços fora do Google Cloud
As apps e os serviços fora do Google Cloud que suportam o acesso sensível ao contexto incluem o seguinte:
- consola do administrador Google
- Apps do Google Workspace, como o Gmail, o Google Meet e o Calendário Google
- Outras apps Google, como o Gemini ou o Looker Studio
- Apps SAML personalizadas
Para restringir o acesso ao Google Workspace e a apps e serviços fora do Google Cloud, configure o acesso sensível ao contexto para cada serviço ou app individualmente na consola do administrador. Na consola do administrador, faz o seguinte:
Defina o âmbito ao qual quer aplicar um nível de acesso. Um âmbito é uma combinação do seguinte:
- Um serviço específico ou uma app SAML a proteger.
- Uma unidade organizacional (UO) ou um grupo que contenha utilizadores relevantes.
Selecione o nível de acesso a aplicar ao âmbito selecionado.
Quando atribui um nível de acesso, também pode alterar as definições desse nível de acesso. Pode especificar que o nível de acesso só se aplica quando os utilizadores acedem diretamente à app Web. Em alternativa, pode especificar que o nível também se aplica quando as apps para dispositivos móveis e outras apps acedem à API. Para ver detalhes, consulte o artigo Comportamento das apps com base nas definições do nível de acesso em "Atribua níveis de acesso sensível ao contexto a apps".
Pode haver mais do que uma atribuição que se aplique a um utilizador e a uma app específicos. Por exemplo, um utilizador pode ser membro da UO Funcionários e membro da equipa all-apac. A UO e o grupo respetivos podem ter níveis de acesso diferentes atribuídos. Neste caso, o Cloud ID e o Google Workspace aplicam apenas uma das atribuições, que é a que tem a prioridade mais elevada:
- As atribuições baseadas em grupos têm uma prioridade mais elevada do que as atribuições baseadas em UOs.
- Nos grupos, pode personalizar a respetiva prioridade relativa.
- Nas UOs, a UO raiz tem a prioridade relativa mais baixa.
O Cloud ID e o Google Workspace permitem-lhe rever e analisar eventos de acesso sensível ao contexto no registo de acesso sensível ao contexto.
A Google Cloud consola e as Google Cloud APIs
Pode configurar o acesso sensível ao contexto à Google Cloud consola e às Google Cloud APIs através de associações de acesso.
Google Cloud As APIs usam o OAuth 2.0 para autenticação. Para usar uma API Google Cloud, os utilizadores precisam de uma chave de acesso OAuth válida emitida pela Google, e a chave tem de ser emitida para um dos Google Cloud âmbitos do OAuth. As vinculações de acesso restringem a capacidade dos utilizadores de adquirir essas chaves de acesso. Como resultado, as associações de acesso limitam o acesso à consola e a todas as apps OAuth que usam âmbitos OAuth, como as seguintes: Google Cloud Google Cloud
- A CLI gcloud
- Ferramentas de terceiros, como o Terraform
- Apps OAuth que criou e que usam um Google Cloud âmbito OAuth
Uma associação de acesso associa um grupo a um nível de acesso. Cada grupo só pode ter uma associação de acesso. Cada associaçã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 predefinido.
Se uma associação de acesso especificar uma definição de acesso com âmbito e um nível de acesso predefinido, os dois níveis de acesso são combinados através da semântica OR
.
Em seguida, um utilizador só tem de cumprir um dos níveis de acesso para aceder à app OAuth.
Uma associação de acesso aplica-se a membros diretos e indiretos do grupo. Se um utilizador for membro de vários grupos, podem aplicar-se-lhe várias associações de acesso, o que pode resultar em vários níveis de acesso. Neste caso, os níveis de acesso também são combinados através da semântica OR
, o que significa que o utilizador só tem de cumprir um dos níveis de acesso.
Perímetros de serviço da VPC
Quando cria um perímetro de serviço da VPC, especifica uma lista de serviços restritos. É possível aceder aos serviços restritos a partir do perímetro de serviço, mas, por predefinição, não é possível aceder aos mesmos a partir de fora do perímetro de serviço.
Para permitir o acesso a partir do exterior do perímetro de serviço, use regras de entrada. As regras de entrada permitem-lhe especificar as condições sob as quais quer permitir o acesso externo. Pode usar níveis de acesso para permitir que uma regra de entrada aplique o acesso sensível ao contexto.
Um perímetro de serviço da VPC pode ter várias regras de entrada. Como resultado, podem aplicar-se mais do que uma regra de entrada a um utilizador e uma app específicos, e estas regras de entrada podem exigir diferentes níveis de acesso. Neste caso, os níveis de acesso são avaliados através da semântica OR
e o utilizador só tem de cumprir um dos níveis de acesso.
Pode combinar associações de acesso com regras de entrada do perímetro de serviço da VPC. Se as associações de acesso e as regras de entrada especificarem diferentes níveis de acesso para um utilizador e uma app específicos, os níveis são combinados através da semântica AND
. Nesse caso, o utilizador tem de cumprir ambos os níveis de acesso.
Para rever e analisar as tentativas de acesso a recursos num perímetro de serviço da VPC, pode usar os registos de auditoria dos VPC Service Controls ou o analisador de violações dos VPC Service Controls.
Acesso SSH e RDP a VMs
Pode configurar o acesso sensível ao contexto para o acesso SSH e RDP a VMs através do encaminhamento TCP do IAP.
O encaminhamento TCP do IAP suporta associações de acesso e regras de entrada do perímetro de serviço da VPC. As associações de acesso para a Google Cloud consola e as APIs Cloud aplicam-se automaticamente ao encaminhamento TCP do IAP.
Se o seu perímetro de serviço incluir o serviço
iaptunnel.googleapis.com
como um serviço restrito, as suas regras de entrada
aplicam-se automaticamente ao encaminhamento TCP do IAP. Para ver detalhes sobre as práticas
recomendadas, consulte o artigo
Inclua o encaminhamento TCP do IAP como um serviço restrito.
Também pode configurar o acesso sensível ao contexto através das condições do IAM. Pode usar as condições de IAM como alternativa às associações de acesso e às regras de entrada do perímetro de serviço da VPC, ou usá-las todas em conjunto.
Conceda a um utilizador ou a um grupo a função de utilizador do túnel protegido por IAP (
roles/iap.tunnelResourceAccessor
). Em seguida, na associação de funções, adicione uma expressão de condição da IAM que exige que o utilizador cumpra um determinado nível de acesso. Por exemplo, a expressão pode ter um aspeto semelhante ao seguinte:"accessPolicies/123/accessLevels/fully-trusted" in request.auth.access_levels
Opcionalmente, pode personalizar a condição do IAM para exigir vários níveis de acesso ou incluir outras verificações.
Um utilizador e uma app específicos podem estar sujeitos a uma associação de acesso, a uma regra de entrada e a uma condição do IAM quando o utilizador e a app acedem ao encaminhamento TCP do IAP. Neste cenário, os níveis de acesso são combinados através da semântica AND
e o utilizador tem de cumprir todos os níveis de acesso.
Para rever e analisar as tentativas de acesso ao encaminhamento TCP do IAP, tem de ativar os registos de auditoria de acesso a dados para o IAP.
Apps Web
Pode configurar o acesso sensível ao contexto para apps Web através da IAP.
As CNA para apps Web diferem da respetiva contrapartida de encaminhamento de TCP de CNA:
- As associações de acesso não se aplicam a apps Web configuradas com o IAP porque a app OAuth que o IAP usa não usa âmbitos do OAuth. Google Cloud
- As regras de entrada do perímetro de serviço da VPC não se aplicam a apps Web configuradas com o IAP porque o IAP não é uma API e não pode ser configurado como um serviço restrito.Google Cloud
Para configurar o acesso sensível ao contexto para apps Web através do IAP, tem de usar condições do IAM:
Conceda a um utilizador ou a um grupo a função de utilizador da app Web protegida por IAP (
roles/iap.httpsResourceAccessor
). Em seguida, na associação de funções, adicione uma expressão de condição da IAM que exige que o utilizador cumpra um determinado nível de acesso. Por exemplo, a expressão pode ter um aspeto semelhante ao seguinte:"accessPolicies/123/accessLevels/fully-trusted" in request.auth.access_levels
Opcionalmente, pode personalizar a condição do IAM para exigir vários níveis de acesso ou incluir outras verificações.
Para rever e analisar as tentativas de acesso a apps Web configuradas com o IAP, tem de ativar os registos de auditoria de acesso a dados para o IAP.
What's Next?
- Práticas recomendadas para proteger apps e recursos através do acesso sensível ao contexto.
- Para ver mais arquiteturas de referência, diagramas e práticas recomendadas, explore o Centro de arquitetura na nuvem.
Colaboradores
Autor: Johannes Passing | Arquiteto de soluções na nuvem
Outro colaborador: Ido Flatow | Arquiteto de soluções na nuvem