《Hadoop安全 大数据平台隐私保护》阐述了Hadoop从早期开放的消费互联网时代到现在作为敏感数据可信平台的演变历程,介绍了包括身份验证、加密、密钥管理和商业实践在内的诸多主题,并在实际环境下加以讨论。第1章是介绍性内容,随后分为四大部分:部分是安全架构,第二部分是验证、授权和安全审计,第三部分是数据安全,第四部分是归纳总结。后介绍了几个使用案例,融合了书中诸多概念。《Hadoop安全 大数据平台隐私保护》适合对Hadoop感兴趣的读者,有大数据平台保护需求的读者。
随着使用Hadoop存储并处理大量数据的企业不断增多,Hadoop安全性日益凸显,尤其是在金融和医疗等涉及敏感信息的行业。本书两位作者均来自Hadoop安全防范一线,书中详细论述了身份验证、加密、密钥管理等诸多重要主题,并给出了具体处理建议和案例分析,读者可以从中了解搭建和使用Hadoop的架构师是如何安全管理大数据的。- 了解分布式系统,尤其是Hadoop所面临的安全挑战- 学习如何尽可能确保Hadoop集群硬件的安全性- Kerberos网络认证协议概览- 身份验证、授权和审计原则在Hadoop中的应用- 静态数据和动态数据的加密- 客户端访问和数据提取过程的安全防护措施
Ben SpiveyCloudera解决方案架构师,曾在多家世界500强企业工作,涉及金融服务、零售、医疗等多个行业。在于客户的Hadoop集群进行规划、安装、配置以及安全保护方面有丰富经验。 Joey EcheverriaRocana软件工程师,负责在Apache Hadoop平台下构建一代IT运行分析系统。Hadoop生态系统数据API Kite SDK的贡献者,并为Flume、Hadoop、HBase等多个Apache项目做过了贡献。
序 xi
前言 xii
第1 章 引言 1
1.1 安全概览 1
1.1.1 机密性 2
1.1.2 完整性 2
1.1.3 可用性 2
1.1.4 验证、授权和审计 3
1.2 Hadoop 安全:简史 5
1.3 Hadoop 组件和生态系统 5
1.3.1 Apache HDFS 6
1.3.2 Apache YARN 7
1.3.3 Apache MapReduce 8
1.3.4 Apache Hive 9
1.3.5 Cloudera Impala 9
1.3.6 Apache Sentry 10
1.3.7 Apache HBase 11
1.3.8 Apache Accumulo 11
1.3.9 Apache Solr.13
1.3.10 Apache Oozie 13
1.3.11 Apache ZooKeeper 13
1.3.12 Apache Flume .13
1.3.13 Apache Sqoop .14
vi | 目录
1.3.14 Cloudera Hue 14
1.4 小结 .14
及时部分 安全架构
第2 章 保护分布式系统 .16
2.1 威胁种类 17
2.1.1 非授权访问/伪装 17
2.1.2 内在威胁 .17
2.1.3 拒绝服务 .18
2.1.4 数据威胁 .18
2.2 威胁和风险评估 18
2.2.1 用户评估 .19
2.2.2 环境评估 .19
2.3 漏洞 .19
2.4 深度防御 20
2.5 小结 .21
第3 章 系统架构 22
3.1 运行环境 22
3.2 网络安全 23
3.2.1 网络划分 .23
3.2.2 网络防火墙 24
3.2.3 入侵检测和防御 .25
3.3 Hadoop 角色和隔离策略 27
3.3.1 主节点 28
3.3.2 工作节点 .29
3.3.3 管理节点 .29
3.3.4 边界节点 .30
3.4 操作系统安全 31
3.4.1 远程访问控制 31
3.4.2 主机防火墙 31
3.4.3 SELinux 33
3.5 小结 .34
第4 章 Kerberos 35
4.1 为什么是Kerberos .35
4.2 Kerberos 概览 36
4.3 Kerberos 工作流:一个简单示例 .37
目录 | vii
4.4 Kerberos 信任 38
4.5 MIT Kerberos .39
4.5.1 服务端配置 41
4.5.2 客户端配置 44
4.6 小结 .46
第二部分 验证、授权和审计
第5 章 身份和验证 .48
5.1 身份 .48
5.1.1 将Kerberos 主体映射为用户名 .49
5.1.2 Hadoop 用户到组的映射 50
5.1.3 Hadoop 用户配置 54
5.2 身份验证 54
5.2.1 Kerberos 55
5.2.2 用户名和密码验证 56
5.2.3 令牌 56
5.2.4 用户模拟 .59
5.2.5 配置 60
5.3 小结 .70
第6 章 授权 71
6.1 HDFS 授权 71
HDFS 扩展ACL .72
6.2 服务级授权 .74
6.3 MapReduce 和YARN 的授权 .85
6.3.1 MapReduce(MR1) 86
6.3.2 YARN (MR2) 87
6.6 HBase 和Accumulo 的授权 95
6.6.1 系统、命名空间和表级授权 95
6.6.2 列级别和单元级别授权 .99
6.7 小结 .99
第7 章 Apache Sentry(孵化中) 100
7.1 Sentry 概念 100
7.2 Sentry 服务 102
7.3 Hive 授权 105
7.4 Impala 授权 110
7.5 Solr 授权 112
viii | 目录
7.6 Sentry 特权模型 113
7.6.1 SQL 特权模型 114
7.6.2 Solr 特权模型 .116
7.7 Sentry 策略管理 118
7.7.1 SQL 命令 118
7.7.2 SQL 策略文件 121
7.7.3 Solr 策略文件 .123
7.7.4 策略文件的验证和校验 124
7.7.5 从策略文件迁移 126
7.8 小结 127
第8 章 审计 .128
8.1 HDFS 审计日志 .129
8.2 MapReduce 审计日志 .130
8.3 YARN 审计日志132
8.4 Hive 审计日志 134
8.5 Cloudera Impala 审计日志 134
8.6 HBase 审计日志 135
8.7 Accumulo 审计日志 137
8.8 Sentry 审计日志 139
8.9 日志聚合 140
8.10 小结 141
第三部分 数据安全
第9 章 数据保护 .144
9.1 加密算法 144
9.2 静态数据加密 .145
9.2.1 加密和密钥管理 146
9.2.2 HDFS 静态数据加密 .146
9.2.3 MapReduce2 中间数据加密 151
9.2.4 Impala 磁盘溢出加密 152
9.2.5 全盘加密 152
9.2.6 文件系统加密 154
9.2.7 Hadoop 中重要数据的安全考虑 .155
9.3 动态数据加密 .156
9.3.1 传输层安全 .156
9.3.2 Hadoop 动态数据加密 157
目录 | ix
9.4 数据销毁和删除 162
9.5 小结 163
第10 章 数据导入安全 .164
10.1 导入数据的完整性 165
10.2 数据导入的机密性 166
10.2.1 Flume 加密 167
10.2.2 Sqoop 加密 173
10.3 导入工作流 178
10.4 企业架构 .179
10.5 小结 180
第11 章 数据提取和客户端访问安全 181
11.1 Hadoop 命令行接口 .182
11.2 保护应用安全 183
11.3 HBase 184
11.3.1 HBase shell 184
11.3.2 HBase REST 网关 186
11.3.3 HBase Thrift 网关 189
11.4 Accumulo 190
11.4.1 Accumulo shell 190
11.4.2 Accumulo 服务 192
11.5 Oozie .192
11.6 Sqoop .194
11.7 SQL 访问 195
11.7.1 Impala .195
11.7.2 Hive .200
11.8 WebHDFS/HttpFS 208
11.9 小结 209
第12 章 Cloudera Hue .210
12.1 Hue HTTPS 211
12.2 Hue 身份验证 212
12.2.1 SPNEGO 后端 212
12.2.2 SAML 后端 .213
12.2.3 LDAP 后端 .215
12.3 Hue 授权 .218
12.4 Hue SSL 客户端配置 219
12.5 小结 219
x | 目录
第四部分 综合应用
第13 章 案例分析 .222
13.1 案例分析:Hadoop 数据仓库 222
13.1.1 环境搭建 223
13.1.2 用户体验 226
13.1.3 小结 .229
13.2 案例分析:交互式HBase Web 应用 .230
13.2.1 设计与架构 .230
13.2.2 安全需求 231
13.2.3 集群配置 232
13.2.4 实现中的注意事项 .236
13.2.5 小结 .237
后记 .238
关于作者 .240
关于封面 .240