CDP 平台的安全和治理

本文涉及的产品
数据管理 DMS,安全协同 3个实例 3个月
推荐场景:
学生管理系统数据库
密钥管理服务KMS,1000个密钥,100个凭据,1个月
访问控制,不限时长
简介: 本文整理自 Cloudera 生态资深解决方案工程师王雪峰在 阿里云CDP公开课 上的分享。

本期导读 :【阿里云 CDP 公开课】第六讲


主题:CDP 平台的安全和治理

讲师:王雪峰,Cloudera 生态资深解决方案工程师

内容框架:

  • 安全挑战
  • 应对措施
  • 身份认证
  • 访问授权
  • 数据治理
  • 实操演示

直播回放链接:(第6讲)

https://developer.aliyun.com/live/248700


一、安全挑战

大数据平台会面临各种各样的安全挑战,主要体现在以下几个方面:

a. 跨工作负载共享数据

需要创建多个数据副本,每个副本都有自己的数据上下文集合,易产生数据竖井或数据孤岛等问题;

 

b. 繁重的管理工作

创建的多个数据副本,需要有多个集群来存储数据,管理员就需要在多个管理位置进行数据管理,同时还需要进行数据间的权限同步,增加了管理员的工作负担;

 

c. 数据泄露

数据中缺少一项许可,可能导致不该访问的数据被他人访问,造成数据泄露及重大的财务和声誉风险;

 

d.   难以安全地共享数据以进行新分析;

 

e.   GDPR等严格的新法规,使挑战变得更大。

 

二、应对措施

鉴于上述挑战,CDP平台提供了全面的安全措施来保护客户的数据安全。

 

CDP平台的四大安全支柱:

a.   认证&边界

通过KerberosApache Knox 实现认证方式、用户/组映射等验证企业目录中的用户。


b.   访问授权

通过 Apache Ranger 定义用户和应用程序可以处理数据的访问权限。

c.   可见性

通过Apache Atlas进行审计、数据血缘等报告数据来自何处以及如何使用。

 

d.   数据保护

通过 SSL/TLSHDFS TDE,RanerKMS,Masking,Filtering)等进行加密、密钥管理以保护集群中的数据免受未授权的可见性。

 

 

保护企业数据

在实际应用中,上述四个支柱通过以下方式保护企业数据:

image.png

a.   护城河

通过防火墙来构建企业数据安全的护城河,以拦截未授权访问;

 

b.   有限的入境点

通过Apache Knox构建有限的入境点,以确保用户通过安全入口进入环境;

 

c.   检查身份

通过LDAP/AD等技术进行身份验证;

 

d.   内墙

在大平台内部运用Kerberos提供服务、数据库,以及用户间的访问认证;

 

e.   守望塔

通过Apache Ranger控制用户访问权限;

 

f.   高硬墙

针对企业核心数据,通过HDFS Encryption进行数据加密的方式提供数据保护;

 

认证&边界

1. 身份和权限安全 

CDP平台使用的身份认证技术主要是KerberosApache KnoxLDAPApache Knox可以集成所有数据访问,利用现有目录和协议,实现跨所有接口与SSO进行一致的身份验证,只暴露最小的端口。

 

2. 身份识别方法 

CDP平台提供的身份识别方法有两种:目录选择和协议选择;

a.   目录选择:Active Directory,Altus目录,云目录,等等;

b.   协议选择:LDAP,SAML或访问密钥;

 

大多数客户选择与企业Active Directory集成。用户利用现有的用户ID、密码和组成员身份,来访问Cloudera资源。无论部署环境如何,都使用相同的登录,即用户不需要新帐户,大多数用户甚至无需了解正在使用哪个云(或本地)基础架构。

 

3. 认证方式及步骤 

a.   Web UIs:LDAPSAML身份验证选项;

b.   SQL Access:LDAP/ADKerberos身份验证选项;

c.   Commend Line

  • Kerberos认证;
  • 利用Active DirectoryAD),Cloudera Manager提供的自动化功能;


示例:

步骤一:在AD上认证用户;

步骤二:认证的用户获取Kerberos票据;

步骤三:访问票据授权的服务,完成访问。

image.png

 

4. 租户集群访问流程
image.png

a.  用户通过LDAP账户访问Linux系统,Linux系统通过SSSD服务同步LDAP账户提供用户访问认证;

 

b.  用户通过接口机访问Hadoop平台,先通过Hadoop认证,如Kerberos Principal密码或Keytab等;

 

c.  进入Hadoop平台后可以同步访问Sentry HBaseHDFS ACLYARN ACL等做进一步的资源访问控制。 


5. Apache Knox功能 

a.  增强的外围安全性

  • 通过隐藏网络详细信息来保护集群(减少端口暴露);
  • Web App漏洞过滤器;

 

b.  API Gateway

  • 扩展API访问;
  • Kerberos封装;
  • 单一SSL证书;
  • 多集群支持;

 

c.  集中访问

  • 不再有用于REST/HTTP客户端的SPNEGO
  • 中央REST API审核;
  • 服务水平授权;
  • SSH边缘节点的替代;

 

d.  企业认证

  • LDAP/AD集成;
  • SSO
  • 通过pac4j的多协议支持(Oauth, SAML, OpenID Connect)


访问授权

1. 访问安全 

CDP中,访问安全主要通过 Apache Ranger Apache Atlas 来完成,实现访问权限和授权的能力。

 

Apache Ranger提供:

a. 数据的逻辑副本;

b. 所有访问路径上的一组权限;

 

c. 细粒度的访问权限,直至列和行级别:

  • 动态列掩码;
  • 动态行过滤;
  • 通过与Apache Atlas的结合实现基于分类的安全性

 

2. Apache Ranger功能

a. 授权

  • 集中式平台,可跨Hadoop生态系统一致地定义和管理安全策略;
  • HDFSHiveHBaseYARNKafkaSolrStormKnoxNiFiAtlasImpalaHMS
  • 具有自定义策略条件和上下文丰富程序的可扩展体系结构;
  • 轻松添加新的组件类型以进行授权;

 

b. 密钥管理

  • 存储和管理加密密钥策略和生命周期;
  • 支持HDFS透明数据加密;
  • HSM集成;
  • SafenetLUNAKeySecure);

 

c. 审计

  • 所有访问请求的中央审核位置;
  • 支持多个目标源(HDFSSolr等);
  • 实时视觉查询界面

 

3. Apache Ranger架构 

Apache Ranger架构中,对外暴露的是Ranger管理Portal,即进行整体权限管控的Portal,包括两部分内容:Ranger审计服务器和Ranger策略服务器,都是运用Plugin的方式从Hadoop组件中采集数据和应用策略,审计服务器会将采集来的数据放入SolrHDFS中。Ranger架构中的另一部分是通过API与遗留的工具和数据治理进行集成。

image.png

Apache Ranger 架构

 

4. Apache RangerABAC模型

image.png

 

• 主题、行动、资源和环境的结合;

• 使用描述性属性:AD组,基于Apache Atlas的标签或分类、地理位置等;

Ranger的方法与NIST 800-162一致;

• 避免角色扩散和可管理性问题。

 

5. Apache Ranger:全面的可扩展授权

image.png

Ranger界面

 

从上图Ranger界面中可以看到:

a.   全面涵盖Hadoop生态系统组件,以及与组件驻留在一起的组件的插件;

 

b.   可扩展的插件模型:可以构建用于授权Hadoop外部其他服务的插件(例如PrestoKylinSqoopWASBIsilon/OneFS等)。

 

6. Apache Ranger提供的安全策略


a.   基于动态标签的安全策略

在企业数据湖中的实体(HDFSHive表、HBase表等)通过Atlas进行Tag或分类,在Ranger中通过Atlas客户端订阅对应主题并获取元数据更新,同时基于Tag的安全控制(如基于分类、禁令、时间、位置等)设置对应的安全策略。

image.png

 

b.   动态行过滤和列掩码

在下图的示例中,一个跨国银行有来自美国和欧洲的数据,在这个数据平台里有两类用户,分别是美国的分析师组Joe和欧洲的HR用户组Ivanna,他们都执行类似的Select From语句无任何过滤条件。美国分析师组Joe将具有CC和国民IDSSN)的美国人员的数据视为掩码值,并且MRN为无效,而欧洲的Ivanna则可以看到未掩码的内容,但受到行过滤策略限制,只能查看仅适用于欧洲人员的数据。

image.png

 

在这个示例中运用了Ranger的两类策略:按区域过滤行和列掩码,在列掩码中还包含基于资源的权限控制和基于Tag的权限控制,在后面的示例中会进行详细介绍。

 

7. Apache Ranger策略评估流程

Ranger的策略评估流程整体分为两个部分:DENYALLOW,如果资源访问中包含Denied Policies则进入DENY,如果包含Allowed Policies则进入ALLOW,如果二者都没有则进入DENY/PASS-THROUGH。在每个DeniedAllowed Policy判断中会按照先TagResource的顺序进行。

 image.png

 

三、数据治理 

1. 建立可信数据湖的数据管理 

利用CDP平台构建可信数据湖,其中包含了大量的数据管理,包括:数据质量和配置文件、安全和访问控制、元数据管理、数据保留和归档、主数据管理、业务定义、数据血缘、审计、搜索和索引、治理,等。

image.png

 

2. 理解你的数据 

通过了解以下内容更好的理解数据:

 

如何发现哪些数据存储在哪里?

如何追踪数据沿袭?

如何以适当的粒度保护数据?

如何跟踪谁有权访问数据?

如何审核谁访问了数据?

如何启用数据自助服务?

如何始终如一地管理创建、应用和管理策略?

如何确保元数据随数据移动而保留?

 

3. Apache Atlas Architecture

CDP平台使用Apache Atlas来进行理解数据的工作。Atlas主要负责元数据管理、数据血缘和数据分类处理,其架构图如下:

 image.png

Apache Atlas架构

 

a.   Apache Atals通过Messaging消息框架从Apache Hadoop组件中捕获数据血缘,并将数据血缘维护到Janus图数据库系统中;


b.   审计系统是维护元数据变更的操作审计;


c.   在他们之上提供包括分类、数据资产、业务术语、血缘等搜索能力,最上层是REST API,可以灵活访问Apache Atlas服务、Cloudera数据平台(CDP)组件、UI和外部工具;


d.   Bridge负责导入和导出到现有业务元数据,并与其他系统进行集成整合。

 

4. Apache Atlas:连接器和生态系统 

Atlas自身是一个不断扩大的、开放的生态,其中包括一些自定义集成,与Hadoop生态项目集成,另外还有一些外部已认证企业工具和认证中的企业工具。

image.png

 

四、实操演示 

演示CDP平台中Apache KnoxApache RangerApache Atlas的一些功能和策略。

 

1.  前期准备

进入Cloudera Manager,本次演示使用阿里云CDP based的一个集群,这个集群要启用Kerberos

image.png

 

同时,需要提前部署包括KnoxAtlasRanger等组件;

image.png

 

如需启用Knox服务,只需在对应项目的配置中选择Knox即可。

image.png

 

2.      使用Joe分析师登录进行演示

image.png

 

进入Knox Gateway页面,在CDP Proxy中选择Zeppelin并进入;

 

image.png

 

进入ZeppelinJoe的工作面板,其中包含完整的分析师所使用的内容;

image.png

image.png

  • 重点关注1:动态数据掩码

 

在动态列掩码中包括两类:MRN/password字段通过分类的policy进行掩码,以及通过Hive字段Policy进行的其它掩码。查询结果显示MRNPassword、以及streetaddressccnumbernationalid都被掩码;

image.png

 

下面进入Ranger查看为实现上述Policy的设置;

image.png

 

Access Manager中有Resource Based PoliciesTag Based PoliciesReports功能。

image.png

 

首先查看Resource Based Policies,其中掩码页面列出了掩码的定义。如:nationalid显示最后4位,ccn显示前4位,passwordpolicy没有启用,点击任意项即可进入配置详情页

image.png

 

查看Tag Based Policies中的Masking页面,点击Mask PII(数据PII加密)进入配置详情页;

image.png

 

其中可以看到,针对不同的用户组选择不同的掩码方式,如:HR用户组是unmasked(即可以看明细),Analyst用户组有两种表达式:对于Tag属性是MRN使用Nullify,对于Tag属性是Password使用Hash

 

进入Apache AtlasAtlas提供搜索、分类和术语的能力;

image.png

 

搜索PII,并查看其中的MRNPassword

 

mrn的属性是MRN,所属表是us_customersPassword属性是Password,所属表是us_costomers

 

image.pngimage.png

 

image.png

image.png

 

  • 重点关注2:Prohibition policy

 

Prohibition policy拒绝通过字段组合(zipcodeinsuranceidbloodtype)来确认用户信息,下面要来演示在Ranger中是如何完成这一工作;

 

image.png

 

回到Ranger,找到对应的PolicyPolicy NameProhibit zipcode, insuranceid, bloodtype

 

image.png

 

其中DENY的条件是worldwidebank.ww_customers.insuranceid, worldwidebank.ww_customres.bloodtype这些字段;

 

image.png

 

同样也可以在Access中查看这个Policy的策略设置;

 

  • 重点关注3Leased Data Asset

 

通过Expired On的分类来进行访问控制的方式,是基于Tag Based Policy

 image.png

 

进入Ranger Tag Based Policy设置访问条件;

image.png

 

  • 重点关注4Data Quality annotation based policy

 

通过数据质量打分(Data Quality Score)的方式进行访问控制;

 

image.png

 

Atlas中的claim saving表来定义数据质量;

 

image.png

 

这里定义的值是0.51,因此,如果小于0.51则被拒绝访问;

 

image.png

 

3.  使用elt_user用户登录进行演示

 

image.png

 

进入Zeppelin elt_user工作面板;

 

image.png

 

查看customers_trans中的数据,显示都是无加密的明细数据;

 

image.png

 

4.  Ranger的其他功能演示

 

  • Reports


Report中展示所有Policies的权限设置信息;

 

image.png

 

image.png

 

  • 审计

 

审计提供了很多能力,包括:AccessAdminLogin SessionsPluginsPlugin StatusUser Sync;

image.png

 

Access访问信息中的过滤器可以帮助过滤信息,同时可以通过过滤器得到访问拒绝的原因;

 image.png

 


更多信息

产品试用

image.png

目前,CDP产品支持三个场景试用体验:

第一,CDP沙箱环境。主要测试常用场景:如构建数仓、ETL等常见的大数据分析场景,以及测试安全、数据血缘和治理等组件。

第二,Edge2AI场景。在此Edge2Al的实操实验中,将为IoT预测性维护用例构建完整的OTIT的工作流。

第三,CDP Base+Data Service。测试存算分离,新一代容器化计集群,用户体验良好的APP等。


立即开通:https://ac.aliyun.com/application/cloudera

试用申请:https://survey.aliyun.com/apps/zhiliao/owtTaIQU3


有奖调研

欢迎您给阿里云CDP 提建议,我们会认真评估每一条建议和意见,并随机抽取15名用户发放精美小礼品! https://survey.aliyun.com/apps/zhiliao/Hz2fCjChL


技术交流

钉钉扫描下方二维码加入产品交流群一起参与讨论吧!

 lADPJxRxQzaccuvNA97NAu4_750_990.jpg

相关实践学习
MySQL基础-学生管理系统数据库设计
本场景介绍如何使用DMS工具连接RDS,并使用DMS图形化工具创建数据库表。
相关文章
|
存储 安全 数据管理
《CDP企业数据云平台从入门到实践》——CDP平台的安全和治理(1)
《CDP企业数据云平台从入门到实践》——CDP平台的安全和治理(1)
194 0
《CDP企业数据云平台从入门到实践》——CDP平台的安全和治理(1)
|
安全 atlas Apache
《CDP企业数据云平台从入门到实践》——CDP平台的安全和治理(8)
《CDP企业数据云平台从入门到实践》——CDP平台的安全和治理(8)
145 0
|
存储 数据采集 分布式计算
《CDP企业数据云平台从入门到实践》——CDP平台的安全和治理(6)
《CDP企业数据云平台从入门到实践》——CDP平台的安全和治理(6)
149 0
|
分布式计算 安全 Hadoop
《CDP企业数据云平台从入门到实践》——CDP平台的安全和治理(7)
《CDP企业数据云平台从入门到实践》——CDP平台的安全和治理(7)
126 0
|
SQL 分布式计算 安全
《CDP企业数据云平台从入门到实践》——CDP平台的安全和治理(3)
《CDP企业数据云平台从入门到实践》——CDP平台的安全和治理(3)
142 0
|
SQL 缓存 安全
《CDP企业数据云平台从入门到实践》——CDP平台的安全和治理(5)
《CDP企业数据云平台从入门到实践》——CDP平台的安全和治理(5)
175 0
|
存储 分布式计算 安全
《CDP企业数据云平台从入门到实践》——CDP平台的安全和治理(2)
《CDP企业数据云平台从入门到实践》——CDP平台的安全和治理(2)
211 0
|
安全 数据安全/隐私保护
《CDP企业数据云平台从入门到实践》——CDP平台的安全和治理(9)
《CDP企业数据云平台从入门到实践》——CDP平台的安全和治理(9)
121 0
|
SQL 分布式计算 安全
《CDP企业数据云平台从入门到实践》——CDP平台的安全和治理(4)
《CDP企业数据云平台从入门到实践》——CDP平台的安全和治理(4)
175 0
|
监控 数据安全/隐私保护
《CDP企业数据云平台从入门到实践》——CDP集群管理(7)
《CDP企业数据云平台从入门到实践》——CDP集群管理(7)
118 0