概述
本文档详细介绍了元数据加速桶与普通存储桶的服务端加密功能的差异,以及元数据加速桶服务端加密功能的使用方法。
服务端加密功能支持情况
普通桶和元数据加速桶对服务端加密的支持情况如下表所示:
| 访问方法 | 服务端加密类型 | 普通桶 | 元数据加速桶 | 
| S3接口 | SSE-C | 支持 | 不支持 | 
|  | SSE-COS | 支持 | 支持 | 
|  | SSE-KMS | 支持 | 不支持 | 
| HDFS 接口 | SSE-C | 支持 | 支持 | 
|  | SSE-COS | 支持 | 支持 | 
|  | SSE-KMS | 支持 | 支持 | 
注意:
除上述表格所列出的区别外,元数据加速桶还有两个额外的使用限制:
不支持存储桶加密(可参考 存储桶加密概述),包括控制台配置和 REST API 配置都不支持。
仅支持 AES256加密算法,不支持 SM4加密算法。
服务端加密功能使用方法
元数据加速桶的服务端加密配置方式取决于访问接口类型:
S3 接口访问:配置加密方式的方法跟普通桶一致,请参见 服务端加密专用头部 设置请求头参数。
HDFS 接口访问:需根据使用的客户端( OFS 客户端或 COSN 客户端)的不同,选择不同的配置方法。关于两种客户端的详情,请参见 客户端介绍 。
下文列出的配置项,都需要在 Hadoop 的 core-site.xml 文件中添加或者修改,具体操作路径因环境而异:
自建的大数据环境:core-site.xml 文件一般位于 $HADOOP_HOME/etc/hadoop 目录下,具体取决于大数据组件的安装方式和发行版本。
OFS 客户端
使用 OFS 客户端时,各种加密方式的配置项介绍如下:
SSE-C 加密
| 配置项 | 配置描述 | 是否必选 | 
| fs.ofs.sse.mode | 指定服务端加密方式,此处为 SSE-C | 是 | 
| fs.ofs.sse.c.key | 格式为 Base64编码的 AES-256密钥,如MDEyMzQ1Njc4OUFCQ0RFRjAxMjM0NTY3ODlBQkNERUY= | 是 | 
SSE-COS 加密
| 配置项 | 配置描述 | 是否必选 | 
| fs.ofs.sse.mode | 指定服务端加密方式,此处为 SSE-COS | 是 | 
SSE-KMS 加密
| 配置项 | 配置描述 | 是否必选 | 
| fs.ofs.sse.mode | 指定服务端加密方式,此处为 SSE-KMS | 是 | 
| fs.ofs.sse.kms.keyid | 指定 KMS 的用户主密钥 CMK,如不指定,则使用 COS 默认创建的 CMK。 示例值:93866e69-9755-11ef-8e65-52540089bc41 | 否 | 
| fs.ofs.sse.kms.context | 指定 KMS 加密的上下文,值为 JSON 格式加密上下文键值对的 Base64编码。 示例值:eyJrZXkxIjoidmFsdWUxIn0= | 否 | 
COSN 客户端
使用 COSN 客户端时,各种加密方式的配置项介绍如下:
SSE-C加密
| 配置项 | 配置描述 | 是否必选 | 
| fs.cosn.trsf.fs.ofs.sse.mode | 指定服务端加密方式,此处为 SSE-C | 是 | 
| fs.cosn.trsf.fs.ofs.sse.c.key | 格式为 Base64编码的 AES-256密钥,如MDEyMzQ1Njc4OUFCQ0RFRjAxMjM0NTY3ODlBQkNERUY= | 是 | 
SSE-COS 加密
| 配置项 | 配置描述 | 是否必选 | 
| fs.cosn.trsf.fs.ofs.sse.mode | 指定服务端加密方式,此处为 SSE-COS | 是 | 
SSE-KMS 加密
| 配置项 | 配置描述 | 是否必选 | 
| fs.cosn.trsf.fs.ofs.sse.mode | 指定服务端加密方式,此处为 SSE-KMS | 是 | 
| fs.cosn.trsf.fs.ofs.sse.kms.keyid | 指定 KMS 的用户主密钥 CMK,如不指定,则使用 COS 默认创建的 CMK。 示例值:93866e69-9755-11ef-8e65-52540089bc41 | 否 | 
| fs.cosn.trsf.fs.ofs.sse.kms.context | 指定 KMS 加密的上下文,值为 JSON 格式加密上下文键值对的 Base64编码。 示例值:eyJrZXkxIjoidmFsdWUxIn0= | 否 |