Solução de problemas usando o solucionador de problemas de políticas do BeyondCorp Enterprise

O BeyondCorp Enterprise oferece uma ferramenta de solução de problemas que pode ser usada pelos administradores para fazer uma triagem e analisar o acesso de um usuário final.

O BeyondCorp Enterprise permite que as empresas criem regras avançadas para fornecer acesso baseado em contexto. No entanto, quando você aplica várias regras de acesso a recursos, desde as restrições de localização até as regras de dispositivos, pode ficar difícil entender como as políticas são avaliadas e por que um usuário final tem acesso ao recurso de destino ou não.

Graças ao solucionador de problemas de políticas, é possível identificar por que o acesso falhou ou não e, se necessário, alterar a política e apresentar instruções para o usuário final modificar o contexto para permitir o acesso ou remover a vinculação para negar o acesso inesperado.

O solucionador de problemas de políticas é uma ferramenta valiosa para organizações que precisam aplicar várias regras a vários recursos para diferentes grupos de usuários.

Antes de começar

O solucionador de problemas de políticas é um recurso premium e requer uma licença do BeyondCorp Enterprise.

Para maximizar a eficácia do solucionador de problemas de políticas, verifique se você tem o papel Revisor de segurança (roles/iam.securityReviewer). Isso garante que seja possível ler todas as políticas do Cloud IAM aplicáveis.

Para resolver problemas de acesso de um dispositivo, você precisa ter permissão para ver os detalhes. Se as políticas associadas ao recurso de destino tiverem políticas do dispositivo, como um nível de acesso que exige a criptografia dele, talvez você não receba resultados precisos, a menos que a permissão para recuperar os detalhes do dispositivo do principal de destino seja verificada. O superadministrador do Google Workspace, o administrador de serviços e o administrador de dispositivos móveis geralmente têm acesso para ver os detalhes do dispositivo. Para permitir que um usuário que não é um superadministrador, um administrador de serviços ou administrador de dispositivos móveis resolva o problema de acesso, siga estas etapas:

  1. Crie um papel personalizado de administrador do Google Workspace com o privilégio Serviços > Gerenciamento de dispositivos móveis > Gerenciar dispositivos e configurações (em Privilégios do Admin Console).
  2. Atribua a função aos usuários pelo Admin Console.

Para resolver os problemas de um acesso concedido por um grupo do Google Cloud, é preciso ter permissão para ver os membros dele. Se as políticas tiverem um grupo, você precisará ter permissão para ver os detalhes do grupo antes de abri-lo. Os superadministradores e administradores de grupo do Google Workspace geralmente têm acesso para visualizar associação ao grupo. Para permitir que um usuário que não é um superadministrador ou administrador de grupo resolva o problema de acesso, siga estas etapas:

  1. Crie uma papel personalizado de administrador do Google Workspace com o privilégio Grupos > Ler (em Privilégios da API Admin).
  2. Atribua a função ao usuário. Isso permite que o usuário visualize a associação de todos os grupos dentro do seu domínio e solucione problemas de acesso com mais eficiência.

A permissão Função personalizada é opcional. Se você não tiver permissão para visualizar uma função personalizada, talvez não seja possível dizer se um principal tem acesso a ela a partir de vinculações com funções personalizadas.

Visão geral do fluxo de trabalho do solucionador de problemas

Solução de problemas de acesso negado

Para resolver problemas de acesso negado, ative um recurso nas configurações do IAP. Para isso, clique nos três pontos à direita do aplicativo protegido por IAP, Configurações, e selecione Gerar um URL de solução de problemas. Para maximizar a eficácia do solucionador de problemas de políticas, verifique se você tem o papel Administrador de configurações do IAP (roles/iap.settingsAdmin). Isso garante que você possa recuperar e atualizar as configurações do IAP de todos os recursos do IAP.

Os URLs de solução de problemas são apresentados somente nas páginas 403 padrão, quando ativados.

O solucionador de problemas de políticas oferece uma interface do usuário em que é possível ver os resultados da avaliação detalhada de todas as políticas em vigor no recurso do IAP de destino. Quando um acesso de usuário falha, a página 403 mostra um URL do solucionador de problemas. Ao acessá-lo, o solucionador de problemas de políticas mostra os detalhes das vinculações com falha e a análise dos níveis de acesso com falha, se houver nas vinculações. Também é possível usar o solucionador de problemas para ver detalhes do acesso de um usuário a um recurso.

Acesso do usuário negado

Quando um usuário não tem a permissão ou não atende à condição necessária para acessar um recurso do IAP, ele é direcionado para uma página de erro de acesso 403. A página 403 inclui um URL de solução de problemas que pode ser copiado e enviado manualmente ao proprietário ou ao administrador de segurança do aplicativo, ou o usuário pode clicar em Enviar e-mail na interface do usuário.

Quando um usuário clica em Enviar e-mail, uma mensagem é enviada para o endereço de e-mail de suporte (supportEmail) configurado na tela de permissão OAuth. Para mais informações sobre como configurar a tela de permissão OAuth, consulte Como criar clientes OAuth de maneira programática para IAP.

Solução de problemas de falha no acesso

Quando você receber o link de uma falha na solicitação de acesso de um usuário final, clique no URL, que será aberto no navegador padrão. Se você não tiver feito login no Console do Google Cloud no navegador padrão, poderá ser redirecionado para outra página de login para acessar a página de análise do solucionador de problemas de políticas.

A página de análise do solucionador de problemas de políticas apresenta um resumo, uma visualização de política do IAM e uma tabela que mostra o contexto de um usuário e do dispositivo, como endereço do principal, ID do dispositivo, recurso do IAP acessado e assim por diante.

O resumo é uma visão agregada de todas as descobertas relevantes sobre políticas e assinaturas. A visualização da política do IAM mostra uma lista dos resultados da avaliação das vinculações efetivas do IAM, concedidas ou não, com uma visualização geral do local em que as falhas ocorreram, como Principal não é membro e não atende às condições.

Para analisar melhor o acesso com falha, consulte Detalhes da vinculação. Em Detalhes da vinculação, é possível ver os componentes da vinculação, Papel, Principal e Condição. O componente que tem permissões suficientes apresentará Nenhuma ação necessária. Nos componentes em que o acesso falhou, as lacunas nas permissões são explicitamente explicadas, como Categoria principal: adicione Principal aos grupos abaixo.

Na interface do usuário, a seção Vinculações relevantes é ativada por padrão. As vinculações listadas na seção Vinculações relevantes não são uma lista abrangente, e sim as vinculações mais relevantes que podem ser do seu interesse ao solucionar um problema de acesso específico. As políticas em vigor associadas a um recurso específico podem conter muitas vinculações irrelevantes para seu recurso, como uma permissão do Cloud Storage concedida para envolvidos no projeto. Detalhes irrelevantes são filtrados.

Para investigar melhor uma Condição com falha, consulte as Explicações do nível de acesso. Os detalhes do Nível de acesso indicam onde ocorreu a falha e sugerem correções para resolvê-la. É possível propagar as ações necessárias de volta para o usuário ou corrigir as políticas, se necessário. Por exemplo, é possível enviar a seguinte ação de volta ao usuário: Falha na solicitação porque o dispositivo não é corporativo.

Como ativar o URL de solução de problemas para a página de erro personalizada Access Denied

Para adicionar o URL do solucionador de problemas de políticas à página de erro do cliente Access Denied, siga estas etapas:

  1. Para redirecionar seus usuários à página personalizada em vez da página de erro padrão do IAP, siga esta etapa: Como configurar uma página de erro personalizada de acesso negado.
  2. Ative o recurso de URL do solucionador de problemas de políticas nas configurações do IAP.

Depois de configurar o URL da página access denied nas configurações do IAP, o URL do solucionador de problemas de políticas é incorporado como um parâmetro de consulta com escape. Certifique-se de unescape do parâmetro de consulta com escape antes de abri-lo. A chave do parâmetro de consulta é troubleshooting-url.

Solução proativa de problemas de acesso do usuário

Para resolver problemas hipotéticos e gerar insights e visibilidade das suas políticas de segurança, use o solucionador de problemas de políticas, no painel de segurança da página de destino do BeyondCorp Enterprise. Por exemplo, é possível verificar o acesso de um usuário a um recurso protegido para IAP em particular e investigar se ele é realmente necessário. Outro exemplo é quando você faz uma alteração de política em um recurso protegido pelo IAP e quer garantir que o superadministrador ainda tenha acesso. Acesse o Google Admin Device Console para receber o ID do dispositivo do superadministrador e use o ID no solucionador de problemas para verificar o acesso.

Ao solucionar problemas de solicitações hipotéticas, é possível verificar se um usuário tem as permissões certas para acessar um recurso do IAP antes de um evento real de acesso negado. Para isso, use o e-mail do usuário, o recurso de IAP de destino e qualquer contexto de solicitação opcional, incluindo o endereço IP, o carimbo de data/hora, o ID ou o contexto do dispositivo.

Ao resolver problemas relacionados a solicitações hipotéticas usando o ID do dispositivo, verifique se ele pertence ao e-mail principal de destino. É possível acessar o ID do dispositivo no registro de auditoria do IAP ou no Google Admin Console -> Dispositivos > Dispositivos móveis e endpoints > Dispositivos.

Os seguintes atributos são compatíveis com o solucionador de problemas para solicitações hipotéticas que usam o contexto do dispositivo:

  • is_secured_with_screenlock
  • encryption_status
  • os_type
  • os_version
  • verified_chrome_os
  • is_admin_approved_device
  • is_corp_owned_device

Cenários comuns de solução de problemas

Veja a seguir alguns cenários comuns que pode encontrar ao trabalhar com o solucionador de problemas de políticas:

  • Você fornece uma ação necessária ao usuário final após a solução de problemas, por exemplo, instruir o usuário final a mudar para um dispositivo corporativo ou atualizar o sistema operacional.
  • Você descobre que não atribuiu a permissão correta ao usuário final. Por isso, você cria uma nova vinculação para o principal de destino na interface do IAP (roles/iap.httpsResourceAccessor).
  • Você descobre que criou um nível de acesso incorretamente pelos seguintes motivos, por exemplo:
    • Você criou restrições complicadas de atributos aninhados, como sub-redes corporativas, que não se aplicam mais porque os funcionários agora estão trabalhando de casa.
    • Você aplicou parâmetros de nível de acesso incorretos. Por exemplo, você especificou que os usuários podem criar um nível personalizado com restrições de fornecedor, mas comparar atributos com tipos diferentes. Por exemplo, device.vendors["vendorX"].data.["should_contain_boolean_value"] == "true". O lado esquerdo retorna um valor booleano, enquanto o direito retorna uma string true. Devido aos atributos não equivalentes, é difícil detectar o erro no modelo de política. O solucionador de problemas de políticas ajuda explicando que isso é avaliado como um erro, com resultados detalhados da avaliação parcial em ambos os lados.

Comportamento desejado do solucionador de problemas

A solução de problemas é feita nos acessos restritos usando as políticas atuais e informações do dispositivo com o carimbo de data/hora atual. Portanto, se você sincronizou o dispositivo ou alterou as políticas após a negação do acesso restrito, não será possível resolver problemas usando dados e contextos antigos. Você usará os contextos e dados atuais para a solução de problemas.

Dicas para solução de problemas de vinculações

Para qualquer componente (Papel, Principal, Condição) de qualquer vinculação com erros de autorização, conceda as permissões necessárias se quiser verificar os resultados da solução de problemas dessas vinculações.

Se a verificação de papel falhar em uma vinculação, realize as seguintes ações:

  • Verifique outras vinculações ou crie uma nova vinculação usando a interface do IAP para conceder o papel roles/iap.httpsResourceAccessor ao principal com níveis de acesso aplicados, se necessário.
  • Se for um papel personalizado, será possível adicionar a permissão de destino ao papel personalizado para conceder a permissão (depois de corrigir qualquer falha de principal e falha de condição, quando aplicável). Adicionar permissões a um papel personalizado que já existe pode conceder outras vinculações com esse papel com mais permissões do que é necessário. Só faça isso se souber o escopo do papel personalizado e o risco da operação.
  • Se não for um papel personalizado, verifique outras vinculações ou crie uma nova vinculação usando a interface do IAP para conceder o papel roles/iap.httpsResourceAccessor ao principal com os níveis de acesso aplicados, se necessário.

Se a verificação do papel for bem-sucedida, mas a verificação do principal falhar, realize as seguintes ações:

  • Se os membros tiverem um grupo, será possível adicionar o principal ao grupo para conceder permissões (depois de corrigir qualquer falha de condição, quando aplicável). Adicionar principal a um grupo que já existe pode conceder ao grupo mais permissão do que é necessário. Só faça isso se souber o escopo do grupo e o risco da operação.
  • Se os membros não tiverem um grupo, verifique outras vinculações ou crie uma nova vinculação usando a interface do IAP para conceder o roles/iap.httpsResourceAccessor ao principal com os níveis de acesso aplicados, se necessário.

Se a verificação do principal e do papel forem bem-sucedidas, mas a condição falhar, verifique os detalhes da solução de problemas de cada nível de acesso individual listado na condição, se a condição consistir apenas em níveis de acesso conectados com o operador lógico OR.