利用对象存储多种方式 保障OSS数据安全

本文介绍如何经过对象存储OSS提供的加密、访问控制、日志与监控及数据保护等多种方式来保障OSS的数据安全性。html

加密安全

OSS提供服务器端加密、客户端加密以及数据传输加密三种数据加密方式。服务器

  • 服务器端加密

OSS经过服务器端加密机制,提供静态数据保护。适合于对于文件存储有高安全性或者合规性要求的应用场景。例如,深度学习样本文件的存储、在线协做类文档数据的存储。ide

说明:有关服务器端加密原理的更多信息,请参考原理介绍性能

针对不一样的应用场景,OSS有以下三种服务器端加密方式:学习

  • 使用OSS默认托管的KMS密钥(SSE-KMS)

您能够将Bucket默认的服务器端加密方式设置为KMS且不指定具体的CMK ID,也能够在上传Object或修改Object的meta信息时,在请求中携带X-OSS-server-side-encryption并指定其值为KMS且不指定具体的CMK ID。OSS将使用默认托管的CMK生成不一样的密钥来加密不一样的对象,而且在下载时自动解密。阿里云

  • 使用BYOK进行加密(SSE-KMS BYOK)

服务器端加密支持使用BYOK进行加密,您能够将Bucket默认的服务器端加密方式设置为KMS并指定具体的CMK ID,也能够在上传Object或修改Object的meta信息时,在请求中携带X-OSS-server-side-encryption,指定其值为KMS,并指定X-OSS-server-side-encryption-key-id为具体的CMK ID。OSS将使用指定的CMK生成不一样的密钥来加密不一样的对象,并将加密Object的CMK ID记录到对象的元数据中,所以具备解密权限的用户下载对象时会自动解密。加密

  • 使用OSS彻底托管加密(SSE-OSS)

基于OSS彻底托管的加密方式,是Object的一种属性。OSS服务器端加密使用AES256加密每一个对象,并为每一个对象使用不一样的密钥进行加密,做为额外的保护,它将使用按期轮转的主密钥对加密密钥自己进行加密。spa

  • 客户端加密

客户端加密是指将数据发送到OSS以前在用户本地进行加密,对于数据加密密钥的使用,目前支持以下两种方式:设计

  • 使用KMS托管用户主密钥

当使用KMS托管用户主密钥用于客户端数据加密时,无需向OSS加密客户端提供任何加密密钥。只须要在上传对象时指定KMS用户主密钥ID(也就是CMK ID)。其具体工做原理以下图所示。

  • 使用用户自主管理密钥

使用用户自主管理密钥,须要用户自主生成并保管加密密钥。当用户本地客户端加密时,由用户自主上传加密密钥(对称加密密钥或者非对称加密密钥)至本地加密客户端。其具体加密过程以下图所示。

  • 数据传输加密

OSS支持经过HTTP或HTTPS的方式访问,但您能够在Bucket Policy中设置仅容许经过HTTPS(TLS)来访问OSS资源。安全传输层协议(TLS)用于在两个通讯应用程序之间提供保密性和数据完整性。

访问控制

OSS提供了多种权限控制方式,包括ACL、RAM Policy和Bucket Policy。

  • ACL:OSS为权限控制提供访问控制列表(ACL)。ACL是基于资源的受权策略,可授予Bucket和Object访问权限。您能够在建立Bucket或上传Object时设置ACL,也能够在建立Bucket或上传Object后的任意时间内修改ACL。
  • RAM Policy:RAM(Resource Access Management)是阿里云提供的资源访问控制服务。RAM Policy是基于用户的受权策略。经过设置RAM Policy,您能够集中管理您的用户(好比员工、系统或应用程序),以及控制用户能够访问您名下哪些资源的权限。好比可以限制您的用户只拥有对某一个 Bucket 的读权限。子帐号是从属于主帐号的,而且这些帐号下不能拥有实际的任何资源,全部资源都属于主帐号。
  • Bucket Policy:Bucket Policy是基于资源的受权策略。相比于RAM Policy,Bucket Policy操做简单,支持在控制台直接进行图形化配置,而且Bucket拥有者直接能够进行访问受权,无需具有RAM操做权限。Bucket Policy支持向其余帐号的RAM用户授予访问权限,以及向匿名用户授予带特定IP条件限制的访问权限。

日志与监控

OSS提供访问日志存储及实时日志查询服务,便于您从多个维度来对日志进行细化跟踪。此外,OSS提供的监控服务,帮助您更好的了解OSS服务的运行状态并进行自主诊断和故障排除。

  • 访问日志查询

您在访问OSS的过程当中,会产生大量的访问日志。日志存储功能,可将OSS的访问日志,以小时为单位,按照固定的命名规则,生成一个Object写入您指定的Bucket(目标 Bucket,Target Bucket)。您可使用阿里云DataLakeAnalytics或搭建Spark集群等方式对这些日志文件进行分析。同时,您能够配置目标Bucket的生命周期管理规则,将这些日志文件转成归档存储,长期归档保存。有关OSS访问日志的更多信息,请参考访问日志存储。

  • 实时日志查询

实时日志查询功能将OSS与日志服务(LOG)相结合, 容许您在OSS控制台直接查询OSS访问日志,帮助您完成OSS访问的操做审计、访问统计、异常事件回溯和问题定位等工做,提高您的工做效率并更好地帮助您基于数据进行决策。有关实时日志查询的更多信息,请参考实时日志查询。

  • 监控服务

OSS监控服务为您提供系统基本运行状态、性能以及计量等方面的监控数据指标,而且提供自定义报警服务,帮助您跟踪请求、分析使用状况、统计业务趋势,及时发现以及诊断系统的相关问题。有关监控服务的更多信息,请参考监控服务概览。

数据保护

OSS提供合规保留策略、同城冗余存储及版本控制等特性来保障OSS的数据安全性。

  • 合规保留策略

OSS现已全面支持WORM(一次写入,屡次读取)特性,容许用户以“不可删除、不可篡改”方式保存和使用数据。

OSS提供强合规策略,用户可针对存储空间(Bucket)设置基于时间的合规保留策略。当策略锁定后,用户能够在Bucket中上传和读取文件(Object),可是在Object的保留时间到期以前,任何用户都没法删除Object和策略。Object的保留时间到期后,才能够删除Object。OSS支持的WORM特性,适用于金融、保险、医疗、证券等行业。您能够基于OSS搭建“云上数据合规存储空间”。

有关合规保留策略的更多信息,请参考合规保留策略

  • 同城冗余存储

OSS采用多可用区(AZ)机制,将用户的数据分散存放在同一地域(Region)的3个可用区。当某个可用区不可用时,仍然可以保障数据的正常访问。OSS同城冗余存储(多可用区)是基于99.9999999999%(12个9)的数据可靠性设计,而且可以提供99.995%的数据设计可用性 。

OSS的同城冗余存储可以提供机房级容灾能力。当断网、断电或者发生灾难事件致使某个机房不可用时,仍然可以确保继续提供强一致性的服务能力,整个故障切换过程用户无感知,业务不中断、数据不丢失,能够知足关键业务系统对于“恢复时间目标(RTO)”以及“恢复点目标(RPO)”等于0的强需求。

有关同城冗余存储的更多信息,请参考同城冗余存储

  • 版本控制

开启存储空间(Bucket)版本控制特性后,针对数据的覆盖和删除操做将会以历史版本的形式保存下来。经过文件(Object)的版本管理,用户在错误覆盖或者删除Object后,可以将Bucket中存储的Object恢复至任意时刻的历史版本。

说明版本控制特性将在近期推出,敬请期待。

版本控制应用于Bucket内的全部Object。当第一次针对Bucket开启版本控制后,该Bucket中全部的Object将在以后一直受到版本控制,而且每一个版本都具备惟一的版本ID。

Bucket开启版本控制后,针对文件的每次覆盖都会生成一个历史版本,而且针对每一个版本进行收费。您能够经过生命周期规则自动删除过时版本。

本文来自 阿里云文档中心安全白皮书

查看更多:云栖号详情页

上云就看云栖号:更多云资讯,上云案例,最佳实践,产品入门,访问:云栖号 - 上云就看云栖号

本文为阿里云原创内容,未经容许不得转载。

相关文章
相关标签/搜索