You need to enable JavaScript to run this app.
文档中心
容器服务

容器服务

复制全文
下载 pdf
FSX 访问方式
加密 TOS 存储卷
复制全文
下载 pdf
加密 TOS 存储卷
TOS 存储卷支持数据加密,适用于需要加密存储数据或者合规性要求的应用场景。本文介绍如何配置 TOS 存储卷数据加密。​
背景信息​
当您通过 FSX 客户端使用 TOS 存储卷时,支持服务端加密 SSE(Server-Side Encryption)功能,在写入或读取数据时进行加密和解密。​
  • 写入数据时,系统会将写入 TOS 存储卷的数据自动进行加密,有效保证存储在服务端数据的安全。​
  • 读取数据时,系统会将服务端加密的数据自动解密,保证体验上与未加密时完全一致。​
说明​
TOS 存储卷提供了多种加密方式,容器服务支持 SSE-TOS 和 SSE-KMS 加密方式。详情请参见 服务端加密概述。​
前提条件​
  • 请首先阅读 通过 FSX 客户端使用 TOS 静态存储卷,了解在集群中基于 FSX 客户端使用 TOS 静态卷的配置方法和注意事项。本文仅重点介绍配置 TOS 存储卷加密的注意事项和配置流程,其他通用内容不再重复介绍。​
  • 已创建 TOS 存储桶,开启 服务端加密,并选择加密方式( SSE-TOS 或 SSE-KMS)。详情请参见 创建存储桶。​
  • 如需使用 KMS 实现加密,需要提前完成以下操作:​
使用限制​
  • 挂载参数仅对新挂载的存储卷生效,对已挂载的存储卷不生效。因此,已创建的 PV 不支持修改加密方式。​
  • 当前仅支持 AES-256 加密算法,暂不支持 SM4 加密算法。​
  • 当选择 KMS 加密(SSE-KMS)时,数据读取或写入需要额外的 KMS 操作权限。权限说明和示例代码如下:​
  • 写入并加密数据时,需要具备kms:GenerateDataKey权限。​
  • 读取加密数据时,需要具备kms:Decrypt权限。​
  • ​
    {​
    "Statement": [​
    {​
    "Effect": "Allow",​
    "Action": [​
    "tos:Get*",​
    "tos:ListBucket",​
    "tos:Put*",​
    "tos:Head*",​
    "tos:DeleteObject",​
    "tos:AbortMultipartUpload",​
    "kms:GenerateDataKey",​
    "kms:Decrypt"​
    ],​
    "Resource": [​
    "*"​
    ]​
    }​
    ]​
    }​
    ​
说明​
使用 IAM 用户挂载存储桶并执行相应操作时,权限说明请参见 挂载存储桶所需要的权限。​
操作步骤​
通过控制台配置​
  1. 在左侧导航栏中,选择 集群。单击目标集群名称,进入集群管理页面。​
  1. 在集群管理页面左侧导航栏中,选择 存储管理 > 存储卷。​
  1. 单击 创建存储卷,创建 FSX 访问类型的 TOS 存储卷。​
  • ​​​
  • ​
    配置项​
    说明​
    服务端加密​
    勾选 启用,开启 TOS 存储卷的服务端加密功能。​
    加密方式​
    配置存储卷加密方式,完成挂载后,写入的数据默认会使用该服务端加密方式。取值:​
    • SSE-TOS:使用 SSE-TOS 加密方式,并采用 AES256 加密算法。​
    • SSE-KMS:使用 SSE-KMS 加密方式,并采用 AES256 加密算法。​
    密钥 TRN​
    当 加密方式 选择 SSE-KMS 时,选择 KMS 主密钥的 TRN,用于指定 SSE-KMS 加密目标对象使用的主密钥。​
    注意​
    请确保 KMS 中的密钥存在并处于启用状态。当密钥被禁用或删除时,由于权限缺失,会导致向存储卷写入或读取数据失败(Input/output error)。​
    ​
说明​
更多配置步骤和参数说明,请参见 通过 FSX 客户端使用 TOS 静态存储卷。​
  1. 配置完成后,您还需要创建 PVC 并在工作负载中挂载。更多配置步骤和参数说明,请参见 通过 FSX 客户端使用 TOS 静态存储卷。​
通过 kubectl 命令行配置​
  1. 创建 PV 的 Yaml 文件vke-tos-fsx-static-pv.yaml。​
  • ​
    SSE-TOS 加密方式
    SSE-KMS 加密方式
    ​
    支持使用mountOptions挂载参数配置加密方式,使用 SSE-TOS 加密方式时,示例代码如下:​
    ​
    apiVersion: v1​
    kind: PersistentVolume​
    metadata:​
    name: vke-tos-fsx-static-pv​
    spec:​
    accessModes:​
    - ReadWriteMany​
    capacity:​
    storage: 20Gi​
    csi:​
    driver: fsx.csi.volcengine.com​
    volumeAttributes:​
    type: TOS​
    server: doc-tos-demo.tos-cn-shanghai.ivolces.com​
    region: cn-shanghai​
    bucket: doc-tos-demo​
    path: / ​
    subpath: /​
    secretName: tos-fsx-key​
    secretNamespace: default​
    volumeHandle: vke-tos-fsx-static-pv​
    persistentVolumeReclaimPolicy: Delete​
    mountOptions: # TOS 存储卷挂载参数​
    - tos_sse=AES256 # 使用 SSE-TOS 加密方式,并采用 AES256 加密算法​
    ​
    ​
    ​
  • 挂载参数说明,如下表所示。​
  • ​
    参数​
    说明​
    tos_sse​
    设置目标对象的加密方式,完成挂载后,写入的数据默认会使用该服务端加密方式。取值:​
    • AES256:使用 SSE-TOS 加密方式,并采用 AES256 加密算法。​
    • kms:使用 SSE-KMS 加密方式,并采用 AES256 加密算法。​
    关于 SSE-TOS、 SSE-KMS 加密方式详细说明,请参见 服务端加密概述。​
    注意​
    使用 SSE-TOS 或 SSE-KMS 服务端加密时,暂不支持 SM4 加密算法。​
    tos_sse_kms_key_id​
    KMS 主密钥的 TRN,用于指定 SSE-KMS 加密目标对象使用的主密钥。格式为trn:kms:<region>:<accountID>:keyrings/<keyring>/keys/<key>,其中region为密钥所属 Region ID,accountID为密钥所属账号的 ID,keyring为密钥环别名,key为主密钥别名。​
    注意​
    • 您可以登录 KMS 控制台,在 用户主密钥 页面单击目标密钥环,在 密钥环详情 页面,目标密钥的 密钥 TRN 及别名 列获取密钥 TRN。​
    • 请确保 KMS 中的密钥存在并处于启用状态。当密钥被禁用或删除时,由于权限缺失,会导致向存储卷写入或读取数据失败(Input/output error)。​
    ​
  1. 执行以下命令,创建 PV。​
  • ​
    kubectl create -f vke-tos-fsx-static-pv.yaml​
    ​
  1. 配置完成后,您还需要创建 PVC 并在工作负载中挂载。更多配置步骤和参数说明,请参见 通过 FSX 客户端使用 TOS 静态存储卷。​
结果验证​
创建工作负载并挂载存储卷后,您可以通过以下方式验证对象存储的挂载、持久化存储和加解密。​
  1. 执行以下命令,查看存储卷是否正确挂载到 Pod 的指定路径。​
  • ​
    kubectl exec vke-static-tos-fsx-deploy-5f55*** -- df | grep tmp​
    ​
  • 预期返回结果如下。​
  • ​
    /dev/vdc 20466256 24 20449848 1% /tmp​
    ​
  1. 查看 Pod 中的挂载路径,即查看存储卷中的数据。​
  • ​
    kubectl exec vke-static-tos-fsx-deploy-5f55*** -- ls /tmp​
    ​
  • 预期返回结果如下。​
  • ​
    lost+found​
    ​
  1. 登录 对象存储控制台。向指定路径中上传文件。详情请参见 上传文件。​
  1. 查看上传文件详情,确认其加密方式符合预期。​
  • ​​​
  1. 再次查看 Pod 下的存储卷挂载路径。​
  • ​
    kubectl exec vke-static-tos-fsx-deploy-5f55*** -- ls /tmp​
    ​
  • 预期返回如下,可以查看上传的文件,实现了数据卷的挂载、持久化存储和加解密。​
  • ​
    lost+found ​
    test.sh​
    ​
​
最近更新时间:2026.10.23 10:37:21
这个页面对您有帮助吗?
有用
有用
无用
无用