jjzjj

数据湖的各项安全实践

陈峻 2023-03-28 原文

​作者 | Dan Neault

译者 | 陈峻

如今,大家都普遍认为数据是商业环境中最有价值的资源。企业的成功往往与他们从数据中获利的能力有着直接关系。而作为传统关系型数据库的演进,数据湖(Data Lake)能够从多个来源获取原始形式的数据。这就是为什么许多组织已经开始转向通过数据湖,来改进分析,实现更有效的协作,并支持大规模的数据驱动型决策的原因。

虽然数据湖能够给组织带来卓越的业务成果,但它们的快速采用,也可能会给一些缺乏资源和专业领域知识团队,带来合规性和安全控制上的门槛。更复杂的是,数据湖的广泛使用,会让更多内、外部角色接触到数据,进而放大了业务安全的潜在风险。

1、从数据库到数据湖

在上个世纪60年代,随着计算机变得更易于访问,各个组织需要有效地存储和管理手中的数据,这便催生了数据库技术的产生。

在之后的几十年中,在线事务处理(online transactional processing,OLTP)型的工作负载和关系型数据库,充当了快速、准确地处理数据的主力军。

到了20世纪80年代,数据仓库(data warehouses)将数据处理从事务或操作系统,转变为了决策支持系统。这种转变使得许多组织能够聚合来自多个环境的数据,并通过汇集商业智能(business intelligence,BI),来支持战略决策的制定。

如今,大量的组织都会利用数据库、数据仓库和BI ,用以提供创新信息,并指导战略决策。然而,随着云计算和现代化编程语言的兴起,数据库的使用方式也随着如下因素,发生了巨大的变化:

  • 组织开始意识到,如果他们不被限制于预定义的模式、以及在事务或分析系统中的使用方式,那么他们可以从数据中获得更多的价值。
  • 数据可以被用于开发、训练、分析机器学习(machine learning,ML)模型,或是针对在任何类型的数据库上,运行的现有工作负载,进行现代化的改造。
  • 云计算能够以前所未有的速度和规模,快速配置现代化的工作负载。

数据仓库在处理和分析结构化的数据方面固然表现出色,但它们无法捕获原始的、非结构化的数据,这在某种程度上对组织的数字化业务产生了限制。因此,数据湖等非关系数据库变得越来越受欢迎,一些数据架构师正在尝试着默认使用数据湖,来处理新的工作负载,并对现有的工作负载进行现代化的改造。

2、为什么要采用数据湖

正是由于数据架构师们通过使用数据湖,来构建ML模型,为无数分析系统提供数据,进而按需执行查询与分析等操作,因此他们从中获得了数据的潜在价值,也促进了越来越多的组织,开始在数据湖中构造它们的数据生命周期。

毕竟,在传统方式上,数据仓库常被用于定期分析大量的结构化数据,或定期生成数据报告。而这往往要求企业在处理和存储数据之前,就已经完成、并将预定义的模式应用到数据库上。这在某种程度上,就限制了数据在后续交易或分析系统中的创新使用方式。

而数据湖并不需要这样的前期工作。它能够集成和存储未经转换、或仅被少量处理的数据。这些数据可以来自包括:非结构化的日志数据、物联网(internet of things,IoT)传感器、社交媒体、以及多媒体内容等多个指向数据湖的来源。利用与数据湖配套的实现技术,数据架构师们可以:

  • 使用Apache Kafka等数据流处理工具,近乎实时地处理流入数据湖中的数据。
  • 使用Google BigQuery或Amazon Athena等高性能查询引擎,直接从数据湖中获取特定的数据洞见。
  • 使用Elasticsearch等工具对大量结构化和非结构化的数据进行按需分析,对来自日志和运营的数据予以搜索、过滤和可视化。

3、数据湖安全吗?

显然,进入数据湖的数据需要得到与过去被存储在关系型数据库中的数据,有着相同级别、甚至更高的保护。那么数据湖主要会面临哪些安全风险呢?

  • 访问控制:针对数据库表的访问权限控制,向来是灵活多变、且极具挑战性的。而针对数据湖的权限设置更是如此。我们往往需要基于特定的对象或元数据来予以定义。否则,整个组织的人员都可以访问数据湖的话,其中的个人数据、以及根据合规性要求保密的数据,就没有了安全保证。根据 Forrester Consulting 曾委托进行的一项研究,58% 的安全事件都是由内部威胁所引起的,如果不加以控制的话,员工对敏感数据的访问将是一场安全噩梦。
  • 数据保护:数据湖通常充当的是组织内信息的单一存储库。因此,它往往成为了最有价值的攻击目标。如果没有适当的访问控制机制,不良行为者可以据此获得整个组织的敏感数据,甚至修改各种访问权限。
  • 治理、隐私和合规性:由于数据湖的数据源多且杂,因此某些数据可能包含了在不同的系统和地域范围内属于隐私、甚至是违规的信息内容。由此产生的跨数据湖存储架构的定位、以及对不同层级数据的管控,将具有挑战性。

可见,为了在不影响安全性的情况下,充分发挥数据湖的优势,组织需要遵循一套优秀的实践,来降低运营不合规、管理不善、数据泄漏、以及其他安全事件的发生风险。

4、如何保护数据湖

有效的安全策略往往能够给数据湖赋予清晰的可见性和控制权。为此,组织可以采取四个步骤:

  • 梳理标准化的数据访问流程:由于既可以给真实的用户使用,也能够供集成系统的调用,因此该流程应当能够跟踪数据的访问和使用的全过程。
  • 创建数据的分类方案和目录:在数据湖中,数据应当按照内容、使用场景、类型、以及可能的用户群体进行分类,并提供相应的目录,以实现数据的搜索和索引。同时,我们还应该采取一种便利的方法,将需要保留的数据与待删除的数据分开。
  • 启用数据保护:数据加密和自动监控等安全管控措施应被事先设置好。而当出现未授权的访问用户、及其可疑活动时,应能够及时发出警报。
  • 加强数据的治理、隐私保护、以及合规性:我们需要通过明确的数据政策,向相关人员传达,该如何定位和使用数据湖,如何提高数据质量和敏感数据的使用,以及如何按照数据隐私标准去存储历史数据。

5、在防范安全和隐私风险的同时最大化数据价值

综上所述,为了解决与数据湖的相关安全和合规风险,组织应该首先创建一种有效且高效的方法,来分类和发现其环境中的数据。接着,组织必须能够识别谁在访问数据,何时访问了敏感数据,以及防止数据被恶意的内部人员所窃取。

虽然上面提到的各种安全优秀实践都是创建数据湖安全环境的基础步骤,但是组织应当从基础入手,以数据为中心,确保数据在数据湖乃至组织的内外部,无论身处何处、以何种形式存在,都是安全可控的。

原文链接:https://thenewstack.io/data-lake-security-dive-into-the-best-practices/

有关数据湖的各项安全实践的更多相关文章

  1. ruby-on-rails - 使用 Ruby on Rails 进行自动化测试 - 最佳实践 - 2

    很好奇,就使用ruby​​onrails自动化单元测试而言,你们正在做什么?您是否创建了一个脚本来在cron中运行rake作业并将结果邮寄给您?git中的预提交Hook?只是手动调用?我完全理解测试,但想知道在错误发生之前捕获错误的最佳实践是什么。让我们理所当然地认为测试本身是完美无缺的,并且可以正常工作。下一步是什么以确保他们在正确的时间将可能有害的结果传达给您? 最佳答案 不确定您到底想听什么,但是有几个级别的自动代码库控制:在处理某项功能时,您可以使用类似autotest的内容获得关于哪些有效,哪些无效的即时反馈。要确保您的提

  2. ruby - 解析 RDFa、微数据等的最佳方式是什么,使用统一的模式/词汇(例如 schema.org)存储和显示信息 - 2

    我主要使用Ruby来执行此操作,但到目前为止我的攻击计划如下:使用gemsrdf、rdf-rdfa和rdf-microdata或mida来解析给定任何URI的数据。我认为最好映射到像schema.org这样的统一模式,例如使用这个yaml文件,它试图描述数据词汇表和opengraph到schema.org之间的转换:#SchemaXtoschema.orgconversion#data-vocabularyDV:name:namestreet-address:streetAddressregion:addressRegionlocality:addressLocalityphoto:i

  3. ruby - 如何使用 Ruby aws/s3 Gem 生成安全 URL 以从 s3 下载文件 - 2

    我正在编写一个小脚本来定位aws存储桶中的特定文件,并创建一个临时验证的url以发送给同事。(理想情况下,这将创建类似于在控制台上右键单击存储桶中的文件并复制链接地址的结果)。我研究过回形针,它似乎不符合这个标准,但我可能只是不知道它的全部功能。我尝试了以下方法:defauthenticated_url(file_name,bucket)AWS::S3::S3Object.url_for(file_name,bucket,:secure=>true,:expires=>20*60)end产生这种类型的结果:...-1.amazonaws.com/file_path/file.zip.A

  4. ruby - Ruby 有 `Pair` 数据类型吗? - 2

    有时我需要处理键/值数据。我不喜欢使用数组,因为它们在大小上没有限制(很容易不小心添加超过2个项目,而且您最终需要稍后验证大小)。此外,0和1的索引变成了魔数(MagicNumber),并且在传达含义方面做得很差(“当我说0时,我的意思是head...”)。散列也不合适,因为可能会不小心添加额外的条目。我写了下面的类来解决这个问题:classPairattr_accessor:head,:taildefinitialize(h,t)@head,@tail=h,tendend它工作得很好并且解决了问题,但我很想知道:Ruby标准库是否已经带有这样一个类? 最佳

  5. ruby - 如何安全地删除文件? - 2

    在Ruby中是否有Gem或安全删除文件的方法?我想避免系统上可能不存在的外部程序。“安全删除”指的是覆盖文件内容。 最佳答案 如果您使用的是*nix,一个很好的方法是使用exec/open3/open4调用shred:`shred-fxuz#{filename}`http://www.gnu.org/s/coreutils/manual/html_node/shred-invocation.html检查这个类似的帖子:Writingafileshredderinpythonorruby?

  6. ruby - 我如何添加二进制数据来遏制 POST - 2

    我正在尝试使用Curbgem执行以下POST以解析云curl-XPOST\-H"X-Parse-Application-Id:PARSE_APP_ID"\-H"X-Parse-REST-API-Key:PARSE_API_KEY"\-H"Content-Type:image/jpeg"\--data-binary'@myPicture.jpg'\https://api.parse.com/1/files/pic.jpg用这个:curl=Curl::Easy.new("https://api.parse.com/1/files/lion.jpg")curl.multipart_form_

  7. 世界前沿3D开发引擎HOOPS全面讲解——集3D数据读取、3D图形渲染、3D数据发布于一体的全新3D应用开发工具 - 2

    无论您是想搭建桌面端、WEB端或者移动端APP应用,HOOPSPlatform组件都可以为您提供弹性的3D集成架构,同时,由工业领域3D技术专家组成的HOOPS技术团队也能为您提供技术支持服务。如果您的客户期望有一种在多个平台(桌面/WEB/APP,而且某些客户端是“瘦”客户端)快速、方便地将数据接入到3D应用系统的解决方案,并且当访问数据时,在各个平台上的性能和用户体验保持一致,HOOPSPlatform将帮助您完成。利用HOOPSPlatform,您可以开发在任何环境下的3D基础应用架构。HOOPSPlatform可以帮您打造3D创新型产品,HOOPSSDK包含的技术有:快速且准确的CAD

  8. 叮咚买菜基于 Apache Doris 统一 OLAP 引擎的应用实践 - 2

    导读:随着叮咚买菜业务的发展,不同的业务场景对数据分析提出了不同的需求,他们希望引入一款实时OLAP数据库,构建一个灵活的多维实时查询和分析的平台,统一数据的接入和查询方案,解决各业务线对数据高效实时查询和精细化运营的需求。经过调研选型,最终引入ApacheDoris作为最终的OLAP分析引擎,Doris作为核心的OLAP引擎支持复杂地分析操作、提供多维的数据视图,在叮咚买菜数十个业务场景中广泛应用。作者|叮咚买菜资深数据工程师韩青叮咚买菜创立于2017年5月,是一家专注美好食物的创业公司。叮咚买菜专注吃的事业,为满足更多人“想吃什么”而努力,通过美好食材的供应、美好滋味的开发以及美食品牌的孵

  9. FOHEART H1数据手套驱动Optitrack光学动捕双手运动(Unity3D) - 2

    本教程将在Unity3D中混合Optitrack与数据手套的数据流,在人体运动的基础上,添加双手手指部分的运动。双手手背的角度仍由Optitrack提供,数据手套提供双手手指的角度。 01  客户端软件分别安装MotiveBody与MotionVenus并校准人体与数据手套。MotiveBodyMotionVenus数据手套使用、校准流程参照:https://gitee.com/foheart_1/foheart-h1-data-summary.git02  数据转发打开MotiveBody软件的Streaming,开始向Unity3D广播数据;MotionVenus中设置->选项选择Unit

  10. 使用canal同步MySQL数据到ES - 2

    文章目录一、概述简介原理模块二、配置Mysql使用版本环境要求1.操作系统2.mysql要求三、配置canal-server离线下载在线下载上传解压修改配置单机配置集群配置分库分表配置1.修改全局配置2.实例配置垂直分库水平分库3.修改group-instance.xml4.启动监听四、配置canal-adapter1修改启动配置2配置映射文件3启动ES数据同步查询所有订阅同步数据同步开关启动4.验证五、配置canal-admin一、概述简介canal是Alibaba旗下的一款开源项目,Java开发。基于数据库增量日志解析,提供增量数据订阅&消费。Git地址:https://github.co

随机推荐