Nesta página, mostramos como fazer a rotação de uma chave de maneira automática ou manual. Para mais informações sobre a rotação de chaves em geral, consulte Rotação de chaves.
Funções exigidas
Para receber as permissões necessárias para fazer a rotação de chaves, peça ao administrador que conceda a você os seguintes papéis do IAM na sua chave:
- Administrador do Cloud KMS (
roles/cloudkms.admin) -
Recriptografar dados:
Criptografador/descriptografador de CryptoKey do Cloud KMS (
roles/cloudkms.cryptoKeyEncrypterDecrypter)
Para mais informações sobre a concessão de papéis, consulte Gerenciar o acesso a projetos, pastas e organizações.
Esses papéis predefinidos contêm as permissões necessárias para fazer a rotação de chaves. Para acessar as permissões exatas necessárias, expanda a seção Permissões necessárias:
Permissões necessárias
As seguintes permissões são necessárias para fazer a rotação de chaves:
-
Mudar a versão da chave primária:
cloudkms.cryptoKeys.update -
Mudar ou desativar o giro automático:
cloudkms.cryptoKeys.update -
Crie uma nova versão da chave:
cloudkms.cryptoKeyVersions.create -
Desative as versões antigas da chave:
cloudkms.cryptoKeyVersions.update -
Criptografar os dados novamente:
-
cloudkms.cryptoKeyVersions.useToDecrypt -
cloudkms.cryptoKeyVersions.useToEncrypt
-
Essas permissões também podem ser concedidas com funções personalizadas ou outros papéis predefinidos.
Um único usuário com uma função personalizada que contenha todas essas permissões pode fazer a rotação de chaves e a recriptografia de dados por conta própria. Os usuários com a função de administrador do Cloud KMS e a função de criptografador/descriptografador do Cloud KMS CryptoKey podem trabalhar juntos para girar chaves e criptografar novamente os dados. Siga o princípio de privilégio mínimo ao atribuir papéis. Para mais detalhes, consulte Permissões e papéis.
Quando você faz a rotação de uma chave, os dados que foram criptografados com versões anteriores não são criptografados novamente de maneira automática. Para saber mais, consulte descriptografar e recriptografar. Fazer a rotação de uma chave não desativa ou destrói automaticamente nenhuma versão de chave atual. Destruir versões de chave que não são mais necessárias ajuda a reduzir custos.
Configurar a rotação automática
Criar uma chave com uma programação de rotação personalizada
Para configurar a rotação automática ao criar uma nova chave:
Console
Quando você usa o console Google Cloud para criar uma chave, o Cloud KMS define automaticamente o período de rotação e o próximo tempo de rotação. Você pode usar os valores padrão ou especificar outros.
Para especificar um período de rotação e um horário de início diferentes, siga as etapas abaixo quando estiver criando a chave, antes de clicar no botão Criar:
Em Período de rotação de chaves, selecione uma opção.
Em A partir de, selecione a data em que você quer que a primeira rotação automática aconteça. Você pode deixar A partir de no valor padrão para iniciar a primeira rotação automática um período de rotação de chaves depois da criação da chave.
gcloud
Para usar o Cloud KMS na linha de comando, primeiro instale ou faça upgrade para a versão mais recente da Google Cloud CLI.
gcloud kms keys create KEY_NAME \
--keyring KEY_RING \
--location LOCATION \
--purpose "encryption" \
--rotation-period ROTATION_PERIOD \
--next-rotation-time NEXT_ROTATION_TIME
Substitua:
KEY_NAME: o nome da chave;KEY_RING: o nome do keyring que contém a chave.LOCATION: o local do Cloud KMS do keyring.ROTATION_PERIOD: o intervalo para alternar a chave. Por exemplo,30dpara alternar a chave a cada 30 dias. O período de rotação precisa ser de pelo menos um dia e no máximo 100 anos. Para mais informações, consulte CryptoKey.rotationPeriod.NEXT_ROTATION_TIME: o carimbo de data/hora em que a primeira rotação será concluída, por exemplo,2023-01-01T01:02:03. Você pode omitir--next-rotation-timepara programar a primeira rotação por um período a partir do momento em que você executar o comando. Para ver mais informações, consulteCryptoKey.nextRotationTime.
Para informações sobre todas as sinalizações e valores possíveis, execute o comando com a sinalização --help.
C#
Para executar esse código, primeiro configure um ambiente de desenvolvimento C# e instale o SDK do Cloud KMS para C#.