如何安全存放数据到对象存储 OSS 及数据湖的13问

本文涉及的产品
对象存储 OSS,20GB 3个月
数据安全中心,免费版
对象存储 OSS,恶意文件检测 1000次 1年
简介: 数据作为企业的血液和命脉,需要妥善的保存。对象存储作为云计算的数据存储底座,并且还在支持数据湖存储能力,它是企业存储数据的理想之地。但是如何安全的存放数据到存储,特别是公共云对象存储,相信不少的的数据负责人都会有很多疑问,本文从账户认证能力、网络安全配置、访问授权方法、数据加密功能、访问日志审计、数据安全机制等纬度总结了13个安全问题,帮助回答企业上云存放数据的安全顾虑。一、企业上云存放数据的安全

数据作为企业的血液和命脉,需要妥善的保存。对象存储作为云计算的数据存储底座,并且还在支持数据湖存储能力,它是企业存储数据的理想之地。但是如何安全的存放数据到存储,特别是公共云对象存储,相信不少的的数据负责人都会有很多疑问,本文从账户认证能力、网络安全配置、访问授权方法、数据加密功能、访问日志审计、数据安全机制等纬度总结了13个安全问题,帮助回答企业上云存放数据的安全顾虑

一、企业上云存放数据的安全顾虑

图-1 企业上云存放数据的安全顾虑

企业数据上云,首先就是做好账户认证,保证账户能够正确的登陆对象存储。在账户认证通过后,要保证网络配置满足要求,实现合理的网络访问,做好隔离。网络配置完成,就是让合理的账户具有合理的权限,此时就是做好授权访问。通过这三步,基本完成企业业务使用方的诉求。

但是企业数据管理人员会要求数据加密,保证数据在拥有密钥的情况下才能被访问。同时,企业安全风险人员会要求开启日志审计,在必要时审核数据是否有泄漏风险。企业管理层会则非常关注数据安全,保证业务高可靠、高可用、合规设计等方面有良好的功能支撑。

二、安全13问

2.1 账户认证:采用什么样的账号登陆?

图-2 对象存储支持的账号体系

企业上云首先关注的就是使用怎样的账号来登陆使用?对于创业公司来说,全部新开张,很容易接受新账号体系;而对于不少公司来说,已经建设了成熟的账号体系。对象存储 OSS 为了支持公共云广泛的服务和应用,支撑了丰富的账号功能:

  • 新账号体系 。云服务作为创新业务,引入一套新的云账号体系,包含云账号、子用户、角色等,支撑企业人员灵活访问云资源。为了更好用于开发环境,云服务还提供了 Access Key(AK),软件使用 AK 就可以方便的访问資源,而不需要通过账号密码。
    • 資源访问的 AK 机制。由于需要在不同的设备(云服务器、移动设备、IoT 等)访问資源,而对于非可信设备,记录账号的用户名和密码易导致泄漏,因此设计 AK 机制,包含长期 AK、临时 AK(STSToken),每个用户可以生成多个 AK。
    • STS Token 临时 AK 通过 expiration 到期时间控制資源访问时效,提高安全性。长期 AK一旦被盗取即获取长久访问权限,而 STS Token 在到期后要重新申请,所以实现安全加固。
  • 存量账号体系
    • 已有 AD 账号通过 SSO 访问云資源 。为兼容已有账号(企业大量使用的 Active Directory 账号),可以通过 SSO 机制,将已有账号映射为用户 SSO、角色 SSO,从而得到长期 AK、临时 AK。
    • 已有 开放 ID 账号通过 OAuth 访问云資源 。为兼容已有 OpenID   账号,例如 WebApp、NativeApp、ServerApp的账号,可以通过 OAuth 机制,通过认证交换 Access Token,从而得到临时 AK。

对象存储 OSS 作为海量数据的云資源,全面支持不同的账号认证登陆,软件可采用长期 AK、临时 AK 访问。

2.3 账户认证:账号认证运行环境是否会被盗取?

图-3 账号运行环境的安全

访问云資源的应用运行环境非常复杂,使用临时 AK(STS Token)安全性更高。应用会部署在可信运行环境(独占使用的手机、服务器)和非可信运行环境(部署到第三方运行环境),采用长期 AK,会在 AK 泄漏时出现数据被盗取风险。因此,在非可信运行环境中,推荐采用临时 AK,它需要定期申请 STS Token 才能访问云資源,过期后将重新申请,从而提高安全性。

非可信运行环境即使被攻破,也很难盗取 STS Token。黑客即使攻破服务器的操作系统,但STS Token是在应用程序里面动态获取,黑客需要破解实时运行的应用才能获取,难度非常大。

2.3 网络配置:公网访问能否限制来源地址和协议?

图-4 网络访问地址和协议控制

企业配置完成账号后,首要考虑的就是如何做好网络隔离,限制能够访问資源的地址和协议?对象存储 OSS 提供如下功能:

  • 指定数据只能被某些 IP 地址访问,通过 OSS 的 Bucket Policy 限制源地址范围 。不在允许源地址的公网请求,将被拒绝,将数据隔离在允许访问的网络 IP 地址范围内。
  • 指定数据只能采用允许的协议访问,通过 OSS 的 Bucket Policy 限制协议类型 。不在允许协议类型的公网请求,将被拒绝,从而应用只能用安全协议(https)来访问,提高网络传输安全性。

2.4 网络配置:云上VPC访问如何防止内鬼转移数据和外部黑客盗取数据?

图-5 网络配置防内鬼和黑客

如图-5(A)所示,企业内鬼可以同时拥有企业的AK和个人AK,从而可以将企业数据读出,然后写入到个人的桶資源。OSS通过和 VPC 配合,提供 VPC Endpoint 限制能访问的OSS桶,可以防止内鬼转移数据。限制某VPC只能访问指定桶,从而内鬼在VPC内无法将数据写入其他桶(内鬼个人的桶) ,通过 VPC Endpoint 的 Policy 设置 OSS bucket 完成。

如图5(B)所示,黑客盗取企业AK后可以在控制机器到去数据。通过 OSS Bucket Policy 限制桶只能被指定VPC访问,可以防止黑客盗取数据。限制企业桶只能被<企业 VPC>访问,黑客即使盗取企业AK,也无法在非企业 VPC 环境盗取数据,关键是配置 OSS Bucket Policy 设置允许访问的 vpc-id。

2.5 访问授权:如何授权其他账号访问数据?

图-6 授权账号访问

网络配置完成,企业面临的普遍问题就是如何让数据被指定部门访问?如何被指定用户访问?这就是典型的访问授权需求,对象存储 OSS 支持访问控制列表(ACL)和 授权策略(Policy)两种授权方式。 

  • ACL 包含 Bucket 级和 Object 级,按資源设置权限 。可以设置 ACL 为公共读写、公共读、私有、缺省 4 种类型,在设置为<公共读>则所有人都可以读取数据,设置为<私有>后则要依据权限策略决策哪些账号能访问(提供更多灵活性)。
  • Policy 提供丰富的语义,可控制用户访问資源的路径和具体操作 。RAM Policy、STS Policy、 VPC Endpoint Policy 主要是从用户角度描述权限,典型配置为某个用户 ID 可以访问那些資源,包括多种云服务資源,例如 ECS 计算資源、OSS 存储資源。而 Bucket Policy 主要从資源角度描述权限,典型为 OSS 某个桶可以被那些用户访问,使用哪些 API 来访问。
  • 除了ACL和Policy外,还提供防盗链为不同网站(或 IP 地址)的跨域访问设置权限 。通过白名单限制能够跨域访问的来源,实现数据共享。

2.6 访问授权:如何授权匿名用户访问?

图-7 授权匿名用户访问

通常应用都有把数据共享给公众的诉求, 因此如何授权匿名用户访问数据?也是企业的需求,对象存储 OSS 支持如下的匿名用户访问机制。

  • ACL 支持匿名访问设置 。可以设置桶级、对象级的公共读写、公共读,从而任何人都可以直接访问数据。
  • 签名URL 。为匿名用户生成签名 URL,并设置过期时间,匿名用户使用该签名URL可访问資源,从而实现指定时间范围内的数据共享。

提供匿名访问能力,可能会带来数据泄漏、攻击植入、费用激增甚至欠费等问题,此时 OSS 提供一键停止公网访问能力,从而实现快速止血。

2.7 访问授权:如何让相同数据支持不同用户、不同权限的访问?

图-8 相同数据授权不同用户不同权限的高级配置

对象存储支持多租户,典型是桶对应 1 个域名,通过 1 个 Bucket Policy 配置文件提供同一数据授权给不同用户不同权限访问。由于只有 1 个配置文件,每次修改某租户权限,运行生效都要加载整个文件,粒度过大。

为了解决该问题,对象存储 OSS 提供  Access Point(AP)实现细粒度用户权限。该功能可以为每个用户创建 AP,配置不同的 AP Policy,修改某用户的 AP Policy,对其他用户无影响。

Policy 都采用相同语法,助力实现灵活的多用户权限。通过操作、資源在一定条件下的权限,可实现丰富的用户权限管理。

2.8 访问授权:如何支持数据湖场景的细粒度授权?

图-9 数据湖场景细粒度权限

构建在对象存储上的数据湖,需要不同的权限支持。对象存储 OSS 在数据湖场景下提供的 OSS-HDFS 对接了 Hadoop 生态的 Ranger,并结合 DLF(Data Lake Formation)实现表级细粒度权限。

  • 数据湖模式支持Unix权限和Ranger权限:
    • Unix权限 ,使用 Linux 的 chmod 修改权限。
    • Ranger权限 ,可以使用 Hadoop Ranger路径通配符等高级配置。
  • DLF 支持 OSS 的数据湖构建,支持内容的细粒度权限:
  • 表级权限 ,可为用户制定具体某表的访问权限。
  • 多种表操作权限 ,支持 Describe/Alter/Drop/Select/Update/ALL 权限。

2.9 数据加密:如何避免提供云服务的厂家访问到数据?

图-10 数据加密功能

通过上述安全机制,保证企业人员能够合理使用数据。但是如何保证数据不被云服务厂家访问?这是企业数据管理员普遍关心的问题,加密技术是在拥有密钥的情况下才能访问数据,对象存储 OSS 提供了丰富的加密技术,满足客户需求。

  • 客户不信任云厂家,选择客户端加密(CSE),数据上传前就已加密,无需担心云服务厂家访问到数据 。用户在客户端实现加密(按密钥管理方式分为2类:客户自主管理密钥< CSE-C >、客户利用KMS托管密钥< CSE-KMS >),上传到云服务厂家的网络链路、持久化存储都是加密后的数据,加密密文对云厂家来说就是无意义的二进制。
  • 客户对云产品信任,可选择服务端加密
    • 信任某款云产品,例如信任对象存储 OSS,则可以选择完全托管密钥< SSE-OSS >。保证存储到磁盘的数据被加密,不担心磁盘被盗导致的数据泄漏。
    • 信任云上的密钥管理服务 KMS(Key Management Service),统一由云 KMS 托管密钥< SSE-KMS > ,其他云产品与 KMS 交互实现加解密。按照 KMS 密钥管理方式,又分为如下3类。
      • OSS 托管 KMS 密钥 。相比于 SSE-OSS,此方式将密钥保存到统一的 KMS 云服务,从而多云产品可进行统一密钥管理;并且授权 OSS 来管理 KMS,获取密钥进行数据加解密。
      • 阿里云提供密钥生成的 BYOK 材料 。使用阿里云的KMS服务,并且生成密钥的 BYOK 也是由阿里云管理。
      • 用户提供 BYOK 材料 。使用阿里云的 KMS 服务,但生成密钥的 BYOK 由用户管理,客户销毁 BYOK 材料则密钥不可用。

2.10 日志审计:如何监控审计数据被访问日志?

图-11 日志监控和审计

作为企业安全风险管理人员,通常都需要通过日志、监控、审计等来查看数据是否有泄漏风险,审核企业人员行为,对象存储如何支持这些需求呢?

  • OSS 提供访问日志持久化存储和实时查询 。访问对象存储 OSS 的过程中会产生大量的访问日志,可以转存到 OSS 自身进行成本优化;同时通过实时查询能力,帮助完成访问统计、异常事件回溯和问题定位等工作。
  • OSS 监控告警(整合“云监控服务”) 。提供系统基本运行状态、性能以及计量等方面的监控数据指标,并提供自定义报警服务,帮助跟踪请求、分析使用情况、统计业务趋势,及时发现以及诊断系统的相关问题。
  • OSS 支持云服务厂家内部操作审计(“Action Trail 操作审计云服务”),客户可审计 OSS 服务内部操作 。操作日志透明化由操作审计(ActionTrail)服务提供平台操作日志(Inner-ActionTrail),它近实时地记录并存储 OSS 平台操作日志(云厂家运维) ,输出查询分析、报表、报警、下游计算对接与投递等能力,满足对平台操作日志相关的分析与审计需求。

2.11 数据安全:如何做到数据安全的数据不丢不错的高可靠?

图-12 数据安全的高可靠

企业负责人通常会关注数据安全的高可靠,确认企业存放数据的云服务是否提供高可靠能力?满足业务长期发展的数据不必不错需求,这是企业的刚需,试想要是广大群众使用的 APP 出现数据丢失,将会造成多大的影响。

  • 对象存储 OSS 通过同城冗余提高可靠性 。选择同城冗余,实现 12个9 可靠性(数据持久性),即使在地震、洪水等天灾,开发Bug、运维失误等人祸下,依然保证数据存在。
  • 对象存储 OSS 底层通过可靠性防护体系支撑数据不丢不错 。分析硬件故障模式(盘、内存、网络翻转,以及CPU 数据静默错误),软件 Bug&运维错误故障模式,深耕数据备份、冗余技术,尽量减少数据丢错;采用数据防丢错预埋、检测、恢复,从红蓝对抗维度解决出现丢错后的补救措施。

2.12 数据安全:如何做到数据安全的访问高可用?

图-13 数据安全的高可用

除了高可靠外,企业负责人还关心高可用,确认企业存放数据的云服务是否提供7*24业务连续性能力?满足业务正常在线工作是普遍需求,如果某 APP 在扫码消费时10分钟不可用会多产生多大的影响。

  • 对象存储 OSS 通过同城冗余,提供更高的可用性 。选择同城冗余,实现 99.99% 可用性,并配置 OSS 高防实现 DDoS 防护。
  • 对象存储 OSS底层技术通过分层容错体系支撑数据高可用 。设计网络攻击防御系统、多租户 QoS 流控系统、分布式存储系统容错、DEVOPS 高效开发运维,保障高可能能力。

2.13 数据安全:如何做到全面的数据保护功能?

图-14 数据保护功能

解决了数据安全的高可靠、高可用需求,企业负责人会进一步关注数据保护功能,如何实现数据备份、法规要求等?对象存储 OSS 提供如下的数据保护能力:

  • 跨地域复制,保护 Region 发生灾难的场景 。当 Region 所在的城市发生重大灾难,导致该 Region 不可用时,该功能可以保障在另外的 Region 有数据、并提供服务。同时,为了更好的利用跨地域复制两个 Region 的資源,还提供了异地多活功能,可以两个 Region 同时提供服务,提高利用率。
  • 版本控制(多版本),保护误删除时的数据恢复 。对象存储 OSS 通过数据的覆盖、删除都是以历史保存方式实现,从而实现了历史版本恢复能力。
  • 合规保留,根据法律要求保护要求保留的数据 。对象存储 OSS 通过保留机制,允许客户以“不可删除、不可篡改”方式保存和使用数据。
  • 云备份 for OSS,实现基于时间点数据备份的保护 。云备份是对象存储 OSS 之上的产品,通过组合实现了基于某个时间点的数据备份,从而可以恢复到指定时间的数据状态,并且可以提供单个对象的细粒度恢复。
  • 敏感数据保护,保护关键数据被曝露 。对象存储 OSS 检查存储内容,及时提醒个人隐私信息,例如密码、密钥、敏感图片等高价值数据可能被泄漏。

三、总结(13个安全问题背后的逻辑梳理,保障安心使用对象存储)

图-15 上云安全背后的逻辑分析

企业数据上云的安全13问,可以归纳为图-15的流程图,通过该流程的梳理,可以帮助企业数据相关人员分析清楚该使用对象存储的对应功能,来满足安全需求。安全梳理完成后,就是相关角色共同数据运行流程中的安全使用。

  • 企业上云数据安全涉及多个流程环节  。从数据加密、账号认证、网络配置、授权访问、日志审计、数据安全等维度,进行深入梳理。
  • 各流程环节需要不同角色参与完成 。典型覆盖数据关注人员、数据使用人员、审计人员、CXO等角色,共同完成决策和配置执行。
相关实践学习
借助OSS搭建在线教育视频课程分享网站
本教程介绍如何基于云服务器ECS和对象存储OSS,搭建一个在线教育视频课程分享网站。
目录
相关文章
|
1月前
|
存储 Java 开发工具
【三方服务集成】最新版 | 阿里云OSS对象存储服务使用教程(包含OSS工具类优化、自定义阿里云OSS服务starter)
阿里云OSS(Object Storage Service)是一种安全、可靠且成本低廉的云存储服务,支持海量数据存储。用户可通过网络轻松存储和访问各类文件,如文本、图片、音频和视频等。使用OSS后,项目中的文件上传业务无需在服务器本地磁盘存储文件,而是直接上传至OSS,由其管理和保障数据安全。此外,介绍了OSS服务的开通流程、Bucket创建、AccessKey配置及环境变量设置,并提供了Java SDK示例代码,帮助用户快速上手。最后,展示了如何通过自定义starter简化工具类集成,实现便捷的文件上传功能。
【三方服务集成】最新版 | 阿里云OSS对象存储服务使用教程(包含OSS工具类优化、自定义阿里云OSS服务starter)
|
1月前
|
安全 Java 对象存储
安全性考量:Spring Security与Netflix OSS在微服务安全中的作用
安全性考量:Spring Security与Netflix OSS在微服务安全中的作用
43 1
|
3月前
|
存储 机器学习/深度学习 弹性计算
阿里云EMR数据湖文件系统问题之OSS-HDFS全托管服务的问题如何解决
阿里云EMR数据湖文件系统问题之OSS-HDFS全托管服务的问题如何解决
|
4月前
|
分布式计算 DataWorks 调度
DataWorks产品使用合集之多个业务流程上传同名资源到同一个OSS(对象存储服务)URL,会产生什么问题
DataWorks作为一站式的数据开发与治理平台,提供了从数据采集、清洗、开发、调度、服务化、质量监控到安全管理的全套解决方案,帮助企业构建高效、规范、安全的大数据处理体系。以下是对DataWorks产品使用合集的概述,涵盖数据处理的各个环节。
|
3月前
|
存储 缓存 数据管理
阿里云EMR数据湖文件系统问题之JindoFS数据孤岛的问题如何解决
阿里云EMR数据湖文件系统问题之JindoFS数据孤岛的问题如何解决
|
4月前
|
存储 弹性计算 对象存储
预留空间是什么?阿里云OSS对象存储预留空间说明
阿里云OSS预留空间是预付费存储产品,提供折扣价以锁定特定容量,适用于抵扣有地域属性的Bucket标准存储费用及ECS快照费。通过购买预留空间,如500GB通用预留+100GB标准-本地冗余存储包,用户可优化成本。
215 4
|
4月前
|
运维 Serverless 数据处理
函数计算产品使用问题之在对象存储服务(OSS)上创建ZIP包解压触发器后,触发器未按预期执行,一般是什么导致的
函数计算产品作为一种事件驱动的全托管计算服务,让用户能够专注于业务逻辑的编写,而无需关心底层服务器的管理与运维。你可以有效地利用函数计算产品来支撑各类应用场景,从简单的数据处理到复杂的业务逻辑,实现快速、高效、低成本的云上部署与运维。以下是一些关于使用函数计算产品的合集和要点,帮助你更好地理解和应用这一服务。
|
4月前
|
关系型数据库 分布式数据库 数据库
PolarDB产品使用问题之如何将冷存到OSS(Object Storage Service)的数据恢复
PolarDB产品使用合集涵盖了从创建与管理、数据管理、性能优化与诊断、安全与合规到生态与集成、运维与支持等全方位的功能和服务,旨在帮助企业轻松构建高可用、高性能且易于管理的数据库环境,满足不同业务场景的需求。用户可以通过阿里云控制台、API、SDK等方式便捷地使用这些功能,实现数据库的高效运维与持续优化。
|
5月前
|
文字识别 算法 安全
视觉智能开放平台产品使用合集之如何将返回的图片链接转存到OSS(对象存储服务)
视觉智能开放平台是指提供一系列基于视觉识别技术的API和服务的平台,这些服务通常包括图像识别、人脸识别、物体检测、文字识别、场景理解等。企业或开发者可以通过调用这些API,快速将视觉智能功能集成到自己的应用或服务中,而无需从零开始研发相关算法和技术。以下是一些常见的视觉智能开放平台产品及其应用场景的概览。
|
6月前
|
存储 SQL 分布式计算
基于Apache Hudi + MinIO 构建流式数据湖
基于Apache Hudi + MinIO 构建流式数据湖
263 1
下一篇
无影云桌面