在遷移文件到文件系統時,CDM支持對文件加解密,目前支持以下加密方式:
- AES-256-GCM加密
- KMS加密
AES-256-GCM加密
目前只支持AES-256-GCM(NoPadding)。該加密算法在目的端為加密,在源端為解密,支持的源端與目的端數據源如下。
- 源端支持的數據源:OBS、FTP、SFTP、HDFS(使用二進制格式傳輸時支持)、HTTP(適用于OBS共享文件的下載場景)。
- 目的端支持的數據源:OBS、FTP、SFTP、HDFS(使用二進制格式傳輸時支持)。
下面分別以OBS導出加密文件時解密、導入文件到OBS時加密為例,介紹AES-256-GCM加解密的使用方法。其它數據源的使用方法一樣。
- 源端配置解密
創建從OBS導出文件的CDM作業時,源端數據源選擇OBS后,在“源端作業配置”的“高級屬性”中,配置如下參數。
a.加密方式:選擇“AES-256-GCM”。
b.數據加密密鑰:這里的密鑰必須與加密時配置的密鑰一致,否則解密出來的數據會錯誤,且系統不會提示異常。
c.初始化向量:這里的初始化向量必須與加密時配置的初始化向量一致,否則解密出來的數據會錯誤,且系統不會提示異常。
這樣CDM從OBS導出加密過的文件時,寫入目的端的文件便是解密后的明文文件。
- 目的端配置加密
創建CDM導入文件到OBS的作業時,目的端數據源選擇OBS后,在“目的端作業配置”的“高級屬性”中,配置如下參數。
a.加密方式:選擇“AES-256-GCM”。
b.數據加密密鑰:用戶自定義密鑰,密鑰由長度64的十六進制數組成,不區分大小寫但必須64位,例如“DD0AE00DFECD78BF051BCFDA25BD4E320DB0A7AC75A1F3FC3D3C56A457DCDC1B”。
c.初始化向量:用戶自定義初始化向量,初始化向量由長度32的十六進制數組成,不區分大小寫但必須32位,例如“5C91687BA886EDCD12ACBC3FF19A3C3F”。
這樣在CDM導入文件到OBS時,目的端OBS上的文件便是經過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密鑰不可以刪除,如果刪除將導致加密對象不能下載。