Rotação da chave da conta de serviço

As chaves de contas de serviço são chaves privadas que lhe permitem fazer a autenticação como uma conta de serviço. A rotação de chaves é o processo de substituição das chaves existentes por novas chaves e, em seguida, de invalidação das chaves substituídas. Recomendamos que rode rotineiramente todas as chaves que gere, incluindo as chaves da conta de serviço.

A rotação das chaves da conta de serviço pode ajudar a reduzir o risco representado por chaves roubadas ou com fugas de informação. Se uma chave for divulgada, os intervenientes mal-intencionados podem demorar dias ou semanas a descobri-la. Se rodar regularmente as chaves da conta de serviço, existe uma maior probabilidade de as chaves roubadas serem inválidas quando um ator malicioso as obtiver.

Ter um processo estabelecido para a rotação das chaves de contas de serviço também ajuda a agir rapidamente se suspeitar que uma chave de conta de serviço foi comprometida.

Com que frequência deve alternar as chaves

Recomendamos que rode as chaves, pelo menos, a cada 90 dias para reduzir o risco representado por chaves roubadas.

Se considerar que uma chave de conta de serviço foi comprometida, recomendamos que a altere imediatamente.

Processo de rotação de chaves

Para alternar as chaves da conta de serviço, faça o seguinte:

  1. Identifique as chaves de conta de serviço que precisam de ser rodadas.
  2. Criar novas chaves para as mesmas contas de serviço.
  3. Substituir as chaves existentes pelas novas chaves em todas as aplicações.
  4. Desative as teclas substituídas e monitorize as aplicações para confirmar que funcionam como esperado.
  5. Elimine as chaves de conta de serviço que foram substituídas.

Pode concluir estes passos através de um serviço de gestão de segredos centralizado ou de um sistema de notificação personalizado.

Serviço de gestão de segredos centralizado

Muitos serviços de gestão de segredos centralizados, como o HashiCorp Vault, oferecem a rotação automática de segredos. Pode usar estes serviços para armazenar e alternar as chaves da sua conta de serviço.

Não recomendamos a utilização de serviços de gestão de segredos baseados na nuvem, como o Azure KeyVault e o AWS Secret Manager, para armazenar e alternar chaves de contas de serviço. Isto deve-se ao facto de, para aceder a estes segredos armazenados, a sua aplicação precisar de uma identidade que o fornecedor de nuvem possa reconhecer. Se a sua aplicação já tiver uma identidade que o fornecedor de nuvem possa reconhecer, a aplicação pode usar essa identidade para autenticar em vez de usar uma chave de conta de serviço.

Sistema de notificações personalizadas

Outra abordagem à rotação de chaves de contas de serviço é criar um sistema que envie notificações quando as chaves tiverem de ser rodadas. Por exemplo, pode criar um sistema que envie alertas quando detetar chaves criadas há mais de 90 dias.

Primeiro, tem de identificar as chaves que precisam de ser rodadas. Para identificar estas chaves, recomendamos que use o Cloud Asset Inventory para pesquisar todas as chaves de contas de serviço criadas antes de uma determinada hora.

Por exemplo, o seguinte comando lista todas as chaves de contas de serviço que foram criadas antes de 2023-03-10 00:00:00 UTC na organização com o ID 123456789012:

gcloud asset search-all-resources \
    --scope="organizations/123456789012" \
    --query="createTime < 2023-03-10" \
    --asset-types="iam.googleapis.com/ServiceAccountKey" \
    --order-by="createTime"

Para saber como pesquisar recursos no Cloud Asset Inventory, consulte o artigo Pesquisar recursos. Depois de identificar as chaves que têm de ser rodadas, pode enviar notificações às equipas adequadas.

Quando alguém recebe uma notificação para alternar uma chave, deve fazer o seguinte:

  1. Crie uma nova chave para a mesma conta de serviço.
  2. Substituir a chave existente pela nova chave em todas as aplicações.
  3. Desative a chave que substituiu e monitorize as aplicações para confirmar que funcionam como esperado.
  4. Depois de confirmar que as aplicações estão a funcionar como esperado, elimine a chave substituída.

Chaves de contas de serviço a expirar

Não recomendamos a utilização de chaves de contas de serviço com prazo de validade para a rotação de chaves. Isto deve-se ao facto de as chaves expiradas poderem causar interrupções se não forem alternadas corretamente. Para mais informações sobre os exemplos de utilização das chaves de contas de serviço com prazo de validade, consulte os prazos de validade das chaves geridas pelo utilizador.

O que se segue?

  • Criar, desativar e eliminar chaves de conta de serviço.