前言

本文隶属于专栏《1000个问题搞定大数据技术体系》,该专栏为笔者原创,引用请注明来源,不足和错误之处请在评论区帮忙指出,谢谢!

本专栏目录结构和参考文献请见1000个问题搞定大数据技术体系


正文

数据安全的四大核心功能如下所示

认证(authentication)

认证指的是向一个系统或是用户提出怀疑,让其证明自己的身份。只有经过认证的身份才被允许进入到数据系统。

Hadoop中的认证主要有两种, 简单认证和例认证。前者是一种宽松的安全体系,它信任用户自己宣称的身份。

而后者则使用像 Kerberos 这样的系统来认证用户。在企业级应用上, 作为最佳实践,推荐后者。

Hadoop 甚至支持无缝地集成很多像LDAP和活动目录(active directory)这样的用户存储。

在这些存储的帮助之下,可以将 Kerberos 实现成一个认证机制。

关于 kerberos 可以参考我的这篇博客——一篇文章搞懂 HDFS 的 Kerberos 认证


授权(authorization)

授权是指授予一个通过认证的用户访问数据资源的权限。

在一个需要共享数据集群的多租户系统或是多团队企业中,政策、法规和监管规范可能会禁止一个团队去访问属于另一个团队的数据。

在这种情况下,将敏感的数据资源与那些无意或是恶意的访间隔离开就显得十分重要。

Hadoop支持不同级别的授权。对于HDFS, Hadoop提供了文件级的细粒度访问控制。

这种访问控制非常类似于那些基于UNIX的文件系统。

MapReduce 计算层在资源级别同样有访问控制列表(Access Control List,ACL)。

Hadoop服务允许有他们自己的授权功能。例如,可以使用粗粒度的访问控制机制来保护Hive的表,如SQL。


审计(auditing)

审计是深入到数据系统使用模式的一种机制。不论进行何种审计,最基本的要求都是要提供统计功能。

所有的访问和操作都需要被记录在审计日志中,以便在稍后的时间点进行审计。

在企业中,审计对于信守承诺作常重要。例行审计可以确保遵守数据策略。

有些场合可能需要即席(ad-hoc)审计,特别是当系统中出现安全漏洞时。

审计可以揭示取证信息,帮助惩罚犯罪并评估漏洞所造成的损失。

在平台级别, Hadoop支持审计。在服务级别,像Hive这样的服务会在元数据中记录所有用户相关的行为。

关于 HDFS 的日志审计可以查看我的这篇博客——


数据保护

大数据系统分布在很多机器上,这使得数据不得不从一个节点移动到另一个节点。此外它也涉及数据存储位置不可信的问题,比如云上。

这两种情况都会迫使我们在隐私和机密性上做出妥协。传输过程中的中间人可以找到那些正在传输的数据,而一个充满恶意的攻击者甚至可以操纵数据。

在其他时候,不可信的一方可以窥探或修改数据。对付这种攻击的保护措施可以通过加密技术来实现。在传输以及其他时候,可以将数据进行加密。

生成数字签名可以保护数据免受修改。在 Hadoop中,可以对通过线路的传输进行加密以便保证数据的机密性。在其他时候,操作系统级别的加密可以保护HDFS上数据的机密性。

上一篇 下一篇