Todos os produtos
Search
Central de documentação

Container Service for Kubernetes:Encrypt data and manage keys

Última atualização: Sep 21, 2026

Criptografe discos, proteja os Secrets do Kubernetes e faça a rotação de chaves para proteger dados confidenciais em clusters do 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 linha de base de segurança.

  • Faça a rotação periódica de CMKs: Configure a automatic key rotation e o versionamento de chaves para limitar o raio de impacto de uma chave comprometida.

Criptografe volumes de disco com o KMS

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

Para criptografar um volume de disco com uma chave do KMS no momento da criação:

  1. Primeiro, crie uma StorageClass.

    1. Em seguida, 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. Agora, crie a StorageClass:

      kubectl create -f sc-kms.yaml
  2. Depois, crie uma PersistentVolumeClaim (PVC).

    1. Para isso, 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. Por fim, crie a PVC:

      kubectl create -f sc-pvc.yaml

Gerenciamento de chaves

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

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

  • Monte os 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 os Secrets como texto simples codificado em Base64 no etcd.

  • Um Secret é limitado a 1 MB.

Os Secrets não garantem segurança por padrão. Use soluções de gerenciamento de chaves em cloud e as seguintes práticas recomendadas para proteger dados confidenciais.

Soluções de segurança

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

Use o KMS

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

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

Use o driver CSI do Secret Store

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

Recursos:

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

  • Além disso, exclua Secrets em texto simples no etcd e reduza a sobrecarga de gerenciamento de Secrets em clusters grandes.

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

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

Implante o secrets-store-csi-driver-provider-alibabacloud da Alibaba Cloud para sincronizar chaves do KMS como arquivos ou Secrets do Kubernetes 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 serviço 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 os Secrets do Kubernetes 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 diversos cenários, é essencial que você ative a etcd encryption para criptografar chaves ao sincronizar do KMS para os Secrets e descriptografá-las na recuperação. Combine isso com a rotação automática de chaves para 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 os 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, baseado 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.

Práticas recomendadas de segurança

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

Aplique o 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 as credenciais do 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 os Secrets armazenados no nó e escalar para um 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 dos 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. Além disso, defina padrões de conformidade com base 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 o ACK security hardening based on MLPS.

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

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 e as gerencie de forma centralizada 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 as operações de chaves

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

Use tokens temporários e faça a rotação de chaves

Evite chaves estáticas, como pares de accesskey. Em vez disso, use tokens temporários. Os tokens temporários comprometidos são válidos apenas por um tempo limitado, o que minimiza a superfície de ataque e dá a você tempo para corrigir a vulnerabilidade.

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

Use a 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 os custos de transmissão de dados para grandes volumes e resolve as preocupações sobre confiar dados em texto simples aos provedores de cloud. Consulte Use envelope encryption to encrypt and decrypt local data.

A Última Chave é um problema comum em cenários de criptografia baseados no 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 o RRSA, para limitar quais aplicações podem acessar as credenciais do RAM.