Credenciais de segurança rotativas

Este tópico descreve como rotacionar credenciais de segurança para o serviço de gerenciamento e clusters de usuários do GKE na AWS. Para obter mais informações sobre os recursos de segurança do GKE na AWS, consulte Segurança .

Antes de começar

Para concluir as etapas desta página, você precisa ter acesso ao diretório com sua configuração do GKE na AWS.

Certificados de serviços de gestão

Esta seção descreve como rotacionar certificados para seu serviço de gerenciamento.

Autoridades de certificação de gestão

Esta seção explica como rotacionar certificados de assinatura de autoridade de certificação (CA) para componentes do GKE na AWS.

CA raiz do servidor de API de gerenciamento

Para girar a CA raiz do servidor de API, execute as seguintes etapas:

  1. Acesse o diretório com a configuração do GKE na AWS. Você criou este diretório ao instalar o serviço de gerenciamento .
    cd anthos-aws
  2. Abra seu anthos-gke.status.yaml em um editor de texto.
  3. Remova todos os valores sob a chave certificateAuthority . Isso inclui encryptedPrivateKey.kmsKeyARN , encryptedPrivateKey.value e encryptedPrivateKey.certificate .
  4. Execute anthos-gke aws management init para atualizar o arquivo anthos-gke.status.yaml .

     anthos-gke aws management init
    
  5. Execute anthos-gke aws management apply para atualizar o serviço de gerenciamento.

     anthos-gke aws management apply
    

  1. No seu diretório anthos-aws , use anthos-gke para alternar o contexto para seu serviço de gerenciamento.
    cd anthos-aws
    anthos-gke aws management get-credentials

Outras ACs de gestão

Esta seção descreve como você pode rotacionar todas as seguintes CAs:

  • Webhook de autenticação CA
  • Etcd CA
  • Assinante da conta de serviço CA

Você pode rotacionar essas CAs com um dos seguintes métodos:

  • Remova a seção certificateAuthority do seu anthos-gke.status.yaml .

    1. Acesse o diretório com a configuração do GKE na AWS. Você criou este diretório ao instalar o serviço de gerenciamento .
      cd anthos-aws
    2. Abra seu anthos-gke.status.yaml em um editor de texto.
    3. Remova todos os valores sob a chave certificateAuthority . Isso inclui encryptedPrivateKey.kmsKeyARN , encryptedPrivateKey.value e encryptedPrivateKey.certificate .
    4. Execute anthos-gke aws management init para atualizar o arquivo anthos-gke.status.yaml .

       anthos-gke aws management init
      
    5. Execute anthos-gke aws management apply para atualizar o serviço de gerenciamento.

       anthos-gke aws management apply
      

  • Se uma nova versão do GKE na AWS estiver disponível, atualize seu serviço de gerenciamento do GKE na AWS .

  • Recrie a instância do serviço de gerenciamento EC2.

    1. No seu diretório anthos-aws , use terraform para obter o ID do seu serviço de gerenciamento.
      cd anthos-aws
      terraform output cluster_id
      A saída inclui o ID do seu serviço de gerenciamento. No exemplo abaixo, o ID é gke-12345abc .
      terraform output cluster_id
      gke-12345abc
      
    2. Abra o console do AWS EC2 .
    3. Instâncias de clique
    4. Localize a instância chamada cluster-id -management-0 .
    5. Selecione Ações -> Estado da instância -> Encerrar para remover a instância. O EC2 cria automaticamente uma nova instância com o mesmo volume EBS.

Gerenciamento de chaves e certificados de cliente/servidor TLS

Para rotacionar as chaves e certificados de cliente/servidor TLS do seu serviço de gerenciamento, recrie a instância do serviço de gerenciamento. Para recriar a instância, siga estas etapas:

  1. No seu diretório anthos-aws , use terraform para obter o ID do seu serviço de gerenciamento.
    cd anthos-aws
    terraform output cluster_id
    A saída inclui o ID do seu serviço de gerenciamento. No exemplo abaixo, o ID é gke-12345abc .
    terraform output cluster_id
    gke-12345abc
    
  2. Abra o console do AWS EC2 .
  3. Instâncias de clique
  4. Localize a instância chamada cluster-id -management-0 .
  5. Selecione Ações -> Estado da instância -> Encerrar para remover a instância. O EC2 cria automaticamente uma nova instância com o mesmo volume EBS.

Google Cloud contas de serviço

Contas de serviço de gerenciamento

Para girar o Google Cloud contas de serviço para seu serviço de gerenciamento, execute as seguintes etapas.

  1. Crie novas contas de serviço e baixe as chaves de conta de serviço seguindo as etapas em Pré-requisitos
  2. Acesse o diretório com a configuração do GKE na AWS. Você criou este diretório ao instalar o serviço de gerenciamento .
    cd anthos-aws
  3. Se você baixou as chaves para um caminho diferente, abra o arquivo anthos-gke.yaml em um editor de texto. Altere os valores de .spec.googleCloud.serviceAccountKeys.managementService , .status.googleCloud.serviceAccountKeys.connectAgent e .spec.googleCloud.serviceAccountKeys.node para os novos caminhos.

    apiVersion: multicloud.cluster.gke.io/v1
    kind: AWSManagementService
    metadata:
     name: management
    spec:
     googleCloud:
       serviceAccountKeys:
         managementService: MANAGEMENT_KEY_PATH
         connectAgent: CONNECT_KEY_PATH
         node: NODE_KEY_PATH
     ...
    
  4. Execute anthos-gke aws management init para atualizar o arquivo anthos-gke.status.yaml .

    anthos-gke aws management init
    
  5. Execute anthos-gke aws management apply para atualizar o serviço de gerenciamento.

    anthos-gke aws management apply
    

Contas de serviço de cluster de usuário

Para aplicar essas contas de serviço em seus AWSClusters e AWSNodePools, você deve atualizá-las ou excluí-las e recriá- las.

Certificados de cluster de usuário

Esta seção descreve como rotacionar certificados para seus clusters de usuários.

CAs de cluster de usuários e chaves SSH

A maioria das CAs para seus clusters de usuários são criadas quando o cluster é criado.

Quando você exclui um cluster de usuário , o GKE na AWS rotaciona os seguintes certificados:

  • CA raiz do servidor API
  • CA de proxy frontal de API
  • etcd CA
  • Autoridade de certificação do assinante da conta de serviço do Kubernetes
  • Pares de chaves SSH do plano de controle para o nó

CA de webhook de autenticação de cluster de usuário

Para girar a CA do webhook de autenticação do cluster de usuário, edite o arquivo anthos-gke.status.yaml e aplique as alterações.

  1. Acesse o diretório com a configuração do GKE na AWS. Você criou este diretório ao instalar o serviço de gerenciamento .
    cd anthos-aws
  2. Abra seu anthos-gke.status.yaml em um editor de texto.
  3. Remova todos os valores sob a chave certificateAuthority . Isso inclui encryptedPrivateKey.kmsKeyARN , encryptedPrivateKey.value e encryptedPrivateKey.certificate .
  4. Execute anthos-gke aws management init para atualizar o arquivo anthos-gke.status.yaml .

     anthos-gke aws management init
    
  5. Execute anthos-gke aws management apply para atualizar o serviço de gerenciamento.

     anthos-gke aws management apply
    

Pares de chaves TLS e certificados do cluster de usuários

O GKE na AWS gera pares de chaves TLS e certificados ao criar uma instância. Para rotacionar esses pares, recrie a instância executando as seguintes etapas para o seu plano de controle e pools de nós.

Plano de controle

  1. No seu diretório anthos-aws , use anthos-gke para alternar o contexto para seu serviço de gerenciamento.
    cd anthos-aws
    anthos-gke aws management get-credentials
  2. Use kubectl para obter o grupo de destino do AWS EC2 do seu plano de controle do seu AWSCluster.

    env HTTPS_PROXY=http://localhost:8118 \
      kubectl get awscluster cluster-name \
      -o jsonpath='{.status.targetGroupName}{"\n"}'
    

    A saída inclui o nome do grupo de destino EC2 do seu plano de controle. Por exemplo, gke-123456a7-controlplane .

  3. Abra o Console do AWS EC2 . Selecione Grupos de Destino no painel esquerdo.

  4. Clique na barra de pesquisa e encontre seu grupo-alvo. Clique no Nome do seu grupo-alvo e, em seguida, em Destinos . A lista de instâncias do seu plano de controle será exibida.

  5. Para cada instância no grupo de destino, execute as seguintes etapas:

    1. Clique no ID da instância . O console de instâncias do AWS EC2 será exibido.

    2. Clique no ID da instância .

    3. Selecione Ações -> Estado da instância -> Encerrar para remover a instância. O EC2 cria automaticamente uma nova instância com o mesmo volume EBS.

    4. Voltar para a página Grupos-alvo.

  6. Depois de encerrar todas as instâncias do grupo, retorne à página Grupos de destino.

  7. Na seção Alvos Registrados da página, localize a coluna Status . Cada uma das suas instâncias deve ter o status " Saudável" . Se alguma das instâncias estiver íntegra, aguarde alguns minutos e clique no ícone " ".

  8. Depois que todas as instâncias no grupo de destino estiverem saudáveis, prossiga para a próxima etapa.

Pools de nós

Para rotacionar os certificados TLS do seu pool de nós:

  1. No seu diretório anthos-aws , use anthos-gke para alternar o contexto para seu serviço de gerenciamento.
    cd anthos-aws
    anthos-gke aws management get-credentials
  2. Use kubectl para obter o grupo de destino do AWS EC2 do seu pool de nós do seu AWSNodePool.

    env HTTPS_PROXY=http://localhost:8118 \
      kubectl get awsnodepool -o jsonpath='{.items[*].status.autoScalingGroupName}{"\n"}'
    

    A saída inclui o nome do grupo de destino EC2 do seu pool de nós. Por exemplo, gke-123456a7-nodepool-abc123 .

  3. Abra o Console do AWS EC2 . Selecione Grupos de Destino no painel esquerdo.

  4. Clique na barra de pesquisa e encontre seu grupo-alvo. Clique no Nome do seu grupo-alvo e, em seguida, em Destinos . A lista de instâncias do seu plano de controle será exibida.

  5. Para cada instância no grupo de destino, execute as seguintes etapas:

    1. Clique no ID da instância . O console de instâncias do AWS EC2 será exibido.

    2. Clique no ID da instância .

    3. Selecione Ações -> Estado da instância -> Encerrar para remover a instância. O EC2 cria automaticamente uma nova instância com o mesmo volume EBS.

    4. Voltar para a página Grupos-alvo.

  6. Depois de encerrar todas as instâncias do grupo, retorne à página Grupos de destino.

  7. Na seção Alvos Registrados da página, localize a coluna Status . Cada uma das suas instâncias deve ter o status " Saudável" . Se alguma das instâncias estiver íntegra, aguarde alguns minutos e clique no ícone " ".

  8. Depois que todas as instâncias no grupo de destino estiverem saudáveis, prossiga para a próxima etapa.