Todos os produtos
Search
Central de documentação

Container Service for Kubernetes:Criptografar volumes ossfs 1.0

Última atualização: Sep 16, 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. Essa prática garante a privacidade dos dados e oferece controle sobre suas informações.

Métodos de criptografia

A criptografia de volumes OSS pode ocorrer via criptografia no lado do servidor (SSE) ou no lado do cliente. O ACK suporta apenas SSE.

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

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

O OSS oferece dois métodos de criptografia no lado do servidor. Apenas um método pode ser aplicado por objeto por vez.

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

    • Usar a 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.

    • Usar 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 seu CMK ID.

    Importante

    O uso de chaves do KMS gera uma pequena taxa por chamadas de API. Para mais informações, consulte Billing of KMS 1.0.

    Este método é econômico, pois o OSS não transmite dados pela rede até o servidor KMS para criptografia e descriptografia.

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

    • Nesta abordagem, as chaves são totalmente gerenciadas pelo OSS e a criptografia funciona como um atributo do objeto.

    • O OSS gera e gerencia as chaves de criptografia de dados e utiliza o algoritmo forte 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.

Defina os parâmetros de criptografia de um volume OSS por meio da ferramenta ossfs. Essas configurações são aplicadas durante a montagem do volume persistente (PV).

Para mais detalhes sobre como configurar e instalar o ossfs, consulte Install ossfs 1.0 .

Pré-requisitos

Cenário 1: Usar a CMK padrão do KMS

  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

    AccessKey ID

    akSecret

    AccessKey Secret

    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 do KMS específico

1. Configurar permissões de acesso ao KMS

Para criptografar um objeto OSS com uma CMK específica, conceda permissão de uso dessa CMK ao usuário ou função RAM associado à AccessKey do PV. Para mais informações, consulte Server-side encryption.

Antes de começar, certifique-se de ter created a RAM user ou created a RAM role .
  1. Faça login no console RAM usando uma conta Alibaba Cloud ou como administrador RAM.

  2. No painel de navegação à esquerda, selecione User ou Role.

  3. Localize o usuário RAM desejado e clique em Add Permissions na coluna Actions. Alternativamente, localize a função RAM alvo e clique em Attach Policy na coluna Actions. Siga as instruções na tela para conceder as permissões. Anexe a política de sistema AliyunKMSFullAccess ou uma política personalizada chamada AliyunOSSEncryptCustomizedPolicy.

    A permissão AliyunKMSFullAccess oferece acesso amplo. Para um controle mais granular, create a custom policy 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 principal to use all KMS keys under this Alibaba Cloud account. To allow access to only a specific CMK, replace the wildcard resource with the ARN of that CMK.
          ]
        }
      ]
    }

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 gerenciadas pelo OSS

  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