Configurando a criptografia de segredo do cluster

Nuvem privada virtual Infraestrutura clássica Satellite

Depois de criar um cluster, você pode proteger os segredos do Kubernetes e todas as credenciais armazenadas em seus segredos ativando um provedor de serviço de gerenciamento de chaves (KMS), como o IBM® Key Protect for IBM Cloud®.

Ativando a criptografia secreta por meio da CLI

É possível ativar um provedor KMS, atualizar a instância do provedor KMS ou atualizar a chave raiz através da CLI.

A configuração da criptografia entre contas usando um KMS em uma conta diferente é suportada na CLI ou na API.

  1. Crie uma instância do KMS e uma chave raiz Se você desejar usar a criptografia do KMS de conta cruzada, certifique-se de criar o KMS e a chave raiz na conta cuja instância do KMS você deseja usar

  2. Obtenha o ID da instância do KMS que você criou anteriormente.

    ibmcloud oc kms instance ls
    
  3. Obtenha o ID da chave raiz que você criou anteriormente.

    ibmcloud oc kms crk ls --instance-id KMS_INSTANCE_ID
    
  4. Ative o provedor de KMS para criptografar segredos em seu cluster. Preencha as opções com as informações que você recuperou anteriormente. Por padrão, o terminal em serviço de nuvem privada do provedor KMS é usado para fazer download das chaves de criptografia. Para usar o endpoint do serviço em nuvem pública, inclua a opção --public-endpoint. O processo de ativação pode levar algum tempo para ser concluído.

    ibmcloud oc kms enable -c CLUSTER_NAME_OR_ID --instance-id KMS_INSTANCE_ID --crk ROOT_KEY_ID [--public-endpoint]
    

    Durante a ativação, você pode não conseguir acessar o mestre Kubernetes, tal como atualizar configurações YAML para implementações.

  5. Verifique se o processo de ativação do KMS está concluído. O processo estará concluído quando o Status do mestre for Pronto e o Serviço de gerenciamento de chave estiver ativado.

    ibmcloud oc cluster get -c CLUSTER_NAME_OR_ID
    

    Saída de exemplo quando a ativação está em andamento

    NAME:                   <cluster_name>
    ID:                     <cluster_ID>
    ...
    Master Status:          Key management service feature enablement in progress.
    

    Saída de exemplo quando o principal está pronto

    NAME:                   <cluster_name>
    ID:                     <cluster_ID>
    ...
    Master Status:          Ready (1 min ago)
    ...
    Key Management Service: enabled
    

    Após o provedor KMS ser ativado no cluster, todos os segredos de cluster são automaticamente criptografados.

  6. Opcional: verifique se os seus segredos estão criptografados.

A ativação da chave, que é iniciada por meio de Red Hat OpenShift, significa que a criptografia muda para uma nova chave do provedor de KMS. A rotação de chaves, que é iniciada pelo provedor de KMS, significa que a criptografia muda para uma nova versão da chave existente. Não exclua nenhuma chave raiz em sua instância do KMS se ela for rotacionada pelo provedor do KMS. Uma chave raiz pode ser excluída somente quando não estiver mais em uso. Por exemplo, depois de ativar uma nova chave e verificar se o cluster não está mais usando a chave antiga, você pode excluir a chave antiga. Se você excluir uma chave raiz usada por um cluster, o cluster se tornará inutilizável, perderá todos os dados e não poderá ser recuperado. Ao girar uma chave raiz, não é possível reutilizar uma chave raiz anterior para o mesmo cluster. Da mesma forma, se você desativar uma chave raiz, as operações que dependem da leitura de segredos falharão. No entanto, ao contrário do que ocorre ao excluir uma chave raiz, é possível reativar uma chave desativada para que o cluster volte a funcionar.

Ativando a criptografia secreta por meio do console

É possível ativar um provedor KMS, atualizar a instância do provedor KMS ou atualizar a chave raiz por meio do console da IBM Cloud.

  1. Crie uma instância do KMS e uma chave raiz Se você desejar usar a criptografia do KMS de conta cruzada, certifique-se de criar o KMS e a chave raiz na conta cuja instância do KMS você deseja usar

  2. No console, selecione o cluster para o qual você deseja habilitar a criptografia.

  3. Na seção Key management service (Serviço de gerenciamento de chaves ), clique em Enable (Ativar ). Se você já ativou o provedor de KMS, clique em Atualizar.

  4. Selecione a Instância do serviço de gerenciamento de chaves e a Chave raiz que você deseja usar para a criptografia.

    Durante a ativação, você pode não conseguir acessar o mestre Kubernetes, tal como atualizar configurações YAML para implementações.

  5. Clique em Ativar (ou Atualizar).

  6. Verifique se o processo de ativação do KMS está concluído. Saída de exemplo quando a ativação está em andamento.

    Master status   KMS feature enablement in progress.
    

    Saída de exemplo quando o mestre está pronto.

    Master status   Ready
    

    Após o provedor KMS ser ativado no cluster, todos os segredos de cluster são automaticamente criptografados.

  7. Opcional: verifique se os seus segredos estão criptografados.

A ativação da chave, que é iniciada por meio de Red Hat OpenShift, significa que a criptografia muda para uma nova chave do provedor de KMS. A rotação de chaves, que é iniciada pelo provedor de KMS, significa que a criptografia muda para uma nova versão da chave existente. Não exclua nenhuma chave raiz em sua instância do KMS se ela for rotacionada pelo provedor do KMS. Uma chave raiz pode ser excluída somente quando não estiver mais em uso. Por exemplo, depois de ativar uma nova chave e verificar se o cluster não está mais usando a chave antiga, você pode excluir a chave antiga. Se você excluir uma chave raiz usada por um cluster, o cluster se tornará inutilizável, perderá todos os dados e não poderá ser recuperado. Ao girar uma chave raiz, não é possível reutilizar uma chave raiz anterior para o mesmo cluster. Da mesma forma, se você desativar uma chave raiz, as operações que dependem da leitura de segredos falharão. No entanto, ao contrário do que ocorre ao excluir uma chave raiz, é possível reativar uma chave desativada para que o cluster volte a funcionar.

Girando a chave raiz para o seu cluster

Para girar a chave raiz usada para criptografar seu cluster, repita as etapas para ativar a criptografia do KMS. Ao girar uma chave raiz, não é possível reutilizar uma chave raiz anterior para o mesmo cluster.

É possível girar a chave raiz manualmente de sua instância do KMS. Essa ação reativa automaticamente o KMS no cluster com a nova chave raiz. Para girar manualmente as teclas, consulte Girar as teclas.

Verificando a criptografia do segredo

Depois de ativar um provedor do KMS em seu cluster Red Hat OpenShift on IBM Cloud, será possível verificar se os seus segredos de cluster são criptografados desativando a chave raiz. Ao desativar a chave raiz, o cluster não pode mais decriptografar os segredos e se torna inutilizável, o que significa que seus segredos foram criptografados.

Certifique-se de que tenha a função de acesso à plataforma Administrador e ao serviço Gerenciador do IBM Cloud IAM para o cluster.

  1. Para verificar se a criptografia do KMS está ativada, verifique se o status do Serviço de gerenciamento de chave está configurado como enabled na saída do comando a seguir.

    ibmcloud oc cluster get -c <cluster_name_or_ID>
    
  2. Acesse o seu Red Hat OpenShift cluster.

  3. Verifique se é possível listar os segredos em seu cluster.

    oc get secrets --all-namespaces
    
  4. Na instância de KMS, desative a chave raiz usada para criptografar o cluster. Se você criptografou seu cluster com um KMS e CRK de uma conta diferente, o CRK só poderá ser desativado da conta na qual ele está localizado.

  5. Espere que o cluster detecte a mudança em sua chave raiz.

  6. Tente listar seus segredos. Você obterá um erro de tempo limite porque não pode mais se conectar ao seu cluster. Se você tentar configurar o contexto para o seu cluster executando ibmcloud oc cluster config, o comando falhará.

    oc get secrets --all-namespaces
    

    Saída de exemplo

    Unable to connect to the server: dial tcp 169.48.110.250:32346: i/o timeout
    
  7. Verifique se o seu cluster está em um estado de aviso Seu cluster permanece neste estado e fica inutilizável até que você ative sua chave raiz novamente.

    ibmcloud oc cluster get -c <cluster_name_or_ID>
    
  8. Na sua instância do KMS, habilite a chave raiz para que o cluster retorne ao estado normal e volte a estar operacional.