OSS服务器端加密之初体验-阿里云开发者社区

开发者社区> 姜恒> 正文

OSS服务器端加密之初体验

简介: 本文介绍如何基于ossutil工具,体验oss服务器端加密功能。 关于服务器端加密 OSS支持在服务器端对用户上传的数据进行加密编码(Server-Side Encryption):用户上传数据时,OSS对收到的用户数据进行加密编码,然后再将得到的加密数据持久化保存下来;用户下载数据时,OSS自动对保存的加密数据进行解密并把原始数据返回给用户,并在返回的HTTP请求Header中,声明该数据进行了服务器端加密。
+关注继续查看

本文介绍如何基于ossutil工具,体验oss服务器端加密功能。

关于服务器端加密

OSS支持在服务器端对用户上传的数据进行加密编码(Server-Side Encryption):用户上传数据时,OSS对收到的用户数据进行加密编码,然后再将得到的加密数据持久化保存下来;用户下载数据时,OSS自动对保存的加密数据进行解密并把原始数据返回给用户,并在返回的HTTP请求Header中,声明该数据进行了服务器端加密。

OSS服务器端加密目前支持2种:

  • 使用由OSS完全托管的服务端加密(简称AES256加密)
  • 使用由KMS托管密钥的服务端加密(简称KMS加密)

详情请参考oss官网服务器端加密编码

关于ossutil

ossutil工具旨在为用户提供一个方便的,以命令行方式管理OSS数据的途径。本文将使用ossutil管理文件(上传、下载、查看元数据信息等),进而体验OSS服务器端加密功能。请先安装和配置ossutil,具体参考oss官网ossutil

AES256加密

本文测试用的bucket是test-oss-encryption,位于北京region.
1.从本地上传1个测试文件到oss,并声明加密类型为AES256

ossutil cp /tmp/test.file oss://test-oss-encryption/encryption_aes256_001 --meta=x-oss-server-side-encryption:AES256

说明:--meta字段用来添加http请求的header字段,这里是添加了x-oss-server-side-encryption这个header,对应value为AES256,这样OSS就会对该文件进行AES256加密了。

2.查看刚上传的文件meta信息。

ossutil stat oss://test-oss-encryption/encryption_aes256_001

输出结果类似如下:
aes256
可以看到该文件的属性中已经多了一项说明:X-Oss-Server-Side-Encryption: AES256,说明该文件在服务器端已经启用了AES256加密存储

KMS加密

其实使用KMS加密跟AES256加密类似,只需声明加密算法为KMS即可。

注意

  1. 使用KMS加密算法的前提是,用户已经开通了KMS密钥托管服务,关于该服务请参考官网主页密钥管理服务
  2. 用户开通KMS服务后,如果向OSS上传文件时使用KMS加密方式,OSS会为用户在当前region创建主密钥,且只会创建1次。OSS为用户创建的KMS主密钥不收管理费用。
  3. 当用户使用KMS方式上传文件或读取经过KMS加密的文件时,KMS会额外收取少许加解密费用,具体请参考KMS计费标准

下面开始体验KMS加密功能
1.从本地上传1个测试文件到oss,并申明加密类型为KMS

ossutil cp /tmp/test.file oss://test-oss-encryption/encryption_kms_001 --meta=x-oss-server-side-encryption:KMS

只需要将加密算法声明为KMS即可。

2.查看刚上传的文件meta信息。

ossutil stat oss://test-oss-encryption/encryption_kms_001

输出结果类似下面
kms
可以看到除了X-Oss-Server-Side-Encryption值为KMS外,还有1个特殊字段X-Oss-Server-Side-Encryption-Key-Id
X-Oss-Server-Side-Encryption-Key-Id对应的值d66363ea-d18a-4270-9c63-669b79ba8b78,其实就是OSS给用户在KMS上创建的主密钥的ID。

kms_key
上图就是我的kms控制台截图,可以看到华北2(北京region)中有1个key, 该key前面有1个阿里云图标。这个key就是OSS给用户在华北2区域创建的主密钥,而密钥ID和我们查看oss文件meta信息时看到的一致。

文件读取

无论是AES256加密还是KMS加密,读取文件时都不需要特殊参数,OSS会自动解密并将解密后的结果返回给用户。

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
“轻’”而不“薄”的轻量应用服务器初使用体验
阿里云最近推出了更容易上手的“轻量”应用服务器,目前还在内测阶段。 轻量应用主打快速创建应用,快速上线,适合轻量应用快速发布。 轻量应用服务器面向入门级云计算及简单应用用户,产品提供基于单台云服务器的域名管理、应用部署、安全和运维管理的一站式综合服务。
7369 0
MSSQL · 最佳实践 · 使用混合密钥实现列加密
摘要 在SQL Server安全系列专题的上两期月报分享中,我们分别分享了:如何使用对称密钥实现SQL Server列加密技术和使用非对称密钥加密方式实现SQL Server列加密。本期月报我们分享使用混合密钥加密方式实现SQL Server列加密技术,最大限度减少性能损失,最大程度保护用户数据安全。
1504 0
关于阿里云学生免费ECS服务器初体验
在阿里云开发者成长计划的支持下,我有幸能拥有一台云服务器体验到一套完整的开发、部署、上线....等流程,能随时在公网上打开我的小网站也让我在小伙伴们面前充满了成就感。虽然学习过程难免艰辛,但是每一步都能让我获益匪浅,很感谢阿里云这个让我体验云上第一步的启蒙老师,完善的文档和资料,可视化的管理界面为我这种小白提供了不知道多少福利。
107 0
阿里云服务器端口号设置
阿里云服务器初级使用者可能面临的问题之一. 使用tomcat或者其他服务器软件设置端口号后,比如 一些不是默认的, mysql的 3306, mssql的1433,有时候打不开网页, 原因是没有在ecs安全组去设置这个端口号. 解决: 点击ecs下网络和安全下的安全组 在弹出的安全组中,如果没有就新建安全组,然后点击配置规则 最后如上图点击添加...或快速创建.   have fun!  将编程看作是一门艺术,而不单单是个技术。
4397 0
一文了解加密服务快速入门
加密服务(Data Encryption Service)是云上的加密解决方案。目前采用的是基于硬件密码机的虚拟化技术,能够帮助银行、政府、企业满足数据安全方面的监管合规要求,同时也能保护云上业务数据的隐私性要求。
709 0
三丰云的免费云服务器初体验
三丰云的免费云服务器初体验感觉还不错,使用方便流程简单关键还省钱
157 0
+关注
3
文章
61
问答
来源圈子
更多
阿里云存储基于飞天盘古2.0分布式存储系统,产品包括对象存储OSS、块存储Block Storage、共享文件存储NAS、表格存储、日志存储与分析、归档存储及混合云存储等,充分满足用户数据存储和迁移上云需求,连续三年跻身全球云存储魔力象限四强。
+ 订阅
文章排行榜
最热
最新
相关电子书
更多
文娱运维技术
立即下载
《SaaS模式云原生数据仓库应用场景实践》
立即下载
《看见新力量:二》电子书
立即下载