Como revogar o acesso ao Google Cloud Platform

Este documento abrangerá as práticas recomendadas para revogar o acesso de uma pessoa a um projeto do Google Cloud Platform. Há duas seções neste documento. A primeira trata da configuração de um projeto do modo a facilitar a revogação de acesso. A segunda contém procedimentos passo a passo para revogação do acesso de uma pessoa a vários tipos de recursos.

Conteúdo

Contexto

Um momento crítico na vida útil dos recursos do Google Cloud Platform é quando se torna necessário remover o acesso de alguém a eles. 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.

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. Use este documento para elaborar políticas e procedimentos que façam sentido para você e que estejam de acordo com o uso que você faz do GCP.

Configurar o projeto

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

Limitar o acesso a VMs

As máquinas virtuais, como as usadas pelo Google Compute Engine, Google Container Engine e ambiente flexível do App Engine, têm grandes chances de sofrer ataques. Se alguém já acessou uma VM, especialmente com o acesso raiz ou de administrador, é extremamente difícil garantir que essa pessoa não tenha modificado a VM e deixado uma backdoor que permita a entrada no futuro. Somente pessoas com necessidades claras e específicas devem ter acesso à VM. Por padrão, os editores e os proprietários de projetos têm acesso administrativo a todas as VMs no projeto.

Antes de conceder acesso a uma pessoa, pense se ela realmente precisa disso e elabore outras maneiras de atender a essas necessidades, se possível. Em vez de fornecer a cada desenvolvedor acesso por login para implantar o código, considere o uso de ferramentas como Chef, Puppet e Salt para gerenciar a implantação.

Preparar o ambiente para o rodízio de credenciais

Crie seus projetos e recursos para permitir o rodízio de credenciais em nível de projeto. Faça com que esse processo seja fácil e não cause interrupções. Essas credenciais são segredos vinculados ao próprio projeto, como chaves de conta de serviço, chaves secretas de clientes OAuth e segredos específicos de aplicativos, como senhas raiz de bancos de dados. Planeje isso agora e facilite a implantação de novas credenciais em todos os aplicativos que precisem delas.

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. As chaves da API ficam visíveis para todos os membros do projeto. Por isso, é necessário fazer o rodízio das chaves que não têm restrições ou excluí-las para revogar o acesso ao faturamento. Leia mais sobre práticas recomendadas para usar chaves de APIs com segurança e planeje o uso adequadamente.

Revogar o acesso

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

Remover a conta da associação ao projeto

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

    Permissões do IAM

  2. Selecione o projeto com a conta que deseja remover.

  3. Clique na caixa de seleção ao lado da linha com a conta que deseja remover da lista de membros. Em seguida, clique em Remover. Alternativa: clique no ícone de lixeira ao lado da conta que deseja remover.

Fazer o rodízio de credenciais do projeto

Chaves da conta de serviço

As contas de serviço não têm usuários. Por padrão, são consideradas editoras dos projetos associados a elas. Em um projeto, alguém que consiga agir como uma conta de serviço pode fazer tudo o que um editor faz.

Somente os proprietários do projeto podem criar novas contas de serviço ou chaves para as contas desse tipo existentes. Se o acesso revogado era de um proprietário do projeto, será necessário fazer o rodízio de todas as chaves de contas de serviço existentes. Caso contrário, pule esta etapa. Entretanto, é possível que essa pessoa tenha tido acesso a chaves de contas de serviço em algum lugar fora das ferramentas seguras do Google Cloud Platform, como o repositório de códigos fonte ou as configurações de aplicativos.

  1. No console do Google Cloud Platform, acesse a página de credenciais da API.

    Credenciais da API

  2. Clique em Criar credenciais. Em seguida, selecione Chave da conta de serviço.

  3. Selecione a conta de destino no menu Conta de serviço.

  4. Escolha o Tipo de chave que deseja criar. Na maioria das situações, recomenda-se JSON, mas P12 está disponível para códigos que dependem de compatibilidade com versões anteriores.

  5. Clique em Criar. Essa ação iniciará o download automático de um arquivo contendo a nova chave por meio do navegador. Implante essa chave nos aplicativos que precisam dela.

  6. 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.

Segredos de ID do cliente OAuth

Os segredos de ID do cliente OAuth não concedem acesso direto ao projeto. Entretanto, se um atacante conseguir roubar os tokens de atualização do OAuth fornecidos pelo Google em nome dos usuários do aplicativo, ele terá o segredo do ID do cliente. Com isso, a pessoa poderá acessar as Contas do Google dos usuários dentro dos mesmos escopos originalmente solicitados por seu aplicativo.

Os segredos do ID do cliente OAuth podem ser vistos por todos os proprietários e editores do projeto, mas não por leitores. Se o acesso revogado não era de um proprietário ou editor do projeto, pule esta etapa. Entretanto, é possível que essa pessoa tenha tido acesso aos segredos de ID do cliente em algum lugar fora das ferramentas seguras do Google Cloud Platform, como o repositório de códigos fonte ou as configurações de aplicativos.

  1. No console do Google Cloud Platform, acesse a página de credenciais da API.

    Credenciais da API

  2. Clique no nome do ID do cliente OAuth 2.0 que deseja modificar. Isso abrirá uma página "ID do cliente" com detalhes sobre o ID selecionado.

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

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

  5. Implante o novo segredo nos aplicativos que precisam dele.

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. Qualquer membro do projeto pode ver as chaves de API desse 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 do Google Cloud Platform, acesse a página de credenciais da API.

    Credenciais da API

  2. Clique em Criar credenciais e selecione Chave de API.

  3. Uma caixa de diálogo exibirá a nova chave criada. Implante-a em qualquer aplicativo que use a chave que você deseja substituir.

  4. 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 o acesso que você está revogando for de alguém que não conseguia acessar as VMs do projeto usando login, pule esta etapa.

  1. Remova todas as chaves SSH em nível de projeto às quais essa pessoa tinha acesso.

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

  3. Remova a conta da pessoa de todas as VMs às quais ela tinha acesso.

  4. Verifique se há aplicativos suspeitos que a pessoa possa ter instalado para garantir o acesso por backdoor à VM. Se você estiver incerto 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. Se você criar 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 acesso aos bancos de dados do Cloud SQL

Se o projeto não usa nenhum recurso do Cloud SQL, pule esta etapa.

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

    Instâncias de SQL

  2. Clique no código da instância no banco de dados ao qual deseja revogar o acesso.

  3. Clique em Controle de acesso. Nessa guia, confirme se a lista de endereços IP em Redes autorizadas e a lista de aplicativos em Autorização do Google App Engine correspondem ao que você espera. Se a pessoa cujo acesso você está tentando revogar é capaz de acessar as redes ou os aplicativos listados, ela pode entrar nesse banco de dados.

  4. Clique em Usuários. Nessa guia, exclua ou modifique a senha de todas as contas do MySQL às quais a pessoa tinha acesso. Se a pessoa tinha acesso à senha raiz, clique em Alterar senha raiz para fazer o rodízio dela. Atualize todos os aplicativos que precisam usar a senha raiz.

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 versão confirmada e conhecida do sistema de controle de versões. Faça isso inclusive com os módulos.

Verificar permissões em outros recursos

Considere outros recursos no projeto aos quais a pessoa possa ter tido acesso e verifique se as permissões para esses objetos são seguras. Estes são alguns dos recursos que precisam ser verificados:

Monitore seus recursos de onde você estiver

Instale o app do Google Cloud Console para ajudar você a gerenciar seus projetos.

Enviar comentários sobre…