Step by Step 实现基于 Cloudera 5.8.2 的企业级安全大数据平台 - 前言

为了节省浏览器前的你的宝贵时间,这篇文集适合以下的读者:

  • 熟悉大数据 Hadoop 生态,具备一定 Shell 脚本能力、Linux 系统知识的;
  • 熟悉 Cloudera Manager 本身或有一定了解,希望对 Cloudera Manager 平台进行安全加固;
  • 想借鉴了解 Kerberos、OpenLDAP、TLS/SSL 配置使用的;
    .... 的运维、开发、测试同学。

最近从阿里跳槽出来,去了一家互联网创业公司,第一件事情就是折腾一个具备安全特性的大数据平台。历史原因,公司已经部署了免费版本的Cloudera私有云平台,主要用于基于Impala的类SQL数据查询,以及基于Kafka+Flume的数据准实时同步。经过调研,惊喜发现Cloudera的免费组件已经包含了以下几大利器,完全可以满足现在的需求,遂决定进行实现:

  • 基于Kerberos的身份认证:对称密钥体系,服务端和客户端双向身份认证,可防止非授信用户获得无权访问的服务或数据,主要用于防范:
    • 用户伪装,进行危害性操作;
    • 服务伪装,进行危害性操作;
    • 数据窃听,进行回放攻击获得服务器的访问权并终止进程、服务等;
  • 基于OpenLDAP的账户体系:后续和公司LDAP/AD进行打通,进行统一账户管理;
  • 基于Hadoop ACLs的HDFS文件系统权限体系:严格控制用户对底层文件的访问;
  • 基于Sentry的细粒度数仓权限体系:数据库/表/字段粒度的访问控制,进一步加强数仓数据的安全性;
  • Sentry数仓权限和HDFS文件系统ACLs权限同步;
    • 对数仓区域的HDFS文件进行强保护,只有超级管理员有权限访问底层文件,其余用户只能通过Sentry授权走上层接口访问数据;
    • 对数据库/表的SELECT权限 映射到 ACLs的READ;
    • 对数据库/表的INSERT权限 映射到 ACLs的WRITE;
    • 对数据库/表的ALL权限 映射到 ACLs的READ_WRITE_EXCUTE;
  • 基于TLS/SSL的传输层加密;

当然,还有HDFS层面的透明静态数据加密,这块因为担心调研不够充分,没有着急上。之前的经验告诉我,如果没有做好备份,最坏的情况可能会因为断电导致的多台物理机坏盘,造成核心加解密代码无法读取,最终丢失数据。
最近,所有的部署都完成了,业务也开始迁移到新的安全平台,看到国内外没有任何一篇文章可以完整描述基于Cloudera的企业级安全大数据平台的整个部署和调试过程,所以记录下来,予人玫瑰,手有余香。
本文集主要包括9篇文章,读者可以按需查阅,因为部分参数配置是前后相关的,所以建议从头开始连续阅读:

  • 1. 基础部署,主要介绍如何使用Parcels进行基础的Cloudera平台部署;
  • 2. Kerberos的整合,主要介绍如何在Cloudera中对Kerberos进行部署;
  • 3. 如何访问Kerberos Enabled服务,主要介绍如何通过CLI、Java Client访问Kerberos Enabled HDFS;
  • 4. OpenLDAP的整合,主要包括LDAP的部署、LDAP集成Kerberos、Impala集成LDAP、HUE集成LDAP;
  • 5. Sentry的整合,主要包括Hive集成Sentry、Impala集成Sentry、HUE集成Sentry,HDFS集成Sentry(这块暂时没有调通);
  • 6. OpenLDAP的整合-通过搜索绑定实现用户和组的映射,描述了直接绑定和搜索绑定的区别,如何使用搜索绑定实现用户和组的映射,继而映射到 Sentry 的角色,达到细粒度的权限控制;
  • 7. 传输层加密配置 - Clouder Manager 组件传输层加密
  • 8. 传输层加密配置 - Hadoop 组件传输层加密
  • 9. 如何使用Java Client访问Kerberos + TLS Enabled Impala服务;

本人是安全小白,欢迎各位安全大牛指导和拍砖。

你可能感兴趣的:(Step by Step 实现基于 Cloudera 5.8.2 的企业级安全大数据平台 - 前言)