Todos os produtos
Search
Central de documentação

Container Service for Kubernetes:Encrypt data and manage keys

Última atualização: Aug 27, 2026

Criptografe discos, proteja Kubernetes Secrets e rotacione chaves para proteger dados confidenciais em clusters ACK. Monitore e atualize continuamente os algoritmos de criptografia e as estratégias de gerenciamento de chaves para se adaptar às ameaças em evolução.

Criptografia de dados

Recomendações de criptografia de disco

Proteja os dados em repouso:

  • Ative a criptografia de disco: Encrypt disk volumes como base de segurança.

  • Rotacione CMKs periodicamente: Configure automatic key rotation e o versionamento de chaves para limitar o impacto de uma chave comprometida.

Criptografe volumes de disco com o KMS

A criptografia de armazenamento do Key Management Service (KMS) protege dados em instâncias do Elastic Compute Service (ECS) sem exigir um sistema separado de gerenciamento de chaves. Consulte Encrypt disk volumes.

Para criptografar um volume de disco com uma chave do KMS durante a criação:

  1. Crie uma StorageClass.

    1. Crie um arquivo chamado sc-kms.yaml:

      
      apiVersion: storage.k8s.io/v1
      kind: StorageClass
      metadata:
        name: csi-disk
      provisioner: diskplugin.csi.alibabacloud.com
      parameters:
          fsType: ext4
          type: cloud_ssd
          encrypted: "true"
          kmsKeyId: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx
      reclaimPolicy: Delete
      
    2. Crie a StorageClass:

      kubectl create -f sc-kms.yaml
  2. Crie uma persistent volume claim (PVC).

    1. Crie um arquivo chamado sc-pvc.yaml:

      
      apiVersion: v1
      kind: PersistentVolumeClaim
      metadata:
        name: disk-pvc
      spec:
        accessModes:
        - ReadWriteOnce
        resources:
          requests:
            storage: 20Gi
        storageClassName: csi-disk
      
      • ReadWriteOnce

    2. Crie a PVC:

      kubectl create -f sc-pvc.yaml

Gerenciamento de chaves

Os Kubernetes Secrets armazenam dados confidenciais — como senhas, certificados e tokens — como objetos consumidos por pods:

  • Os Secrets têm escopo de namespace. Use o controle de acesso baseado em função (RBAC) do Kubernetes para isolar leituras e gravações de Secrets por namespace.

  • Monte Secrets como arquivos ou variáveis de ambiente nos contêineres dos pods.

  • Os dados dos Secrets residem no sistema de arquivos temporário (tmpfs) nos nós.

  • O servidor de API armazena Secrets como texto simples codificado em Base64 no etcd.

  • Um Secret tem limite de 1 MB.

Por padrão, os Secrets não garantem segurança. Use soluções de gerenciamento de chaves em nuvem e as melhores práticas a seguir para proteger dados confidenciais.

Soluções de segurança

No modelo de responsabilidade compartilhada, os provedores de nuvem protegem o plano de controle e fornecem soluções de gerenciamento de chaves.

Use o KMS

O KMS gerencia o ciclo de vida das chaves e fornece criptografia de dados, incluindo rotação automática de chaves, para reduzir riscos de violação e atender a requisitos de conformidade.

Para evitar a codificação fixa de credenciais, use o KMS para gerenciar chaves em pipelines de desenvolvimento, teste e build. Consulte What is KMS?

Use o driver CSI do Secret Store

A maioria das aplicações recupera chaves de um caminho do sistema de arquivos ou de uma variável de ambiente. O secrets-store-csi-driver, projeto da comunidade Kubernetes, monta chaves de um service externo de gerenciamento de chaves nos pods como volumes. Assim, as aplicações acessam as chaves sem criar Kubernetes Secrets ou armazenar texto simples no etcd.

Capacidades:

  • Monta chaves de um service externo de gerenciamento de chaves nos pods como volumes

  • Evita Secrets em texto simples no etcd e reduz a sobrecarga de gerenciamento de Secrets em grandes clusters

  • Sincroniza alterações de chaves do KMS para os contêineres em tempo real

  • Elimina chamadas de API do service de gerenciamento de chaves do código da aplicação

Implante o secrets-store-csi-driver-provider-alibabacloud da Alibaba Cloud para sincronizar chaves do KMS como arquivos ou Kubernetes Secrets nos contêineres.

Para resolver o problema da Última Chave (o driver CSI precisa de permissões de acesso ao KMS), use RAM Roles for Service Accounts (RRSA). O RRSA concede à conta de service do driver CSI acesso às chaves do KMS, em vez de conceder permissões diretamente aos pods.

Ative a criptografia do etcd

Por padrão, o etcd armazena Kubernetes Secrets como texto simples codificado em Base64, o que representa riscos de segurança. Em clusters gerenciados, os provedores de cloud mantêm o etcd. Com base nos princípios de confiança zero em cloud e nos requisitos de conformidade de muitos cenários, ative etcd encryption para criptografar chaves ao sincronizar do KMS para Secrets e descriptografá-las na recuperação. Combine isso com a rotação automática de chaves para obter uma segurança de dados mais robusta.

Use contêineres confidenciais

Para cenários que exigem segurança de dados aprimorada — como pagamentos financeiros, autenticação de privacidade e computação de dados de propriedade intelectual — use ACK clusters for trusted execution environment (TEE)-based confidential computing. A computação confidencial baseada em TEE fornece um ambiente de execução confiável e criptografado, fundamentado em criptografia de hardware, protegendo a integridade e a confidencialidade dos dados confidenciais durante todo o seu ciclo de vida. As chaves da aplicação podem ser armazenadas em enclaves — ambientes isolados semelhantes a um módulo de segurança de hardware (HSM) no KMS — para reduzir a transmissão de chaves.

Melhores práticas de segurança

Além das soluções do provedor de cloud, desenvolvedores e engenheiros de operações e manutenção (O&M) devem proteger as chaves na camada da aplicação.

Aplique RBAC

Siga o princípio do menor privilégio ao atribuir acesso ao cluster. Evite emitir credenciais com permissões de leitura e gravação em Secrets globais. Revogue credenciais de cluster que possam estar comprometidas.

Reforce a segurança dos pods

O escape de contêiner é um ataque comum contra clusters Kubernetes. Após escapar para o host, um invasor pode ler Secrets armazenados no nó e escalar para acesso em todo o cluster. Configure security contexts para minimizar as capacidades dos pods. Evite configurações privilegiadas, redes de host compartilhadas ou sistemas de arquivos compartilhados. Use security policies para rejeitar implantações que violem privilégios. Use network policies para controlar o tráfego leste-oeste entre pods e reduzir o risco de ataques de movimento lateral.

Reforce a segurança dos nós

Use redes privadas e adicione regras de lista de controle de acesso (ACL) aos grupos de segurança para controlar o tráfego de entrada e saída. Defina padrões de conformidade baseados no Multi-Level Protection Scheme (MLPS) ou no Alibaba Cloud Linux Security Hardening para verificação de identidade, controle de acesso, auditoria e prevenção de intrusões. Consulte ACK security hardening based on MLPS.

Execute inspeções de linha de base regularmente para identificar configurações de alto risco e corrija vulnerabilidades prontamente.

Reforce a segurança da cadeia de suprimentos

Proíba a codificação fixa de informações confidenciais em modelos, repositórios e arquivos de configuração. Use services de gerenciamento de chaves para gerenciar chaves centralmente em toda a cadeia de suprimentos. Implemente inspeções automáticas de segurança para evitar violações de dados em cada etapa da cadeia de suprimentos.

Audite e monitore operações de chave

Audite e registre todas as operações de chave — leitura, gravação, uso e gerenciamento de ciclo de vida — para garantir rastreabilidade. Configure monitoramento de tempo de execução com alertas para operações suspeitas em dados confidenciais e pares de AccessKey comprometidos. Alertas e logs ajudam os engenheiros de O&M a responder a violações, avaliar impactos e minimizar perdas.

Use tokens temporários e rotacione chaves

Evite chaves estáticas, como pares de AccessKey. Em vez disso, use tokens temporários. Tokens temporários comprometidos são válidos apenas por um tempo limitado, minimizando a superfície de ataque e dando tempo para corrigir a vulnerabilidade.

Para chaves do KMS, ative a rotação automática de chaves ou rotacione-as periodicamente para aumentar a segurança.

Use criptografia de envelope para proteger a última chave

A criptografia de envelope usa uma Content Encryption Key (CEK) para criptografar dados localmente e, em seguida, criptografa a CEK com uma Key Encryption Key (KEK) no KMS. Isso mantém a criptografia e a descriptografia offline, evita o upload de chaves para a cloud, reduz custos de transmissão de dados para grandes volumes e resolve preocupações sobre confiar dados em texto simples a provedores de cloud. Consulte Use envelope encryption to encrypt and decrypt local data.

A Última Chave é um problema comum em cenários de criptografia baseada em KMS. Para proteger a KEK com o menor privilégio, use o Resource Access Management (ram) da Alibaba Cloud para controlar o acesso às credenciais usadas para recuperar a KEK. Use tokens temporários com rotação automática para proteger essas credenciais. Use um mecanismo de isolamento, como RRSA, para limitar quais aplicações podem acessar as credenciais do ram.