Este documento descreve como rodar uma chave principal. Se a sua chave principal for comprometida ou se optar por rodar periodicamente as chaves principais para melhorar a segurança, pode rodar as chaves para uma nova chave principal através do recurso RotationJob
.
A rotação de uma chave principal cria uma nova chave principal, que se torna a chave principal e envolve todas as chaves não principais. Não pode eliminar uma chave principal. A rotação é a única forma de a substituir. Consulte o artigo Tipos de chaves principais para mais informações sobre as chaves principais.
Consulte a vista geral da API KMS para ver detalhes sobre a API KMS e a API KRM do Key Management Service para ver a definição completa da API.
Antes de começar
Antes de continuar, certifique-se de que tem o seguinte:
O comando
kubectl
configurado para aceder ao servidor da API Management. Para tal, obtenha um ficheiro kubeconfig através da interface de linhas de comando (CLI) gcloud.A função de administrador da tarefa de rotação do KMS. Para receber as autorizações necessárias para rodar chaves, peça ao administrador de IAM da sua organização que lhe conceda a função de administrador de tarefas de rotação do KMS (
kms-rotationjob-admin
).
Alterne uma chave principal
Para criar uma nova chave principal e rodar as chaves, conclua os seguintes passos:
Crie um ficheiro YAML e adicione o recurso
RotationJob
e o seguinte conteúdo:apiVersion: "kms.gdc.goog/v1" kind: RotationJob metadata: name: ROTATION_NAME spec: rootKeyResourceName: ROOT_KEY_RESOURCE_NAME
Substitua ROTATION_NAME por um nome para a tarefa de rotação por exemplo:
rotate-job1
.Substitua ROOT_KEY_RESOURCE_NAME pelo nome da chave de raiz especificado no formulário
namespace/NAMESPACE/secrets/ROOT_KEY_NAME
Por exemplo,
namespaces/kms-system/secrets/ctm-root
.Aplique o conteúdo do ficheiro YAML ao KMS:
kubectl apply -f FILENAME.yaml
Substitua FILENAME pelo nome do ficheiro YAML.
Depois de executar o comando, o KMS cria uma nova chave principal e roda todas as chaves com a nova chave principal.
Para verificar se a rotação da chave principal está concluída, execute o seguinte:
kubectl get rotationjobs ROTATION_NAME
Substitua ROTATION_NAME pelo nome da tarefa de rotação.
Depois de executar o comando, vê o estado da tarefa de rotação como
Completed
se for bem-sucedida.Remova a anotação
Done
da chave raiz. A remoção da anotação permite-lhe rodar a chave mais do que uma vez. O seu operador de infraestrutura (IO) tem de executar este passo. Peça ao seu IO para executar o seguinte:kubectl annotate secret kms-key-ROOT_KEY_NAME -n kms-system gdch.cluster.gke.io/rotation-status-