Como fazer rotação de chaves

A chave pode ter uma programação de rotação que determina se a rotação automática será realizada e quando isso acontecerá.

Para fazer a rotação automática de uma chave definindo um período de rotação (atualizar uma chave) ou realizar esse processo manualmente (criar uma nova versão de chave), o usuário precisa dos papéis do IAM roles/cloudkms.admin, roles/owner ou roles/editor.

Depois de fazer a rotação da chave, as versões anteriores, que já não são principais, não são desativadas nem destruídas e permanecem disponíveis para descriptografar dados.

Rotação automática: como configurar o período de rotação de uma chave

Para ativar a rotação automática da chave, defina a programação de rotação com a seguinte sintaxe da linha de comando gcloud:

Linha de comando

gcloud kms keys update KEY_NAME \
  --location LOCATION \
  --keyring KEYRING_NAME \
  --rotation-period ROTATION_PERIOD \
  --next-rotation-time NEXT_ROTATION_TIME

Windows cmd.exe

gcloud kms keys update KEY_NAME ^
  --location LOCATION ^
  --keyring KEYRING_NAME ^
  --rotation-period ROTATION_PERIOD ^
  --next-rotation-time NEXT_ROTATION_TIME

PowerShell

gcloud kms keys update KEY_NAME `
  --location LOCATION `
  --keyring KEYRING_NAME `
  --rotation-period ROTATION_PERIOD `
  --next-rotation-time NEXT_ROTATION_TIME

Sintaxe de programação de rotação

O formato da programação de rotação depende da biblioteca de cliente usada. Na ferramenta de linha de comando gcloud, o próximo horário de rotação precisa estar de acordo com a norma ISO ou no formato RFC 3339. Já o período de rotação precisa estar no formato INTEGER[UNIT], em que as unidades podem estar em segundos (s), minutos (m), horas (h) ou dias (d). Por exemplo, uma programação de rotação válida para uso com o comando gcloud pode ser:

--rotation-period=30d
--next-rotation-time=2016-10-12T12:34:56.1234Z

Criar uma chave com uma programação de rotação

Para criar uma nova chave do keyring:

Linha de comando

gcloud kms keys create KEY_NAME \
  --location LOCATION \
  --keyring KEYRING_NAME \
  --purpose ENCRYPTION \
  --rotation-period ROTATION_PERIOD \
  --next-rotation-time NEXT_ROTATION_TIME

Windows cmd.exe

gcloud kms keys create KEY_NAME ^
  --location LOCATION ^
  --keyring KEYRING_NAME ^
  --purpose ENCRYPTION ^
  --rotation-period ROTATION_PERIOD ^
  --next-rotation-time NEXT_ROTATION_TIME

PowerShell

gcloud kms keys create KEY_NAME `
  --location LOCATION `
  --keyring KEYRING_NAME `
  --purpose ENCRYPTION `
  --rotation-period ROTATION_PERIOD `
  --next-rotation-time NEXT_ROTATION_TIME

Em que o comando usa os seguintes parâmetros: uma nova chave KEY_NAME no keyring KEYRING_NAME com a programação de rotação definida por ROTATION_PERIOD e NEXT_ROTATION_TIME.

Rotação manual: como gerar uma nova versão de chave

Para criar uma nova versão de chave e torná-la principal com o gcloud, para a chave KEY_NAME do keyring KEYRING_NAME, execute:

Linha de comando

gcloud kms keys versions create --location LOCATION \
  --keyring KEYRING_NAME \
  --key KEY_NAME --primary

Windows cmd.exe

gcloud kms keys versions create --location LOCATION ^
  --keyring KEYRING_NAME ^
  --key KEY_NAME --primary

PowerShell

gcloud kms keys versions create --location LOCATION `
  --keyring KEYRING_NAME `
  --key KEY_NAME --primary

Isso equivale a criar uma nova versão de chave que não é principal e, depois, torná-la a versão principal. Para isso, você precisa saber o VERSION_ID do número de versão da chave recém-criada. Isso é representado pelos comandos do gcloud a seguir:

Linha de comando

gcloud kms keys versions create \
  --location LOCATION \
  --keyring KEYRING_NAME \
  --key KEY_NAME
gcloud kms keys update KEY_NAME \
  --primary-version VERSION_ID \
  --location LOCATION \
  --keyring KEYRING_NAME

Windows cmd.exe

gcloud kms keys versions create ^
  --location LOCATION ^
  --keyring KEYRING_NAME ^
  --key KEY_NAME
gcloud kms keys update KEY_NAME ^
  --primary-version VERSION_ID ^
  --location LOCATION ^
  --keyring KEYRING_NAME

PowerShell

gcloud kms keys versions create `
  --location LOCATION `
  --keyring KEYRING_NAME `
  --key KEY_NAME
gcloud kms keys update KEY_NAME `
  --primary-version VERSION_ID `
  --location LOCATION `
  --keyring KEYRING_NAME

Desativar rotação automática

Para fazer isso, limpe a programação de rotação da chave:

Linha de comando

gcloud kms keys update KEY_NAME \
  --remove-rotation-schedule \
  --location LOCATION \
  --keyring KEYRING_NAME

Windows cmd.exe

gcloud kms keys update KEY_NAME ^
  --remove-rotation-schedule ^
  --location LOCATION ^
  --keyring KEYRING_NAME

PowerShell

gcloud kms keys update KEY_NAME `
  --remove-rotation-schedule `
  --location LOCATION `
  --keyring KEYRING_NAME

Como configurar uma versão atual como principal

Para definir a versão 42, que está ativada, como a principal da chave dont-panic no keyring hitchhiker:

Linha de comando

gcloud kms keys update dont-panic \
  --primary-version 42 \
  --location global \
  --keyring hitchhiker

Windows cmd.exe

gcloud kms keys update dont-panic ^
  --primary-version 42 ^
  --location global ^
  --keyring hitchhiker

PowerShell

gcloud kms keys update dont-panic `
  --set-=primary-version 42 `
  --location global `
  --keyring hitchhiker

Esta página foi útil? Conte sua opinião sobre:

Enviar comentários sobre…

Documentação do Cloud KMS