Usar o IAM com segurança

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.

Se você precisar substituir um papel básico, use recomendações de papel para determinar quais papéis conceder. Também é possível usar o Simulador de política para garantir que a alteração do papel não afete o acesso do principal.

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 específico. 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 de permissão para recursos filhos herdam as políticas de permissão dos recursos pais. Por exemplo, se a política de permissão de 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 principais podem atuar como contas de serviço. Os usuários que recebem o papel de usuário da conta de serviço em uma conta de serviço podem acessar todos os recursos a que essa conta tem acesso. Portanto, tenha cuidado ao conceder o papel serviceAccountUser a um usuário.
❑  
Especifique quem tem acesso para criar e gerenciar contas de serviço no projeto.
Conceder os papéis predefinidos de 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 principal 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 somente quando um acesso (quase) universal for necessário.
Use as vinculações de papéis condicionais para permitir que o acesso expire automaticamente e conceda acesso privilegiado apenas no momento certo.

Contas de serviço

Confira as práticas recomendadas para trabalhar com contas de serviço. Verifique se as contas de serviço têm privilégios limitados e se protegem contra possíveis ameaças de segurança.
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 monitorar para que ela é usada e quais permissões são necessárias.

Chaves da conta de serviço

Evite usar chaves de conta de serviço se outra opção estiver disponível. As chaves da conta de serviço são um risco de segurança quando não são gerenciadas corretamente. Sempre que possível, escolha uma alternativa mais segura para as chaves de conta de serviço. Caso seja necessário autenticar com uma chave de conta de serviço, você será responsável pela segurança da chave privada e por outras operações descritas em Práticas recomendadas para gerenciar chaves de contas de serviço. Se não for possível criar uma chave de conta de serviço, a criação pode estar desativada para sua organização. Para mais informações, consulte Gerenciar recursos da organização com segurança por padrã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, desative a antiga e exclua a antiga quando tiver certeza de que ela não será mais necessária.
Implemente processos para 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 insira as chaves da conta de serviço no código-fonte nem as deixe no diretório "Downloads".

Auditoria

Use registros dos 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 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 encaminhar registros, conforme aplicadas ao Explorador 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

Se um principal precisar de acesso a todos os projetos da sua organização, conceda papéis a ele no nível da organização.
Quando possível, conceda papéis a um grupo do Google, em vez de a usuários individuais. É mais fácil atualizar os membros de um grupo do Google do que atualizar os principais nas políticas de permissão.