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

本文涉及的产品
对象存储 OSS,20GB 3个月
对象存储 OSS,内容安全 1000 次 1年
对象存储OSS,敏感数据保护2.0 200GB 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

相关实践学习
通义万相文本绘图与人像美化
本解决方案展示了如何利用自研的通义万相AIGC技术在Web服务中实现先进的图像生成。
相关文章
|
3月前
|
存储 供应链 API
区块链技术在电商API中的应用:保障数据安全与交易透明
区块链技术在电商API中的应用,为数据安全与交易透明提供了新方案。通过数据加密、分布式存储、智能合约管理、商品溯源及实时结算等功能,有效提升电商数据安全性与交易可信度。然而,技术成熟度、隐私保护和监管合规等挑战仍需克服。未来,随着物联网、大数据等技术融合及政策支持,区块链将在电商领域发挥更大潜力,推动行业智能化发展。
|
10月前
|
存储 安全 分布式数据库
探索区块链技术在数据安全中的应用
【10月更文挑战第21天】 本文深入探讨了区块链技术在增强数据安全性方面的应用。通过对区块链基本原理的解释,结合其在数据存储、传输和访问控制中的具体实现方式,本文揭示了区块链技术如何有效防止数据篡改和未授权访问。此外,文章还讨论了区块链技术面临的挑战及其未来发展趋势,为读者提供了一个全面了解区块链技术在数据安全领域应用的视角。
201 4
|
7月前
|
关系型数据库 MySQL 分布式数据库
客户说|太美医疗选择阿里云PolarDB,助力医药研发数据安全应用
客户说|太美医疗选择阿里云PolarDB,助力医药研发数据安全应用
250 1
|
8月前
|
缓存 安全 数据安全/隐私保护
龙蜥衍生版 KerarchOS数据安全、RDT等实践应用|龙蜥大讲堂105期
龙蜥衍生版KeyarchOS在数据安全、RDT及QAT技术方面进行了深入实践。内容涵盖数据安全趋势、基于可信根的全盘加密、Intel QAT/RDT技术概述,以及KeyarchOS在这些技术上的场景化应用。通过QAT技术,KeyarchOS实现了HTTPS访问中的加解密加速,显著降低了CPU资源消耗,提升了网络性能;而RDT技术则用于K8S场景下的资源调配与监控,确保核心业务如数据库的性能稳定。未来,浪潮信息将继续探索和完善数据安全建设,构建全栈商密方案。
120 7
龙蜥衍生版 KerarchOS数据安全、RDT等实践应用|龙蜥大讲堂105期
|
10月前
|
供应链 安全 区块链
探索区块链技术在数据安全中的应用
本文深入探讨了区块链技术如何革新数据安全领域,特别是在保护个人隐私、增强数据完整性和透明度方面的作用。通过分析区块链的去中心化特性、加密技术以及智能合约的功能,文章阐述了这一技术如何有效防止数据篡改、确保交易记录的不可逆性,并促进跨组织间的信任建立。此外,还讨论了当前区块链技术面临的挑战及未来发展趋势,为理解其在数据安全领域的潜力提供了全面视角。
|
10月前
|
存储 监控 区块链
探索区块链技术在数据安全中的应用
本文深入探讨了区块链技术如何革新数据安全领域,通过其独特的去中心化、不可篡改和透明性特点,为数据安全提供了新的解决方案。我们将从区块链的基本原理出发,分析其在保护数据完整性、增强隐私保护以及提升交易安全性方面的应用,并通过案例研究展示区块链技术在实际场景中的有效性。
|
10月前
|
存储 供应链 安全
深入探讨区块链技术在数据安全中的应用
本文旨在探讨区块链技术在数据安全领域的应用,分析其如何通过去中心化的特性增强数据的安全性和透明度。文章首先介绍区块链的基本原理,然后详细阐述其在防止数据篡改、提高交易安全性以及实现数据共享方面的优势。最后,文章讨论了当前区块链技术面临的挑战和未来的发展趋势。
|
11月前
|
SQL 存储 数据管理
Hadoop-15-Hive 元数据管理与存储 Metadata 内嵌模式 本地模式 远程模式 集群规划配置 启动服务 3节点云服务器实测
Hadoop-15-Hive 元数据管理与存储 Metadata 内嵌模式 本地模式 远程模式 集群规划配置 启动服务 3节点云服务器实测
159 2
|
存储 安全 区块链
探索区块链技术在数据安全中的应用
本文旨在通过浅显易懂的语言,向读者介绍区块链这一看似复杂实则贴近我们生活的技术。我们将从基础概念出发,逐步深入到区块链技术如何在保护个人隐私和确保数据安全方面发挥巨大作用。文章将用简单的例子和直观的比喻,帮助读者理解区块链的工作原理及其在现实世界的应用价值。
143 6
|
存储 供应链 安全
探索区块链技术在数据安全中的应用
区块链技术,一种分布式账本技术,正逐渐成为保护数据安全的利器。本文将深入探讨区块链如何增强数据完整性、提升透明度和促进去中心化,同时指出实施中的挑战与未来发展趋势。
224 0