更新时间:2024-04-16 GMT+08:00
迁移文件时加解密
在迁移文件到文件系统时,CDM支持对文件加解密,目前支持以下加密方式:
AES-256-GCM加密
目前只支持AES-256-GCM(NoPadding)。该加密算法在目的端为加密,在源端为解密,支持的源端与目的端数据源如下。
- 源端支持的数据源:HDFS(使用二进制格式传输时支持)。
- 目的端支持的数据源:HDFS(使用二进制格式传输时支持)。
下面分别以HDFS导出加密文件时解密、导入文件到HDFS时加密为例,介绍AES-256-GCM加解密的使用方法。
- 源端配置解密
创建从HDFS导出文件的CDM作业时,源端数据源选择HDFS、文件格式选择二进制格式后,在“源端作业配置”的“高级属性”中,配置如下参数。
- 加密方式:选择“AES-256-GCM”。
- 数据加密密钥:这里的密钥必须与加密时配置的密钥一致,否则解密出来的数据会错误,且系统不会提示异常。
- 初始化向量:这里的初始化向量必须与加密时配置的初始化向量一致,否则解密出来的数据会错误,且系统不会提示异常。
这样CDM从HDFS导出加密过的文件时,写入目的端的文件便是解密后的明文文件。
- 目的端配置加密
创建CDM导入文件到HDFS的作业时,目的端数据源选择HDFS、文件格式选择二进制格式后,在“目的端作业配置”的“高级属性”中,配置如下参数。
- 加密方式:选择“AES-256-GCM”。
- 数据加密密钥:用户自定义密钥,密钥由长度64的十六进制数组成,不区分大小写但必须64位,例如“DD0AE00DFECD78BF051BCFDA25BD4E320DB0A7AC75A1F3FC3D3C56A457DCDC1B”。
- 初始化向量:用户自定义初始化向量,初始化向量由长度32的十六进制数组成,不区分大小写但必须32位,例如“5C91687BA886EDCD12ACBC3FF19A3C3F”。
这样在CDM导入文件到HDFS时,目的端HDFS上的文件便是经过AES-256-GCM算法加密后的文件。
KMS加密
源端解密不支持KMS。
CDM目前只支持导入文件到OBS时,目的端使用KMS加密,表/文件迁移和整库迁移都支持。在“目的端作业配置”的“高级属性”中配置。
KMS密钥需要先在数据加密服务创建,具体操作请参见《数据加密服务 用户指南》。
当启用KMS加密功能后,用户上传对象时,数据会加密成密文存储在OBS。用户从OBS下载加密对象时,存储的密文会先在OBS服务端解密为明文,再提供给用户。
- 如果选择使用KMS加密,则无法使用MD5校验一致性。
- 如果这里使用其它项目的KMS ID,则需要修改“项目ID”参数为KMS ID所属的项目ID;如果KMS ID与CDM在同一个项目下,“项目ID”参数保持默认即可。
- 使用KMS加密后,OBS上对象的加密状态不可以修改。
- 使用中的KMS密钥不可以删除,如果删除将导致加密对象不能下载。
父主题: 进阶实践