Todos os produtos
Search
Central de documentação

Container Service for Kubernetes:Criptografar volumes ossfs 1.0

Última atualização: Jun 27, 2026

Recomenda-se a criptografia de dados para cenários que exigem alta segurança ou conformidade. Use Customer Master Keys (CMKs) do Key Management Service (KMS) ou chaves gerenciadas pelo Object Storage Service (OSS) para criptografar volumes OSS em clusters ACK. Esse método ajuda a garantir a privacidade e o controle dos dados.

Métodos de criptografia

A criptografia de volumes OSS divide-se em criptografia no lado do servidor (SSE) e criptografia no lado do cliente. O ACK suporta apenas SSE.

  • Criptografia no lado do servidor: o OSS criptografa os dados antes de salvá-los em discos no data center e os descriptografa automaticamente durante o download dos objetos.

  • Criptografia no lado do cliente: use um kit de desenvolvimento de software (SDK) de criptografia no lado do cliente para criptografar os dados localmente antes de enviá-los ao OSS.

O OSS oferece dois métodos de criptografia no lado do servidor para diferentes cenários. Aplique apenas um método de criptografia no lado do servidor por objeto por vez.

  • Uso de CMKs do KMS para criptografia (SSE-KMS)

    • Uso da CMK padrão: ao enviar um objeto, defina o cabeçalho de solicitação X-OSS-server-side-encryption como KMS e não especifique um ID de CMK.

    • Uso de um ID de CMK específico: ao enviar um objeto, defina o cabeçalho de solicitação X-OSS-server-side-encryption como KMS e configure X-OSS-server-side-encryption-key-id com o CMK ID.

    Importante

    O uso de chaves KMS gera uma pequena taxa para chamadas de API. Para mais informações sobre faturamento, consulte Faturamento do KMS 1.0.

    Este método é econômico, pois evita o envio de dados pela rede ao servidor KMS para criptografia e descriptografia.

  • Uso de chaves gerenciadas pelo OSS para criptografia (SSE-OSS)

    • Este método utiliza chaves gerenciadas pelo próprio OSS. A criptografia funciona como um atributo do objeto.

    • O OSS gera e gerencia as chaves de criptografia de dados e utiliza o algoritmo de criptografia AES-256, padrão da indústria.

    • Ao enviar um objeto, defina o cabeçalho de solicitação X-OSS-server-side-encryption como AES256.

Configure os parâmetros de criptografia de um volume OSS com a ferramenta ossfs. A configuração entra em vigor na montagem do volume persistente (PV).

Para mais informações sobre como configurar e instalar o ossfs, consulte Instalar ossfs 1.0 .

Preparações

  • Os componentes csi-plugin e csi-provisioner devem estar instalados.

    Os componentes CSI são instalados por padrão. Verifique se eles permanecem instalados. Consulte o status de instalação na página Add-ons . Recomendamos atualizar os componentes CSI para a versão mais recente.
  • Crie um bucket OSS. Para mais informações, consulte Criar buckets. O bucket e o cluster devem pertencer à mesma conta Alibaba Cloud.

    Importante

    Não utilize o OSS entre contas diferentes.

  • O Key Management Service (KMS) deve estar ativado.

Cenário 1: Usar a CMK padrão hospedada no KMS para criptografia

  1. Copie o conteúdo abaixo para um arquivo chamado kms-cmk-default.yaml.

    apiVersion: v1
    kind: PersistentVolume
    metadata:
      name: oss-csi-pv
    spec:
      capacity:
        storage: 5Gi
      accessModes:
        - ReadOnlyMany
      csi:
        driver: ossplugin.csi.alibabacloud.com
        volumeHandle: oss-csi-pv
        volumeAttributes:
          bucket: "python"
          url: "oss-cn-hangzhou.aliyuncs.com"
          otherOpts: "-o umask=022 -o max_stat_cache_size=100000 -o allow_other"
          akId: "<YourAccessKey ID>"           # Replace with your AccessKey ID.
          akSecret: "<YourAccessKey Secret>"   # Replace with your AccessKey secret.
          path: "/"
          encrypted: "kms"

    Parâmetro

    Descrição

    akId

    ID da AccessKey

    akSecret

    Segredo da AccessKey

    encrypted

    Método de criptografia do volume:

    • kms: criptografia KMS.

    • aes256: criptografia AES-256.

  2. Crie o volume criptografado.

    kubectl create -f kms-cmk-default.yaml
  3. Visualize o volume criptografado criado.

    kubectl get pv

Cenário 2: Usar um ID de CMK específico hospedado no KMS para criptografia

1. Configurar permissões de acesso ao KMS

Para criptografar um objeto OSS com um ID de CMK específico gerenciado pelo KMS, conceda permissões de acesso ao KMS ao usuário ou função RAM associado à AccessKey do PV. Para mais informações, consulte Criptografia no lado do servidor.

Antes de começar, certifique-se de ter criado um usuário do Resource Access Management (RAM) ou criado uma função RAM .
  1. No painel de navegação à esquerda, escolha Identities > Users ou Roles.

  2. Localize o usuário RAM desejado e clique em Add Permissions na coluna Actions. Alternativamente, localize a função RAM desejada e clique em Grant Permission na coluna Actions. Siga as instruções na tela para adicionar as permissões. Selecione a política de sistema AliyunKMSFullAccess ou a política personalizada AliyunOSSEncryptCustomizedPolicy.

    A permissão AliyunKMSFullAccess oferece acesso amplo. Caso necessite de controle de acesso refinado, crie uma política personalizada chamada AliyunOSSEncryptCustomizedPolicy com o seguinte conteúdo.

    {
      "Version": "1",
      "Statement": [
        {
          "Effect": "Allow",
          "Action": [
            "kms:List*",
            "kms:DescribeKey",
            "kms:GenerateDataKey",
            "kms:Decrypt"
          ],
          "Resource": [
            "acs:kms:*:141661496593****:*"  // This allows the entity to call all KMS keys under this Alibaba Cloud account ID. If you want to allow the use of only a specific CMK, enter the corresponding CMK ID.
          ]
        }
      ]
    }

2. Criar o volume criptografado

  1. Crie um arquivo chamado kms-cmk.yaml.

    apiVersion: v1
    kind: PersistentVolume
    metadata:
      name: oss-csi-pv
    spec:
      capacity:
        storage: 5Gi
      accessModes:
        - ReadOnlyMany
      csi:
        driver: ossplugin.csi.alibabacloud.com
        volumeHandle: oss-csi-pv
        volumeAttributes:
          bucket: "python"
          url: "oss-cn-hangzhou.aliyuncs.com"
          otherOpts: "-o umask=022 -o max_stat_cache_size=100000 -o allow_other"
          akId: "<YourAccessKey ID>"           # Replace with your AccessKey ID.
          akSecret: "<YourAccessKey Secret>"   # Replace with your AccessKey secret.
          path: "/"
          encrypted: "kms"
          kmsKeyId: "<YourCMKID>"          # Replace with your CMK ID.
  2. Crie o volume criptografado.

    kubectl create -f kms-cmk.yaml
  3. Visualize o volume criptografado criado.

    kubectl get pv

Cenário 3: Usar chaves totalmente gerenciadas pelo OSS para criptografia

  1. Crie um arquivo chamado sse-oss.yaml.

    apiVersion: v1
    kind: PersistentVolume
    metadata:
      name: oss-csi-pv
    spec:
      capacity:
        storage: 5Gi
      accessModes:
        - ReadOnlyMany
      csi:
        driver: ossplugin.csi.alibabacloud.com
        volumeHandle: oss-csi-pv
        volumeAttributes:
          bucket: "python"
          url: "oss-cn-hangzhou.aliyuncs.com"
          otherOpts: "-o umask=022 -o max_stat_cache_size=100000 -o allow_other"
          akId: "<YourAccessKey ID>"             # Replace with your AccessKey ID.
          akSecret: "<YourAccessKey Secret>"     # Replace with your AccessKey secret.
          path: "/"
          encrypted: "aes256"
  2. Crie o volume criptografado.

    kubectl create -f sse-oss.yaml
  3. Visualize o volume criptografado criado.

    kubectl get pv