云存储Clouder认证:存储应用与数据管理—课时4:如何做好数据安全

本文涉及的产品
对象存储 OSS,20GB 3个月
对象存储 OSS,恶意文件检测 1000次 1年
对象存储 OSS,内容安全 1000次 1年
简介: 云存储Clouder认证:存储应用与数据管理—课时4:如何做好数据安全

如何做好数据安全

 

数据加密

小浩通过权限设置的练习,已经熟悉四种权限控制使用的场景了。那如何保证数据的安全?小浩脑海里的第一个想法是,对数据加密。对象存储OSS目前支持以下两种数据加密方式。

 

客户端加密

客户端加密是指将文件(Object)发送到对象存储OSS之前在本地进行加密,使用客户端加密功能时,需要对主密钥的完整性和正确性负责。因维护不当导致主密钥用错或丢失,从而导致加密数据无法解密。

对于主密钥的使用,目前支持如下两种方式:

 

服务器端加密

设置服务器端加密,在存储空间(Bucket)上传文件(Object)时OSS会对收到的文件进行加密再将得到的加密文件持久化保存。当您通过GetObject请求下载文件时,OSS自动将加密文件解密后返回给用户,并在响应头中返回x-oss-server-side-encryption,用于声明该文件进行了服务器端加密。服务器端加密提供以下两种方式。

加密方式

功能描述

使用场景

注意事项

费用说明

使用KMS托管密钥进行加解密(SSE-KMS)

使用KMS托管的默认CMK(Customer Master Key)或指定CMK进行加解密操作。数据无需通过网络发送到KMS服务端进行加解密。

因安全合规的要求,需要使用自管理、可指定的密钥。

  • 用于加密Object的密钥也会被加密,并写入Object的元信息中。
  • KMS托管密钥的服务器端加密方式仅加密Object数据,不加密Object的元数据。

在KMS服务侧产生少量的KMS密钥请求费用。费用详情,请参见KMS计费标准

使用OSS完全托管密钥进行加解密(SSE-OSS)

使用OSS完全托管的密钥加密每个Object。为了提升安全性,OSS还会使用定期轮转的主密钥对加密密钥本身进行加密。

仅需要基础的加密能力,对密钥无自管理需求。

免费

 
小浩对比之后,最终选择使用服务器端加密,加密方式选择使用OSS完全托管密钥进行加解密。配置步骤如下:
设置服务器端加密支持创建Bucket时配置和后期配置两种模式:
  • 创建Bucket时开启服务器端加密
  1. 登录OSS管理控制台
  2. 单击Bucket列表,然后单击创建Bucket
  3. 创建Bucket面板,服务端加密方式,选择Object的加密方式。
    • OSS完全托管:使用OSS托管的密钥进行加密。OSS会为每个Object使用不同的密钥进行加密,作为额外的保护,OSS会使用定期轮转的主密钥对加密密钥本身进行加密。
    • 加密算法:可选择AES256或SM4加密算法。

    4. 单击确定。

  • 已创建的Bucket开启服务器端加密
  1. 登录OSS管理控制台
  2. 单击Bucket列表,然后单击创建Bucket
  3. 在左侧导航栏,选择数据安全 > 服务器端加密
    • OSS完全托管:使用OSS托管的密钥进行加密。OSS会为每个Object使用不同的密钥进行加密,作为额外的保护,OSS会使用定期轮转的主密钥对加密密钥本身进行加密。
    • 加密算法:可选择AES256或SM4加密算法。

    4. 单击确定。

 

 

跨域设置

企业门户网站静态资源存放在OSS Bucket里,企业门户网站和OSS Bucket的域名不同,企业门户网站调用OSS Bucket中的资源会存在跨域访问问题,导致资源无法访问。那什么是跨域访问?小浩该如何解决跨域访问问题呢?

 

跨域访问

跨域访问是浏览器出于安全考虑而设置的一个限制,即同源策略,如果缺少了同源策略,浏览器很容易受到XSS、CSRF等攻击。同源基于"协议+域名+端口"三者相同,即便两个不同的域名指向同一个ip地址,也非同源。

对于http://www.aliyun.com/org/test.html的同源检测示例:

 

URL

访问是否成功

原因

http://www.aliyun.com/org/other.html 

协议、域名、端口相同

http://www.aliyun.com/org/internal/page.html 

协议、域名、端口相同

https://www.aliyun.com/page.html 

协议不同(HTTPS)

http://www.aliyun.com:22/dir/page.html 

端口不同(22)

http://help.aliyun.com/dir/other.html 

域名不同

跨域设置配置步骤:

  1. 登录OSS管理控制台
  2. 单击Bucket列表,然后单击目标Bucket名称。
  3. 在左侧导航栏,选择数据安全 > 跨域设置
  4. 跨域设置页面,单击创建规则
  5. 创建跨域规则面板,按以下说明设置配置跨域规则。
    • 来源
    • 允许Methods
    • 允许Headers
    • 暴露Headers
    • 缓存时间
    • 返回Vary: Origin

    6. 单击确定

 

 

防盗链

小浩又有一个思考,企业门户网站的部分静态资源(视频、图片)设置的是(Object ACL)公共读权限,如何防止其它网站盗用自己网站的静态资源呢?避免给公司造成损失(合法权益受损、服务器load增加)。

 

防盗链功能

对象存储OSS支持对存储空间(Bucket)设置防盗链,通过对访问来源设置白名单的机制,避免OSS资源被其他人盗用。

 

防盗链功能图解

  • 未设置防盗链之前,其它网站盗用企业门户网站静态资源。

  • 设置防盗链之后,其它网站无法盗用企业门户网站静态资源。

防盗链功能配置步骤

  1. 登录OSS管理控制台
  2. 单击Bucket列表,然后单击目标Bucket名称。
  3. 在左侧导航栏,选择数据安全 > 防盗链
  4. 防盗链页面,打开防盗链开关。
    • Referer输入框中,填写域名或IP地址。本案例中设置为:https://10.10.10.10
    • 空Referer区域,设置为允许

    5. 单击保存

 

版本控制

小浩发现,在企业门户网站运维过程中,需要对托管在OSS Bucket上的静态资源进行删除、覆盖等操作。但出于数据安全的考虑,该如何对错误删除、覆盖的文件进行恢复呢?是否支持设置定期备份静态资源呢?

OSS提供的版本控制是针对存储空间(Bucket)级别的数据保护功能。开启版本控制后,针对数据的覆盖和删除操作将会以历史版本的形式保存下来。您在错误覆盖或者删除对象(Object)后,能够将Bucket中存储的Object恢复至任意时刻的历史版本。

 

文件覆盖场景

对于网盘类、在线协作类场景,文件会被频繁修改和覆写,针对文件的编辑会产生大量的临时版本。您可以使用版本控制功能找回某个时间点的版本。

删除数据场景

当前OSS不提供回收站功能,若出现数据误删除时,可使用版本控制功能,恢复已删除的数据。

版本控制配置步骤

  • 新建Bucket时开启版本控制。

开启版本控制后,OSS会为Bucket中所有Object的每个版本指定唯一的versionID。

  1. 登录OSS管理控制台
  2. 单击Bucket列表,然后单击创建Bucket
  3. 创建Bucket页面配置各项参数。其中,版本控制区域选择开通
  4. 单击确定

  • 已创建的Bucket开启版本控制。
  1. 登录OSS管理控制台
  2. 单击Bucket列表,然后单击目标Bucket名称。
  3. 在左侧导航栏,选择数据安全 > 版本控制
  4. 版本控制页面,单击开启
  5. 在弹出的对话框,单击确定

 

暂停版本控制

开启版本控制后,可以随时暂停版本控制,这样可以停止在Bucket中继续累积同一Object的新版本。暂停版本控制后,OSS将为新生成的Object添加versionID为null的版本,已有的历史版本Object将继续保留。

  1. 登录OSS管理控制台
  2. 单击Bucket列表,然后单击目标Bucket名称。
  3. 在左侧导航栏,选择数据安全 > 版本控制
  4. 版本控制页面,单击暂停
  5. 在弹出的对话框,单击确定

 

恢复版本

在开启版本控制下的Bucket中删除Object时,历史版本Object不会被真正删除,而是产生一个删除标记来标识Object的当前版本是删除状态。此时可以在控制台恢复版本。

  1. 登录OSS管理控制台
  2. 单击Bucket列表,然后单击目标Bucket名称。
  3. 在左侧导航栏,单击Bucket列表,然后单击目标Bucket名称。
  4. 选择文件管理 > 文件列表
  5. 单击历史版本右侧的显示
  6. 选中待恢复文件,然后单击页面下方的恢复
  7. 在弹出的对话框,单击确定

 



练习实验:基于对象存储OSS实现企业门户网站托管

https://developer.aliyun.com/adc/scenario/exp/dd9b0b7a9419465ea92e702f3ca0a10e

相关实践学习
借助OSS搭建在线教育视频课程分享网站
本教程介绍如何基于云服务器ECS和对象存储OSS,搭建一个在线教育视频课程分享网站。
相关文章
|
2月前
|
存储 弹性计算 算法
快存储数据安全
快存储数据安全
11 0
|
7月前
|
存储 边缘计算 数据管理
Docker 存储驱动解析:选择最适合你的存储方案,优化容器化部署性能和数据管理
Docker 存储驱动解析:选择最适合你的存储方案,优化容器化部署性能和数据管理
147 0
|
2月前
|
存储 算法 安全
数据安全之道:加密算法在现代网络通信中的应用
本文将深入探讨加密算法在现代网络通信中的重要性和应用。通过介绍对称加密、非对称加密和哈希算法等加密技术,帮助读者了解数据安全保障的关键技术,并探讨其在保护数据完整性和隐私方面的作用。
|
3月前
|
存储 前端开发 安全
《数据安全加密技术在前端开发中的应用》
【2月更文挑战第1天】本文将介绍数据安全加密技术在前端开发中的重要性和应用。通过对前端数据传输、存储和处理过程中可能存在的安全风险进行分析,探讨如何利用加密算法保护用户数据,提升前端应用的安全性。
22 0
|
3月前
|
前端开发 安全 数据安全/隐私保护
《数据安全防护:加密算法在前端开发中的应用》
随着数据泄露事件层出不穷,加强数据安全防护变得尤为重要。本文将深入探讨在前端开发中应用加密算法的重要性和方法,帮助开发者更好地保护用户数据。
|
4月前
|
存储 安全 算法
保护数据安全的重要性:安全加密算法在数据保护中的应用
在数字时代,数据的安全性越来越受到重视。本文将探讨安全加密算法作为一种关键的数据保护手段的重要性和应用。通过分析现有的加密算法和其在数据保护中的角色,我们可以更好地理解如何保护数据免受黑客攻击和隐私泄露。
|
8月前
|
存储 数据管理 对象存储
云存储Clouder认证:存储应用与数据管理—课时10:实验练习与认证考试
云存储Clouder认证:存储应用与数据管理—课时10:实验练习与认证考试
258 0
|
8月前
|
存储 数据管理 文件存储
云存储Clouder认证:存储应用与数据管理—课时9:课程总结与补充
云存储Clouder认证:存储应用与数据管理—课时9:课程总结与补充
83 0
|
5月前
|
存储 数据采集 安全
瓴羊Dataphin数据安全能力再升级,内置分类分级模板、上线隐私计算模块
瓴羊Dataphin数据安全能力再升级,内置分类分级模板、上线隐私计算模块
|
2月前
|
存储 人工智能 算法
数据安全与隐私保护在人工智能时代的挑战与应对
随着人工智能技术的快速发展,数据安全和隐私保护问题日益凸显。本文将探讨在人工智能时代下,数据安全面临的挑战以及如何有效应对,为保护用户数据和维护信息安全提供新思路。
178 13

热门文章

最新文章