Rotação de credenciais de segurança

Este tópico descreve como rodar as credenciais de segurança para o serviço de gestão do GKE on AWS e os clusters de utilizadores. Para mais informações sobre as funcionalidades de segurança do GKE na AWS, consulte Segurança.

Antes de começar

Para concluir os passos nesta página, tem de ter acesso ao diretório com a configuração do GKE no AWS.

Certificados de serviços de gestão

Esta secção descreve como rodar os certificados do seu serviço de gestão.

Autoridades de certificação de gestão

Esta secção explica como rodar os certificados de assinatura da autoridade de certificação (AC) para componentes do GKE no AWS.

AC raiz do servidor da API Management

Para rodar a AC raiz do servidor da API, siga estes passos:

  1. Altere para o diretório com a configuração do GKE na AWS. Criou este diretório quando Instalou o serviço de gestão.
    cd anthos-aws
  2. Abra o ficheiro anthos-gke.status.yaml num editor de texto.
  3. Remova todos os valores abaixo da chave certificateAuthority. Isto inclui encryptedPrivateKey.kmsKeyARN, encryptedPrivateKey.value e encryptedPrivateKey.certificate.
  4. Execute o anthos-gke aws management init para atualizar o ficheiro anthos-gke.status.yaml.

     anthos-gke aws management init
    
  5. Execute a app anthos-gke aws management apply para atualizar o serviço de gestão.

     anthos-gke aws management apply
    

  1. No diretório do anthos-aws, use anthos-gke para mudar o contexto para o seu serviço de gestão.
    cd anthos-aws
    anthos-gke aws management get-credentials

Outras ACs de gestão

Esta secção descreve como pode rodar todas as ACs seguintes:

  • AC do webhook de autenticação
  • AC do Etcd
  • AC de assinatura da conta de serviço

Pode rodar estas ACs com um dos seguintes métodos:

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

    1. Altere para o diretório com a configuração do GKE na AWS. Criou este diretório quando Instalou o serviço de gestão.
      cd anthos-aws
    2. Abra o ficheiro anthos-gke.status.yaml num editor de texto.
    3. Remova todos os valores abaixo da chave certificateAuthority. Isto inclui encryptedPrivateKey.kmsKeyARN, encryptedPrivateKey.value e encryptedPrivateKey.certificate.
    4. Execute o anthos-gke aws management init para atualizar o ficheiro anthos-gke.status.yaml.

       anthos-gke aws management init
      
    5. Execute a app anthos-gke aws management apply para atualizar o serviço de gestão.

       anthos-gke aws management apply
      

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

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

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

Gestão de chaves e certificados de cliente / servidor TLS

Para alternar as chaves e os certificados do cliente / servidor TLS para o seu serviço de gestão, recrie a instância do serviço de gestão. Para recriar a instância, siga estes passos:

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

Google Cloud contas de serviço

Contas de serviço do serviço de gestão

Para alternar as Google Cloud contas de serviço do seu serviço de gestão, siga estes passos.

  1. Crie novas contas de serviço e transfira chaves de contas de serviço seguindo os passos em Pré-requisitos
  2. Altere para o diretório com a configuração do GKE na AWS. Criou este diretório quando Instalou o serviço de gestão.
    cd anthos-aws
  3. Se transferiu chaves para um caminho diferente, abra o ficheiro anthos-gke.yaml num editor de texto. Altere o valor 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 o anthos-gke aws management init para atualizar o ficheiro anthos-gke.status.yaml.

    anthos-gke aws management init
    
  5. Execute a app anthos-gke aws management apply para atualizar o serviço de gestão.

    anthos-gke aws management apply
    

Contas de serviço do cluster de utilizadores

Para aplicar estas contas de serviço aos seus AWSClusters e AWSNodePools, tem de atualizá-los ou eliminá-los e, em seguida, recriá-los.

Certificados de cluster de utilizadores

Esta secção descreve como rodar os certificados para os seus clusters de utilizadores.

Use ACs e chaves SSH do cluster de utilizadores

A maioria das CAs para os seus clusters de utilizadores é criada quando o cluster é criado.

Quando elimina um cluster de utilizadores, o GKE na AWS roda os seguintes certificados:

  • AC raiz do servidor da API
  • API front proxy CA
  • AC etcd
  • AC de assinatura da conta de serviço do Kubernetes
  • Pares de chaves SSH do plano de controlo para o nó

CA do webhook de autenticação do cluster de utilizadores

Para rodar a AC do webhook de autenticação do cluster de utilizadores, edite o ficheiro anthos-gke.status.yaml e aplique as alterações.

  1. Altere para o diretório com a configuração do GKE na AWS. Criou este diretório quando Instalou o serviço de gestão.
    cd anthos-aws
  2. Abra o ficheiro anthos-gke.status.yaml num editor de texto.
  3. Remova todos os valores abaixo da chave certificateAuthority. Isto inclui encryptedPrivateKey.kmsKeyARN, encryptedPrivateKey.value e encryptedPrivateKey.certificate.
  4. Execute o anthos-gke aws management init para atualizar o ficheiro anthos-gke.status.yaml.

     anthos-gke aws management init
    
  5. Execute a app anthos-gke aws management apply para atualizar o serviço de gestão.

     anthos-gke aws management apply
    

Certificados e pares de chaves TLS do cluster de utilizadores

O GKE on AWS gera pares de chaves e certificados TLS quando cria uma instância. Para rodar estes pares, recrie a instância seguindo os passos abaixo para o plano de controlo e os conjuntos de nós.

Plano de controlo

  1. No diretório do anthos-aws, use anthos-gke para mudar o contexto para o seu serviço de gestão.
    cd anthos-aws
    anthos-gke aws management get-credentials
  2. Use o kubectl para obter o grupo de destino do AWS EC2 do plano de controlo a partir 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 do EC2 do seu plano de controlo. Por exemplo, gke-123456a7-controlplane.

  3. Abra a consola do AWS EC2. Escolha Grupos de segmentação no painel do lado esquerdo.

  4. Clique na barra de pesquisa e encontre o grupo-alvo. Clique no Nome do grupo de destino e, de seguida, clique em Alvos. É apresentada a lista das instâncias do plano de controlo.

  5. Para cada instância no grupo de destino, siga estes passos:

    1. Clique no ID da instância da instância. É apresentada a consola de instâncias do AWS EC2.

    2. Clique no ID da instância.

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

    4. Regresse à página Grupos de segmentação.

  6. Depois de terminar todas as instâncias no grupo, regresse à página Grupos de destino.

  7. Na secção Alvos registados da página, encontre a coluna Estado. Cada uma das suas instâncias deve ter um Estado de Em bom estado. Se alguma das instâncias estiver em bom estado, aguarde alguns minutos e clique no ícone Atualizar ().

  8. Depois de todas as instâncias no grupo de destino estarem em bom estado, avance para o passo seguinte.

Node pools

Para rodar os certificados TLS do seu conjunto de nós:

  1. No diretório do anthos-aws, use anthos-gke para mudar o contexto para o seu serviço de gestão.
    cd anthos-aws
    anthos-gke aws management get-credentials
  2. Use kubectl para obter o grupo de destino do AWS EC2 do seu node pool a partir do 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 do EC2 do seu conjunto de nós. Por exemplo, gke-123456a7-nodepool-abc123.

  3. Abra a consola do AWS EC2. Escolha Grupos de segmentação no painel do lado esquerdo.

  4. Clique na barra de pesquisa e encontre o grupo-alvo. Clique no Nome do grupo de destino e, de seguida, clique em Alvos. É apresentada a lista das instâncias do plano de controlo.

  5. Para cada instância no grupo de destino, siga estes passos:

    1. Clique no ID da instância da instância. É apresentada a consola de instâncias do AWS EC2.

    2. Clique no ID da instância.

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

    4. Regresse à página Grupos de segmentação.

  6. Depois de terminar todas as instâncias no grupo, regresse à página Grupos de destino.

  7. Na secção Alvos registados da página, encontre a coluna Estado. Cada uma das suas instâncias deve ter um Estado de Em bom estado. Se alguma das instâncias estiver em bom estado, aguarde alguns minutos e clique no ícone Atualizar ().

  8. Depois de todas as instâncias no grupo de destino estarem em bom estado, avance para o passo seguinte.