Como usar o IAM com segurança

Introdução

Nesta página, você encontra as práticas de segurança recomendadas durante o uso do IAM.

Esta página foi projetada para usuários com proficiência no IAM. Se você está começando com o IAM, estas instruções não ensinam como usá-lo. Os novos usuários precisam começar com o Guia de início rápido do IAM.

Privilégio mínimo

Os papéis básicos incluem milhares de permissões em todos os serviços do Google Cloud. Em ambientes de produção, não conceda papéis básicos, a menos que não haja alternativa. Em vez disso, conceda papéis predefinidos ou personalizados que atendam às suas necessidades.

Talvez seja apropriado conceder papéis básicos nos seguintes casos:

  • Quando o serviço do Google Cloud não fornece um papel predefinido. Consulte a disponibilidade na tabela de papéis predefinidos.
  • Quando quiser conceder permissões mais amplas a um projeto. Isso geralmente é necessário em ambientes de desenvolvimento ou teste.
  • A equipe com que você trabalha é pequena, e as permissões granulares não são necessárias.
Trate cada componente do aplicativo como um limite de confiança separado. Se você tiver vários serviços que exigem permissões diferentes, crie uma conta de serviço separada para cada um dos serviços e conceda apenas as permissões necessárias a cada conta de serviço.
Lembre-se de que as políticas para um recurso filho herda as políticas do recurso pai. Por exemplo, se a política para um projeto conceder a um usuário a capacidade de administrar instâncias de máquina virtual (VM) do Compute Engine, ele poderá administrar qualquer VM do Compute Engine nesse projeto, independentemente da política definida em cada VM.
Conceda papéis com o menor escopo necessário. Por exemplo, se um usuário precisar apenas de acesso para publicar tópicos do Pub/Sub, conceda o papel Publicador ao usuário para esse tópico.
Especifique quais membros podem atuar como contas de serviço. Usuários que receberem o papel de Agente da conta de serviço terão acesso a todos os recursos que essa conta de serviço puder acessar. Portanto, seja cauteloso ao conceder esse papel.
Especifique quem tem acesso para criar e gerenciar contas de serviço no projeto.
Conceder os papéis predefinidos Administrador de IAM do projeto e Administrador de IAM da pasta permite modificar as políticas do IAM sem permitir acesso direto de leitura, gravação e administração a todos os recursos.

Conceder o papel Proprietário (roles/owner) a um membro permitirá que ele acesse e modifique quase todos os recursos, incluindo as políticas do IAM. Essa quantidade de privilégios é potencialmente arriscada. Conceda o papel Proprietário (roles/owner) somente quando um acesso (quase) universal for necessário.

Contas de serviço e chaves de conta de serviço

Reveze as chaves da conta de serviço usando a API da conta de serviço do IAM. Para fazer isso, crie uma nova chave, alterne os aplicativos para que usem essa chave e excluam a antiga. Use os métodos serviceAccount.keys.create() e serviceAccount.keys.delete() juntos para automatizar o revezamento.
Implemente processos para administrar as chaves de conta de serviço gerenciadas pelo usuário.
Tenha cuidado para não confundir as chaves de criptografia com as chaves da conta de serviço. Normalmente, as chaves de criptografia são usadas para criptografar dados e chaves de conta de serviço são usadas para acesso seguro a APIs do Google Cloud.
Não exclua as contas de serviço usadas por instâncias em execução. Se a transição para uma conta alternativa não é feita antes, o resultado pode ser a falha total ou parcial do aplicativo.
Use o nome de exibição de uma conta de serviço para controlar como ela é utilizada e quais as permissões necessárias.
Não insira as chaves da conta de serviço no código-fonte nem as deixe no diretório "Downloads".

Auditoria

Use os registros de auditoria do Cloud para fazer auditorias regularmente das mudanças na política do IAM.
Exporte os registros de auditoria para o Cloud Storage para armazenar seus registros por longos períodos.
Faça auditorias dos usuários que têm permissão para alterar as políticas do IAM nos projetos.
Use os papéis do Logging para gerenciar o acesso aos registros.
Aplique as mesmas políticas de acesso ao recurso do Google Cloud que você usa para exportar registros, conforme aplicadas ao visualizador de registros.
Use os registros de auditoria do Cloud para fazer auditorias regularmente do acesso às chaves da conta de serviço.

Gerenciamento de políticas

Configure as políticas do IAM no nível da organização para conceder acesso a todos os projetos dessa organização.
Quando possível, conceda papéis a um grupo do Google, em vez de a usuários individuais. É mais fácil adicionar membros e removê-los de um grupo do Google do que atualizar uma política do IAM para adicionar ou excluir usuários.
Se você precisar conceder vários papéis para permitir determinada tarefa, crie um grupo do Google, conceda papéis e adicione usuários a ele.