Alternando Credenciais do Cluster

Descubra como rotacionar as credenciais dos clusters que você criou usando o Container Engine for Kubernetes (OKE).

Observação

Você pode rotacionar credenciais para clusters com nós gerenciados e para clusters com nós autogerenciados. A rotação da credencial ainda não é suportada para clusters com nós virtuais.

Para ativar a comunicação TLS segura (antigo SSL) de, para e dentro de clusters, o Kubernetes usa certificados PKI (Infraestrutura de Chave Pública) para autenticação. Para obter mais informações sobre certificados PKI e clusters do Kubernetes, consulte Certificados e requisitos PKI na documentação do Kubernetes.

Os clusters criados com o Container Engine for Kubernetes têm CAs raiz PKI (Autoridades de Certificação) e chaves privadas para o cluster, o componente etcd e o componente front-proxy. Essas CAs root são usadas para assinar os certificados e as chaves privadas usados no cluster. As CAs raiz, os certificados assinados e as chaves privadas usadas no cluster são coletivamente conhecidas como credenciais de cluster.

Nos clusters que você cria com o Container Engine for Kubernetes, as CAs raiz expiram após cinco anos. Para continuar usando um cluster, você precisa alterar (ou 'rotate') as credenciais do cluster antes do final do período de cinco anos. Além disso, sua organização pode ter diretrizes e políticas de segurança em vigor que exijam que você alterne as credenciais do cluster com mais frequência (em alguns casos, com muito mais frequência). As mensagens que informam sobre a expiração da futura credencial do cluster são mostradas na Console. Você também pode usar a Console, a CLI e a API para descobrir quando as credenciais do cluster expiram.

Quando você rotaciona credenciais de cluster, é necessário atualizar os clientes da API do Kubernetes que estavam usando as credenciais anteriores para se comunicar com a API do Kubernetes. Esses clientes da API do Kubernetes incluem arquivos kubeconfig e pods que se comunicam diretamente com a API do Kubernetes.

Observação

Você pode iniciar a rotação da credencial do cluster a qualquer momento, mas deve iniciar a rotação da credencial antes que as credenciais expirem.

O giro das credenciais do cluster é um processo de três etapas:

  • Etapa 1, Iniciar a fase de Rotação da Credencial: Durante a fase Iniciar Rotação da Credencial, novas CAs raiz, chaves privadas e certificados são criados. Você pode iniciar a fase Iniciar Rotação de Credencial a qualquer momento, mas deve iniciar a rotação da credencial antes que as credenciais expirem. Iniciar a rotação da credencial antes que as credenciais expirem também evitará a interrupção do serviço.

    Ao iniciar a fase Iniciar Rotação de Credencial, você especifica explicitamente a duração de um 'período de atraso' antes que a fase Concluir Rotação de Credencial seja iniciada automaticamente. O período de atraso permite atualizar clientes da API do Kubernetes (Etapa 2). Durante o período de atraso, as credenciais legadas e as novas credenciais fornecem comunicação segura para, de e dentro do cluster. Você pode especificar qualquer período de tempo para o período de atraso, até 14 dias. Você pode iniciar manualmente a fase Concluir Rotação de Credencial antes do final do período de atraso, desde que as novas credenciais tenham pelo menos 24 horas e você tenha concluído com sucesso a Etapa 2.

    Não inicie a Etapa 2 até que as novas CAs raiz, chaves privadas e certificados tenham sido criados.

    Observação

    Ao usar a CLI ou a API para iniciar a fase Iniciar Rotação de Credencial, especifique a duração do período de atraso no formato de duração ISO 8601. Por exemplo:
    • use P5D para especificar cinco dias
    • use PT5H para especificar cinco horas
    • use PT5M para especificar cinco minutos

    Para obter mais informações sobre o formato de duração ISO 8601, pesquise on-line.

  • Etapa 2, Atualizar clientes da API do Kubernetes: Quando as novas CAs raiz, chaves privadas e certificados tiverem sido criados e dentro do período de atraso especificado (qualquer período, até 14 dias):
    • Configure novos arquivos kubeconfig para permitir o acesso ao cluster usando as novas credenciais e as credenciais legadas.
    • Recrie ou reinicie os nós de trabalho que hospedam pods que se comunicam diretamente com o Servidor de API do Kubernetes (ou para evitar interrupção nos nós de trabalho, basta reiniciar os próprios pods).

    Não inicie a Etapa 3 até que você tenha configurado novos arquivos kubeconfig e tenha recriado ou reiniciado nós de trabalho (ou simplesmente reiniciado os pods).

  • Etapa 3, Iniciar a fase Concluir Rotação de Credencial: Quando terminar a Etapa 2 e, dentro do período de atraso especificado (qualquer período, até 14 dias), você poderá iniciar manualmente a fase Concluir Rotação de Credencial. Durante a fase de Rotação Completa de Credenciais, as CAs raiz legadas, as chaves privadas e os certificados são retirados e removidos. Inicie a fase Concluir Rotação da Credencial 24 horas depois de iniciar a fase Iniciar Rotação da Credencial e somente depois de concluir a etapa 2. Desde que as novas credenciais tenham pelo menos 24 horas, você poderá iniciar a fase de Rotação Completa de Credenciais assim que estiver pronto.

    Se você não iniciar manualmente a fase Concluir Rotação de Credencial durante o período de atraso especificado (qualquer período, até 14 dias), a fase Concluir Rotação de Credencial será iniciada automaticamente no final do período de atraso.

    Quando a fase Concluir Rotação de Credenciais estiver concluída, recomendamos substituir qualquer arquivo kubeconfig criado durante a etapa 2 (que conterá credenciais legadas e novas credenciais) por um novo arquivo kubeconfig contendo apenas as novas credenciais.

A fase Iniciar Rotação de Credenciais e a fase Concluir Rotação de Credenciais são criadas como solicitações de serviço separadas. Para rastrear o andamento da fase Iniciar Rotação de Credencial e Concluir Rotação de Credencial, exiba o status da solicitação de serviço correspondente. Consulte Exibindo Solicitações de Serviço.

Você pode rotacionar credenciais de cluster usando a Console, a CLI e a API.

Observe o seguinte ao rotacionar credenciais do cluster:

  • Basta fazer upgrade da versão do Kubernetes no plano de controle de cluster não rotacionar credenciais. Você precisa concluir todas as etapas no processo de rotação da credencial.
  • A fase Iniciar Rotação da Credencial e a fase Concluir Rotação da Credencial só podem começar quando todos os nós de trabalho do cluster tiverem um status READY. Se o status de um ou mais nós de trabalho for alterado para NOT READY durante a rotação da credencial, as operações de rotação da credencial serão pausadas por até 24 horas, aguardando que todos os nós tenham novamente o status READY antes de retomar. Se um ou mais nós de trabalho ainda tiverem o status NOT READY após 24 horas, o tempo limite das operações de rotação da credencial.
  • Se a fase Iniciar Rotação da Credencial ou a fase Concluir Rotação da Credencial falhar por algum motivo, as credenciais legadas continuarão a funcionar e não serão retiradas até expirarem.
  • Se você não iniciar manualmente a fase Concluir Rotação de Credencial dentro do período de atraso especificado (qualquer período, até 14 dias), a fase Concluir Rotação de Credencial será iniciada automaticamente. Se você não tiver atualizado os clientes da API do Kubernetes antes do final do período de atraso, o cluster sofrerá interrupção do serviço.
  • A rotação de credenciais é suportada para clusters com nós gerenciados e para clusters com nós autogerenciados. A rotação da credencial ainda não é suportada para clusters com nós virtuais.

Políticas do Serviço IAM Obrigatórias para Alternar Credenciais do Cluster

Para rotacionar credenciais de cluster, você deve pertencer a um grupo que recebeu permissão para gerenciar o cluster para o qual deseja rotacionar as credenciais ou estar no grupo Administradores da tenancy.

Usando a Console

Para verificar quando as credenciais do cluster expiram

  1. Abra o menu de navegação e clique em Serviços ao Desenvolvedor. Em Contêineres e Artefatos, clique em Clusters do Kubernetes (OKE).
  2. Escolha um Compartimento no qual você tem permissão para trabalhar.
  3. Na página Lista de Clusters, clique no nome do cluster cuja data de expiração da credencial você deseja verificar.
  4. Na página Cluster, revise a data ao lado do label Credenciais do cluster expiram em:.

Etapa 1: Iniciar a Fase de Rotação da Credencial

  1. Abra o menu de navegação e clique em Serviços ao Desenvolvedor. Em Contêineres e Artefatos, clique em Clusters do Kubernetes (OKE).
  2. Escolha um Compartimento no qual você tem permissão para trabalhar.
  3. Na página Lista de Clusters, clique no nome do cluster cujas credenciais você deseja rotacionar.
  4. Na página Cluster, clique em Iniciar Rotação ao lado do rótulo Credenciais do cluster expirar em:.
  5. Na caixa de diálogo Iniciar Rotação da Credencial, especifique por quanto tempo atrasar a inicialização automática da fase Concluir Rotação da Credencial. O período de atraso especificado deve ser:
    • pelo menos 24 horas após iniciar a fase Iniciar Rotação da Credencial
    • no máximo 14 dias após você iniciar a fase Iniciar Rotação da Credencial
  6. Clique em Iniciar para iniciar a fase Iniciar Rotação da Credencial.
  7. Para exibir o andamento da solicitação de serviço Iniciar Rotação de Credencial, clique em Solicitações de Serviço em Recursos.
  8. Somente quando o status da solicitação de serviço Iniciar Rotação de Credencial for Concluído, passe para a atualização de clientes da API do Kubernetes (consulte a Etapa 2: Atualizar Clientes da API do Kubernetes).

Etapa 2: Atualizar Clientes da API do Kubernetes

Quando o status da solicitação de serviço Iniciar Rotação de Credencial for Concluído:

  1. Configure novos arquivos kubeconfig para acessar o cluster usando as novas credenciais, usando o comando oci ce cluster create-kubeconfig (consulte Configurando o Acesso ao Cluster).

    Os arquivos kubeconfig contêm as novas credenciais e as credenciais legadas.

  2. Recrie ou reinicie os nós de trabalho que hospedam pods que se comunicam diretamente com o Servidor de API do Kubernetes (ou para evitar interrupção nos nós de trabalho, basta reiniciar os próprios pods):
    • Recriar ou reiniciar nós de trabalho:
    • Reinicie os pods em execução no cluster que se comunicam diretamente com o Servidor de API do Kubernetes.
  3. Somente quando você tiver configurado novos arquivos kubeconfig e recriado ou reiniciado nós de trabalho ou pods, passe para concluir a rotação da credencial (consulte a Etapa 3: Iniciar a Fase de Rotação Completa da Credencial).

Etapa 3: Iniciar a Fase de Rotação Completa da Credencial

Ao iniciar a fase Iniciar Rotação de Credencial, você especifica explicitamente a duração de um período de atraso antes do início automático da fase Concluir Rotação de Credencial. Você pode especificar qualquer período de tempo para o período de atraso, até 14 dias. Durante o período de atraso, as credenciais legadas e as novas credenciais fornecem comunicação segura para, de e dentro do cluster.

Se preferir, em vez de aguardar a inicialização automática da fase Concluir Rotação da Credencial no fim do período de atraso, você poderá iniciar a fase Concluir Rotação da Credencial imediatamente, da seguinte forma:

  1. Verifique se:
  2. Na página Cluster, clique em Concluir Rotação Agora ao lado do rótulo Concluir rotação da credencial em:.
  3. Na caixa de diálogo Concluir Rotação, selecione a opção Li a mensagem acima para confirmar que você atualizou os clientes da API do Kubernetes.
  4. Clique em Iniciar para iniciar a fase Concluir Rotação de Credenciais, durante a qual as CAs raiz legadas, as chaves privadas e os certificados são removidos e removidos.
  5. Para exibir o andamento da solicitação de serviço de Rotação Completa de Credenciais, clique em Solicitações de Serviço em Recursos.

    Quando o status da solicitação de serviço Concluir Rotação de Credencial for Concluída, as novas credenciais serão usadas para comunicação segura com, de e dentro do cluster. As credenciais legadas foram retiradas e removidas.

  6. (Recomendado, mas não obrigatório) Substitua qualquer arquivo kubeconfig criado durante a etapa 2 (que conterá credenciais novas e legadas) por um novo arquivo kubeconfig contendo apenas as novas credenciais, usando o comando oci ce cluster create-kubeconfig (consulte Configurando o Acesso ao Cluster).

Usando a CLI

Para obter informações sobre como usar a CLI, consulte Interface de Linha de Comando (CLI). Para obter uma lista completa de flags e opções disponíveis para comandos da CLI, consulte a Referência da Linha de Comando.

Iniciando a fase Iniciar Rotação da Credencial

oci ce cluster start-credential-rotation --auto-completion-delay-duration <number-of-days> --cluster-id <cluster-ocid>

Por exemplo:

oci ce cluster start-credential-rotation --auto-completion-delay-duration 'P5D' --cluster-id ocid1.cluster.oc1.iad.aaaaaaaaaf______jrd

Exibindo o status das solicitações de serviço de Rotação de Credenciais

oci ce cluster credential-rotation-status get --cluster-id <cluster-ocid>

Por exemplo:

oci ce cluster credential-rotation-status get --cluster-id ocid1.cluster.oc1.iad.aaaaaaaaaf______jrd

Iniciando a fase Concluir Rotação de Credenciais

oci ce cluster complete-credential-rotation --cluster-id <cluster-ocid>

Por exemplo:

oci ce cluster complete-credential-rotation --cluster-id ocid1.cluster.oc1.iad.aaaaaaaaaf______jrd