Alterne uma chave principal

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:

  1. 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.

  2. 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.

  3. 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.

  4. 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-