Neste documento, descrevemos como fazer a rotação de uma chave raiz. Se a chave raiz for
comprometida ou se você optar por fazer a rotação periódica para aumentar a
segurança, use o recurso
RotationJob
para fazer a rotação para uma nova chave raiz.
A rotação de uma chave raiz cria uma nova chave raiz, que se torna a chave primária e encapsula todas as chaves não raiz. Não é possível excluir uma chave raiz. A rotação é a única maneira de substituí-la. Consulte Tipos de chaves raiz para mais informações sobre chaves raiz.
Consulte a visão geral da API KMS para mais detalhes sobre a API KMS e a API KRM do serviço de gerenciamento de chaves para conferir a definição completa da API.
Antes de começar
Antes de continuar, verifique se você tem o seguinte:
O comando
kubectlconfigurado para acessar o servidor da API Management. Para fazer isso, receba um arquivo kubeconfig usando a interface de linha de comando (CLI) gdcloud.O papel de administrador de jobs de rotação do KMS. Para receber as permissões necessárias para fazer a rotação de chaves, peça ao administrador do IAM da organização para conceder a você o papel de Administrador de jobs de rotação do KMS (
kms-rotationjob-admin).
Alternar uma chave raiz
Para criar uma nova chave raiz e girar as chaves, siga estas etapas:
Crie um arquivo YAML e adicione o recurso
RotationJobe o seguinte conteúdo:apiVersion: "kms.gdc.goog/v1" kind: RotationJob metadata: name: ROTATION_NAME spec: rootKeyResourceName: ROOT_KEY_RESOURCE_NAMESubstitua ROTATION_NAME por um nome para o job de rotação por exemplo:
rotate-job1.Substitua ROOT_KEY_RESOURCE_NAME pelo nome da chave raiz especificado no formato
namespace/NAMESPACE/secrets/ROOT_KEY_NAME.Por exemplo,
namespaces/kms-system/secrets/kms-key-ctm-rootAplique o conteúdo do arquivo YAML ao KMS:
kubectl apply -f FILENAME.yamlSubstitua FILENAME pelo nome do arquivo YAML.
Depois de executar o comando, o KMS cria uma nova chave raiz e faz a rotação de todas as chaves com a nova chave raiz.
Para verificar se a rotação de chaves raiz foi concluída, execute o seguinte comando:
kubectl get rotationjobs ROTATION_NAMESubstitua ROTATION_NAME pelo nome do job de rotação.
Depois de executar o comando, o status do job de rotação será
Completedse a operação for bem-sucedida.Remova a anotação
Doneda chave raiz. Remover a anotação permite girar a chave mais de uma vez. Seu operador de infraestrutura (IO) precisa realizar esta etapa. Peça para o IO executar o seguinte:kubectl annotate secret kms-key-ROOT_KEY_NAME -n kms-system gdch.cluster.gke.io/rotation-status-