Revogar acesso a um projeto do Google Cloud

Este documento descreve práticas recomendadas, cenários e procedimentos para revogar o acesso de um usuário a um projeto do Google Cloud . Como cada empresa tem políticas e cargas de trabalho diferentes, recomendamos que você use este documento para criar suas próprias políticas e procedimentos que permitam revogar o acesso de forma consistente e oportuna.

Quando um funcionário deixa a empresa, o contrato com um prestador de serviços chega ao fim ou um colaborador muda para outros projetos, há alguns procedimentos necessários para revogar completamente o acesso desnecessário aos recursos da nuvem.

Alguns desses processos são opcionais. Determine quais etapas serão executadas de acordo com suas necessidades de segurança, os produtos em uso e a confiança na pessoa cujo acesso está sendo revogado.

Práticas recomendadas para configurar um projeto

É possível melhorar a capacidade do projeto de revogar o acesso do usuário de modo eficiente. Isso é feito por meio de escolhas conscientes no momento da configuração.

Federar contas de usuário com seu provedor de identidade atual

Ao federar contas de usuário com seu provedor de identidade atual, propague os eventos de suspensão e exclusão do usuário. Com a propagação, quando você suspende ou remove uma conta de usuário do provedor de identidade, o usuário também perde o acesso aos recursos Google Cloud .

Para mais informações, consulte Práticas recomendadas para federar Google Cloud com um provedor de identidade externo.

Para mais práticas recomendadas relacionadas à identidade, consulte Práticas recomendadas para o planejamento de contas e organizações.

Para saber mais sobre a federação de identidade de colaboradores, consulte Federação de identidade de colaboradores.

Considere usar os Grupos do Google para gerenciar o acesso aos recursos do projeto

Os Grupos do Google permitem que você organize usuários com base na associação a equipes, nos requisitos de acesso ou em outros critérios. Depois de criar Grupos do Google, é possível atribuir acesso a Google Cloud projetos e recursos com base na associação ao grupo. Quando um usuário muda para outra equipe ou função, você pode mover a conta dele para outro grupo, o que remove automaticamente o acesso concedido pelas políticas de permissão ao grupo anterior.

O uso do Google Groups não é apropriado em todas as circunstâncias. Por exemplo, não use grupos baseados apenas na estrutura organizacional da sua empresa para gerenciar o acesso. Para conferir as práticas recomendadas sobre o uso de grupos, consulte Práticas recomendadas para usar o Grupos do Google.

Para mais informações, consulte Como gerenciar grupos no console Google Cloud e Criar um grupo na organização.

Usar o Login do SO

Use o Login do SO em vez das chaves SSH baseadas em metadados para que as chaves autorizadas do usuário sejam vinculadas à identidade do Google. Quando você remove uma conta de usuário, as chaves autorizadas e o acesso às VMs são revogados automaticamente. Para mais informações, consulte Usar o login do SO para garantir a avaliação contínua de acesso em relação às políticas do IAM.

Consulte instruções em Configurar o Login do SO.

Restringir o acesso de contas de usuários externos

Não permita que usuários externos acessem o projeto, porque não é possível controlar o ciclo de vida dessas contas de usuário. Para restringir usuários externos, use a restrição de lista iam.allowedPolicyMemberDomains.

Consulte instruções em Como restringir identidades por domínio.

Usar proxies de autenticação com bancos de dados

Os proxies de autenticação permitem conectar o ciclo de vida das credenciais do banco de dados ao ciclo de vida de uma identidade do Google. Quando você suspende ou exclui uma conta de usuário no Cloud Identity ou no Google Workspace, o acesso aos bancos de dados é revogado automaticamente.

Para mais informações, consulte Proxy de autenticação do Cloud SQL e Proxy de autenticação do AlloyDB para PostgreSQL.

Preparar o ambiente para o rodízio de credenciais

Crie projetos e recursos para permitir o rodízio de credenciais no nível do projeto sem interrupções. Esses segredos são vinculados ao próprio projeto, como chaves de conta de serviço, chaves secretas de clientes OAuth e segredos específicos do aplicativo, como senhas raiz de bancos de dados. Para mais informações, consulte Gerenciar credenciais Google Cloud comprometidas.

Restringir chaves da API

Ao criar e gerenciar chaves da API, restrinja o conjunto de websites, endereços IP e aplicativos que pode usá-las. Uma conta de usuário com papéis como Leitor ou Administrador de chaves de API pode acessar as chaves de API do projeto. Por isso, todas as chaves sem restrições precisam ser trocadas ou excluídas para revogar o acesso ao faturamento. Para mais informações, consulte Proteger uma chave de API.

Monitorar as permissões de acesso

O monitoramento cuidadoso do acesso ajuda a evitar possíveis abusos. Você pode usar o Recomendador de papel do IAM para acompanhar o uso de papéis e ajudar a aplicar o princípio do privilégio mínimo. Além disso, os recursos de Gerenciamento de direitos de infraestrutura em nuvem (CIEM) do Security Command Center permitem que você gerencie quais identidades têm acesso a quais recursos nas implantações e mitigue possíveis vulnerabilidades resultantes de configurações incorretas.

Usar o acesso uniforme no nível do bucket para o Cloud Storage

O acesso uniforme no nível do bucket permite usar o IAM sozinho para gerenciar as permissões dos buckets do Cloud Storage. Use o acesso uniforme no nível do bucket com outras opções de controle de acesso para refinar quem pode acessar o conteúdo nos seus buckets.

Práticas recomendadas adicionais

Além das práticas recomendadas descritas neste documento, analise as seguintes práticas:

Cenários para revogar o acesso a Google Cloud projetos

Se você implementou as práticas recomendadas mencionadas em Práticas recomendadas para configurar seu projeto, a tabela a seguir resume como revogar o acesso.

Cenário Como revogar opções de acesso
Um funcionário sai da empresa. Se você configurar a federação entre o Cloud Identity ou o Google Workspace com o provisionamento automático de usuários, a revogação de acesso poderá acontecer automaticamente.

Se você não seguir as práticas recomendadas e conceder acesso de identidades de usuários externos aos seus recursos, remova manualmente as identidades dos projetos e recursos.
A função de um funcionário muda. Você remove o funcionário do grupo da equipe.
Término de contrato. Se você configurar a federação entre o Cloud Identity ou o Google Workspace com o provisionamento automático de usuários, a revogação de acesso poderá acontecer automaticamente.

Se você não seguir as práticas recomendadas e conceder acesso de identidades de usuários externos aos seus recursos, remova manualmente as identidades dos projetos e recursos.
Uma conta foi comprometida. Para instruções, consulte Processar credenciais Google Cloud comprometidas.

Revogação do acesso

Se você fez boas escolhas na configuração do projeto, os processos a seguir serão uma maneira eficiente de revogar o acesso de uma pessoa.

Para determinar a quais recursos uma pessoa tem acesso, use a Análise de políticas. Para instruções, consulte Analisar políticas do IAM.

Excluir a conta de usuário do provedor de identidade

Se o usuário estiver saindo da organização e você tiver federado o Cloud Identity ou o Google Workspace ao provedor de identidade, com o provisionamento automático de usuários, a revogação de acesso pode acontecer automaticamente.

Para saber como excluir usuários da federação de identidade de colaboradores, consulte Excluir usuários da federação de identidade de colaboradores e os dados deles.

Mover a conta para outro grupo

Se o usuário estiver mudando de papel, remova a conta de usuários dos Grupos do Google atuais. Se você tiver federado o Cloud Identity ou o Google Workspace ao provedor de identidade para gerenciar a associação ao grupo, a revogação de acesso poderá acontecer automaticamente.

Para mais informações, consulte Como visualizar e editar detalhes do grupo.

Remover a conta de usuário das políticas de permissão do IAM

Para remover uma conta de usuário das políticas de permissão no nível do projeto, faça o seguinte:

  1. No console Google Cloud , acesse a página Permissões do IAM.

    Permissões IAM

  2. Selecione o projeto do qual você quer remover uma conta de usuário.

  3. Clique na caixa de seleção ao lado da linha com a conta de usuário que você quer remover da lista de membros. Em seguida, clique em Remover.

Para verificar outros locais em que a política de permissão pode ser definida, incluindo pastas, organização ou recursos individuais, consulte Verificar se as permissões foram removidas.

Trocar as credenciais do projeto

Alternar chaves da conta de serviço

Se você usar chaves de conta de serviço para se autenticar em uma conta de serviço, será necessário alternar as chaves. Além disso, considere se a pessoa teria acesso a chaves de conta de serviço fora das ferramentas do Google Cloud, como o repositório de código-fonte ou as configurações do aplicativo.

  1. No console Google Cloud , acesse a página Credenciais da API.

    Credenciais da API

  2. Clique no nome da conta de serviço que você quer modificar.

  3. Na guia Chave, clique em Adicionar chave.

  4. Clique em Criar nova chave.

  5. Escolha o Tipo de chave que você quer criar. Na maioria das situações, o JSON é recomendado, mas o P12 está disponível para compatibilidade com versões anteriores do código que depende dele.

  6. Clique em Criar. Em seguida, o download de um arquivo com a nova chave será feito automaticamente por meio do browser. Implante essa chave nos aplicativos que precisam dela.

  7. Depois de confirmar que a nova chave funciona como esperado, volte à página de credenciais e exclua a chave anterior associada a essa conta de serviço.

Trocar chaves secretas de ID do cliente OAuth

Os segredos de ID do cliente OAuth não concedem acesso direto ao projeto. No entanto, se um invasor souber a chave secreta do ID do cliente OAuth, ele poderá falsificar seu aplicativo e solicitar acesso às Contas do Google dos usuários por meio de um aplicativo malicioso.

Talvez seja necessário trocar as chaves secretas do ID do cliente OAuth se a pessoa que teve o acesso revogado tiver acesso à chave secreta, inclusive no repositório de código-fonte, nas configurações do aplicativo ou nos papéis do IAM.

  1. No console Google Cloud , acesse a página Credenciais da API.

    Credenciais da API

  2. Clique no nome do ID do cliente OAuth 2.0 que você quer modificar.

  3. Na página ID do cliente, clique em Redefinir chave secreta.

  4. Clique em Redefinir na caixa de diálogo de confirmação para revogar imediatamente a chave secreta anterior e definir uma nova. Todos os usuários ativos precisarão se autenticar novamente quando fizerem a próxima solicitação.

  5. Implante a nova chave secreta nos aplicativos que precisam dela.

Trocar chaves de API

As chaves de API não fornecem acesso ao projeto ou a dados de usuários, mas controlam quem é cobrado pelo Google por solicitações à API. Uma conta de usuário com papéis como "Leitor" ou Administrador de chaves de API pode acessar as chaves de API do seu projeto. Se você tiver alguma chave sem restrições, será necessário excluí-la ou gerá-la novamente ao revogar o acesso de alguém ao projeto.

  1. No console Google Cloud , acesse a página Credenciais da API.

    Credenciais da API

  2. Clique no nome da chave de API que você quer modificar.

  3. Clique em Gerar chave novamente.

  4. A chave recém-criada será exibida em uma caixa de diálogo. Implante-a em qualquer aplicativo que esteja usando a chave que você quer substituir.

  5. Depois de confirmar que seus aplicativos estão funcionando como esperado com a nova chave, volte à página de credenciais e exclua a chave sem restrições anterior.

Revogar acesso a VMs

Se a pessoa que você está revogando não tiver acesso de login a nenhuma das VMs do projeto, pule esta etapa.

  1. Remova todas as chaves SSH no nível do projeto a que essa pessoa tinha acesso.

  2. Em cada VM em que a pessoa tinha acesso SSH, remova todas as chaves no nível da instância.

  3. Remova a conta da pessoa de todas as VMs que ela tinha acesso.

  4. Verifique se a pessoa instalou aplicativos suspeitos para ter acesso por backdoor à VM. Se você não tiver certeza quanto à segurança de qualquer código em execução na VM, recrie-a e reimplante os aplicativos necessários a partir da origem.

  5. Verifique se as configurações de firewall da VM não foram alteradas em relação à configuração planejada ou esperada.

  6. Caso você crie novas VMs a partir de imagens básicas personalizadas, verifique se essas imagens não foram modificadas de modo a comprometer a segurança das novas VMs.

Revogar o acesso a bancos de dados

Se o projeto não usar recursos do Cloud SQL ou do AlloyDB para PostgreSQL, pule esta etapa.

Para revogar o acesso a um banco de dados do Cloud SQL, faça o seguinte:

  1. No Google Cloud console, acesse a página Instâncias do SQL.

    Instâncias de SQL

  2. Clique no código da instância no banco de dados a que você quer revogar o acesso.

  3. No menu à esquerda, clique em Conexões.

  4. Confirme se a lista de endereços IP em Redes autorizadas e a lista de aplicativos em Autorização do App Engine correspondem ao que você espera. Se a pessoa com o acesso que você está tentando revogar for capaz de acessar as redes ou os aplicativos listados, ela poderá entrar nesse banco de dados.

  5. No menu à esquerda, clique em Usuários.

  6. Exclua ou mude a senha de todas as contas de usuário às quais a pessoa tinha acesso. Atualize todos os aplicativos que precisem usar essas contas de usuário.

Para revogar o acesso a um banco de dados do AlloyDB para PostgreSQL, consulte Remover um usuário do IAM ou uma conta de serviço de um cluster.

Reimplantar o App Engine

Por padrão, os aplicativos do App Engine têm acesso a uma conta de serviço que é um editor no projeto associado. Os gerenciadores de solicitações do App Engine podem criar novas VMs e ler ou modificar dados no Google Cloud Storage. Alguém capaz de implantar códigos no App Engine pode usar essa conta de serviço para abrir um backdoor para o projeto. Se você está preocupado com a integridade do código dos aplicativos implantados, pense na possibilidade de reimplantá-los com uma imagem conhecida do sistema de controle de versões. Faça isso inclusive com os módulos.

Verificar se as permissões foram removidas

É possível verificar as permissões no nível da organização, do projeto ou usando o Policy Analyzer.

Para encontrar recursos aos quais um usuário específico pode ter acesso no nível da organização, use o método search-all-iam-policies na CLI do Google Cloud. Por exemplo, para determinar se um usuário tem acesso aos seus recursos, execute:

gcloud asset search-all-iam-policies --scope='organizations/ORGANIZATION_ID --query='policy:IDENTITY'

Em que:

  • ORGANIZATION_ID é o número da sua organização.
  • IDENTITY é a identidade do usuário, como um endereço de e-mail.

Para verificar as permissões em um projeto, consulte Permissões que um principal tem em um projeto.

Para verificar as permissões usando a Análise de políticas, consulte Determinar quais recursos um principal pode acessar.

A seguir