Este documento foi traduzido usando tecnologia de tradução automática de máquina. Sempre trabalhamos para apresentar traduções precisas, mas não oferecemos nenhuma garantia em relação à integridade, precisão ou confiabilidade do conteúdo traduzido. Em caso de qualquer discrepância, a versão original em inglês prevalecerá e constituirá o texto official.

Segurança de Volume

Harvester permite que você criptografe e descriptografe imagens de máquinas virtuais. O mecanismo de criptografia utiliza o módulo do kernel Linux dm_crypt e o utilitário de linha de comando cryptsetup.

Pré-requisitos

Prepare os seguintes recursos:

  • Segredo: Um segredo do Kubernetes é usado como a senha do dm_crypt. Você deve especificar o valor do campo CRYPTO_KEY_VALUE. Todos os outros campos são fixos.

    create encryption used secret

    Exemplo de um segredo:

    apiVersion: v1
    kind: Secret
    metadata:
      name: encryption
      namespace: default
    data:
      CRYPTO_KEY_CIPHER: aes-xts-plain64
      CRYPTO_KEY_HASH: sha256
      CRYPTO_KEY_PROVIDER: secret
      CRYPTO_KEY_SIZE: 256
      CRYPTO_KEY_VALUE: "Your encryption passphrase"
      CRYPTO_PBKDF: argon2i

    O exemplo contém o código YAML padrão para segredos do Kubernetes. Além disso, você pode usar opções de criptografia para o modo LUKS, que é um modo de operação do cryptsetup. Harvester v1.4.1 e versões posteriores suportam essas opções, mas você deve verificar se elas são suportadas pelos seus nós.

    Opção Valores Possíveis

    CRYPTO_KEY_CIPHER

    aes-xts-plain, aes-xts-plain64, aes-cbc-plain, aes-cbc-plain64, aes-cbc-essiv:sha256

    CRYPTO_KEY_HASH

    sha256, sha384, sha512

    CRYPTO_KEY_SIZE

    256, 384, 512

    CRYPTO_PBKDF

    argon2i, argon2id, pbkdf2

    Você pode criar um segredo no namespace do sistema usando kubectl ou a interface do Harvester (Editar como YAML recurso). Recursos no namespace do sistema não são exibidos na tela Segredos da interface do Harvester.

  • Classe de Armazenamento: As imagens são criptografadas usando Longhorn, portanto, os campos obrigatórios devem ser passados para o Driver CSI do Longhorn. Você pode especificar o segredo de criptografia ao criar uma Classe de Armazenamento. Para mais informações, veja Classe de Armazenamento de Imagem.

    create storage class

    Exemplo de uma Classe de Armazenamento:

    allowVolumeExpansion: true
    apiVersion: storage.k8s.io/v1
    kind: StorageClass
    metadata:
      name: encryption
    parameters:
      csi.storage.k8s.io/node-publish-secret-name: encryption
      csi.storage.k8s.io/node-publish-secret-namespace: default
      csi.storage.k8s.io/node-stage-secret-name: encryption
      csi.storage.k8s.io/node-stage-secret-namespace: default
      csi.storage.k8s.io/provisioner-secret-name: encryption
      csi.storage.k8s.io/provisioner-secret-namespace: default
      encrypted: "true"
      migratable: "true"
      numberOfReplicas: "3"
      staleReplicaTimeout: "2880"
    provisioner: driver.longhorn.io
    reclaimPolicy: Delete
    volumeBindingMode: Immediate

    Você pode criar um segredo no namespace do sistema usando a interface do Harvester (Editar como YAML recurso) e kubectl. Recursos no namespace do sistema não são exibidos na tela Segredos da interface do Harvester.

Volumes Criptografados

Você pode criar um volume criptografado usando uma Classe de Armazenamento criptografada nos seguintes locais da interface do usuário:

  • Volumes: Tela de criação

    create-empty-volume
  • A aba Volumes na Máquina Virtual: Tela de criação

    create-empty-volume-in-vm

Uso Avançado com Integração ao Rancher

O segredo é uma string codificada em Base64 não criptografada. Para manter o segredo seguro, você pode usar projetos e namespaces para isolar permissões. Para mais informações, veja Multi-Tenancy.

Limitações

Você não pode executar as seguintes ações:

  • Exportar um novo volume de um volume criptografado

  • Restaurar um volume criptografado para um volume não criptografado

  • Restaurar um volume não criptografado para um volume criptografado