这篇文章主要介绍“Cloudera数据加密概述及用法”,在日常操作中,相信很多人在Cloudera数据加密概述及用法问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”Cloudera数据加密概述及用法”的疑惑有所帮助!接下来,请跟着小编一起来学习吧!
目前成都创新互联公司已为超过千家的企业提供了网站建设、域名、网站空间、绵阳服务器托管、企业网站设计、柳南网站维护等服务,公司将坚持客户导向、应用为本的策略,正道将秉承"和谐、参与、激情"的文化,与客户和合作伙伴齐心协力一起成长,共同发展。
01
—
Cloudera数据加密概述
加密是使用数字密钥对各种组件(例如文本,文件,数据库,密码,应用程序或网络数据包)进行编码的过程,因此只有适当的实体(用户,系统进程等)才能进行解码(解密) )项,然后查看,修改或添加到数据中。Cloudera提供了加密机制来保护持久保存在磁盘或其他存储介质上的数据(静态数据或简单地称为数据加密)以及在网络上移动时的数据(传输加密中的数据)。
在政府,卫生,金融,教育和许多其他环境中,数据加密是强制性的。例如,《联邦信息安全管理法案》(FISMA)规范了患者的隐私问题,而《支付卡行业数据安全标准》(PCI DSS)规范了信用卡处理器的信息安全性。这只是两个例子。
尽管如此,使用案例中需要使用何种程度的隐私,机密性和数据完整性的Cloudera集群中包含的大量数据(使用许多不同的组件进行部署)仍然必须支持。Cloudera支持并在本概述中讨论的加密机制旨在实现这一目标。
02
—
保护静态数据
保护静止数据通常意味着对存储在磁盘上的数据进行加密,并允许授权用户和进程(仅授权用户和进程)在手头的应用程序或任务需要时解密数据。对于静态数据加密,必须分发和管理加密密钥,应定期旋转或更改密钥(以减少密钥被泄露的风险),并且许多其他因素使该过程复杂化。
但是,仅加密数据可能不够。例如,管理员和其他具有足够特权的人可能有权访问日志文件,审核数据或SQL查询中的个人身份信息(PII)。根据特定的用例,在医院或财务环境中,可能需要从所有此类文件中删除PII,以确保对日志和查询具有特权的用户(其中可能包含敏感数据)仍然无法在查看数据时使用不应该。
Cloudera提供了补充方法来加密静态数据,并提供了屏蔽日志文件,审核数据和SQL查询中的PII的机制。
Cloudera提供了多种机制来确保敏感数据的安全。CDH提供透明的HDFS加密,确保所有敏感数据在存储到磁盘之前都已加密。通过将HDFS加密与Navigator Key Trustee的企业级加密密钥管理结合使用,可以使大多数企业遵守法规。对于Cloudera Enterprise,可以通过Navigator Encrypt增强HDFS加密,以保护数据之外的元数据。考虑到数据节点是并行加密的,使用这些解决方案的Cloudera集群照常运行,并且对性能的影响非常低。随着集群的增长,加密也随之增长。
此外,此透明加密针对英特尔芯片组进行了优化,以实现高性能。英特尔芯片组包括AES-NI协处理器,该处理器提供特殊功能,可使加密工作负载运行得非常快。Cloudera利用Intel最新的技术进步来获得更快的性能。
密钥受托者KMS与密钥受托者服务器和密钥HSM结合使用,可为存储的密钥材料提供基于HSM的保护。密钥受托者KMS在KMS上本地生成加密区域密钥材料,然后使用HSM生成的密钥对该密钥材料进行加密。相反,Navigator HSM KMS服务依赖于HSM来生成和存储所有加密区域密钥。使用Navigator HSM KMS时,加密区域密钥材料起源于HSM,并且永远不会离开HSM。这样可以实现最高级别的密钥隔离,但是需要一些网络开销来进行HSM的网络调用,以进行密钥生成,加密和解密操作。对于大多数生产方案,密钥受托人KMS仍然是建议的HDFS加密密钥管理解决方案。
下图显示了使用示例部署:
Cloudera透明HDFS加密可加密HDFS上存储的数据
Navigator Encrypt对与Cloudera Manager,Cloudera Navigator,Hive和HBase相关的所有其他数据(包括元数据,日志和溢出数据)进行加密
Navigator Key Trustee,用于进行健壮,容错的密钥管理
除了对Cloudera集群的数据层应用加密之外,还可以在网络层应用加密,以加密集群节点之间的通信。
加密不会阻止对集群具有完全访问权限的管理员查看敏感数据。要混淆包括PII在内的敏感数据,可以配置集群以进行数据编辑。
编辑是一个使数据模糊的过程。它可以通过混淆个人身份信息(PII)来帮助组织遵守PCI(支付卡行业)和HIPAA之类的行业法规和标准,从而使其无法使用,除非工作需要此类访问的人员才能使用。例如,HIPAA立法要求,除适当的医生(和患者)外,任何人都不能使用患者PII,并且不得使用任何患者的PII来确定个人身份或将其与健康数据相关联。通过将PII转换为无意义的模式(例如,将美国的社会保险号转换为XXX-XX-XXXX 字符串。
数据编辑与Cloudera 加密技术分开工作,Cloudera 加密技术不会阻止对集群具有完全访问权限的管理员查看敏感的用户数据。它确保集群管理员,数据分析人员和其他人员不会看到不在其工作域内的PII或其他敏感数据,并且同时也不会阻止具有适当权限的用户访问他们拥有特权的数据。
03
—
保护动态数据
对于传输中的数据,实施数据保护和加密相对容易。有线加密内置在Hadoop堆栈中(例如SSL),并且通常不需要外部系统。使用会话级一次性密钥通过会话握手以及立即传输和后续传输来构建此传输中数据加密。因此,由于密钥的临时性,传输中的数据避免了许多与静态数据相关的密钥管理问题,但它确实依赖于正确的身份验证;证书泄露是身份验证的问题,但可能会破坏有线加密。顾名思义,传输中的数据涵盖了数据的安全传输和中间存储。这适用于所有过程间通信,在同一节点内或节点之间。有三种主要的沟通渠道:
HDFS透明加密:使用HDFS透明加密加密的数据是端到端的保护。写入和写入HDFS的任何数据只能由客户端加密或解密。HDFS无权访问未加密的数据或加密密钥。这支持静态加密和传输中加密。
数据传输:第一个通道是数据传输,包括将数据块读取和写入HDFS。Hadoop在其原生的基于TCP / IP的直接传输(称为)周围使用了启用SASL的包装器DataTransportProtocol,以保护DIGEST-MD5信封内的I / O流。此过程还使用安全的HadoopRPC(请参阅远程过程调用)进行密钥交换。但是,HttpFS REST接口不提供客户端与HDFS之间的安全通信,仅提供使用SPNEGO进行的安全身份验证。
为了在MapReduce作业的混洗阶段(即在作业的Map和Reduce部分之间移动中间结果)期间在DataNode之间进行数据传输,Hadoop使用传输层安全性(TLS)通过HTTP Secure(HTTPS)保护了通信通道)。
远程过程调用:第二个通道是对Hadoop集群中各种系统和框架的远程过程(RPC)的系统调用。与数据传输活动一样,Hadoop具有自己的RPC本地协议,称为HadoopRPC,用于Hadoop API客户端通信,Hadoop内部服务通信以及监视,心跳以及其他非数据,非用户活动。HadoopRPC支持SASL,以实现安全传输,并且默认设置为Kerberos和DIGEST-MD5,具体取决于通信类型和安全设置。
用户界面:第三个渠道包括Hadoop集群中各种基于Web的用户界面。对于安全运输,解决方案很简单;这些接口使用HTTPS。
可以使用三种不同的方式对证书进行签名:
类型 | 使用说明 |
---|---|
公共CA签名的证书 | 推荐。使用由受信任的公共CA签名的证书可以简化部署,因为默认的Java客户端已经信任大多数公共CA。从受信任的著名(公共)CA(例如Symantec和Comodo)中获取证书 |
内部CA签署的证书 | 如果您的组织有自己的证书,请从组织的内部CA获取证书。使用内部CA可以降低成本(尽管集群配置可能需要为内部CA签名的证书建立信任链,具体取决于您的IT基础结构)。 |
自签名证书 | 不建议用于生产部署。使用自签名证书要求将每个客户端配置为信任特定证书(除了生成和分发证书之外)。但是,自签名证书适用于非生产(测试或概念验证)部署。 |
Cloudera建议在集群上启用SSL之类的加密之前,先使用Kerberos身份验证保护集群。如果为尚未配置Kerberos身份验证的集群启用SSL,将显示警告。
Hadoop服务在SSL的使用方面有所不同,如下所示:
HDFS,MapReduce和YARN守护程序既充当SSL服务器又充当客户端。
HBase守护程序仅充当SSL服务器。
Oozie守护程序仅充当SSL服务器。
Hue充当上述所有内容的SSL客户端。
启动时,充当SSL服务器的守护程序将加载密钥库。当客户端连接到SSL服务器守护程序时,服务器会将在启动时加载的证书传输到客户端,然后客户端使用其信任库来验证服务器的证书。
有关为CDH服务设置SSL / TLS的信息,请参阅适用的组件指南。
04
—
Hadoop项目中的数据保护
下表列出了CDH组件和Cloudera Manager可以利用的各种加密功能。
Project | Encryption for Data-in-Transit | Encryption for Data-at-Rest (HDFS Encryption + Navigator Encrypt + Navigator Key Trustee) |
---|---|---|
HDFS | SASL (RPC), SASL (DataTransferProtocol) | Yes |
MapReduce | SASL (RPC), HTTPS (encrypted shuffle) | Yes |
YARN | SASL (RPC) | Yes |
Accumulo | Partial - Only for RPCs and Web UI (Not directly configurable in Cloudera Manager) | Yes |
Flume | TLS (Avro RPC) | Yes |
HBase | SASL - For web interfaces, inter-component replication, the HBase shell and the REST, Thrift 1 and Thrift 2 interfaces | Yes |
HiveServer2 | SASL (Thrift), SASL (JDBC), TLS (JDBC, ODBC) | Yes |
Hue | TLS | Yes |
Impala | TLS or SASL between impalad and clients, but not between daemons | |
Oozie | TLS | Yes |
Pig | N/A | Yes |
Search | TLS | Yes |
Sentry | SASL (RPC) | Yes |
Spark | None | Yes |
Sqoop | Partial - Depends on the RDBMS database driver in use | Yes |
Sqoop2 | Partial - You can encrypt the JDBC connection depending on the RDBMS database driver | Yes |
ZooKeeper | SASL (RPC) | No |
Cloudera Manager | TLS - Does not include monitoring | Yes |
Cloudera Navigator | TLS - Also see Cloudera Manager | Yes |
Backup and Disaster Recovery | TLS - Also see Cloudera Manager | Yes |
05
—
加密机制概述
静态数据和传输加密中的数据在集群的不同技术层起作用:
层次 | 描述 |
---|---|
应用 | HDFS透明加密由HDFS客户端软件应用,可让您加密HDFS中包含的特定文件夹。为了安全地存储所需的加密密钥,Cloudera建议将Cloudera Navigator密钥受托服务器与HDFS加密结合使用。 还可以对CDH组件(包括Impala,MapReduce,YARN或HBase)在HDFS外部临时存储在本地文件系统上的数据进行加密。 |
操作系统 | 在Linux OS文件系统层,可以将加密应用于整个卷。例如,Cloudera Navigator Encrypt可以加密HDFS内部和外部的数据,例如临时/溢出文件,配置文件以及存储与CDH集群关联的元数据的数据库。Cloudera Navigator Encrypt作为Linux内核模块运行,是操作系统的一部分。Navigator Encrypt需要Cloudera Navigator的许可证,并且必须配置为使用Navigator Key Trustee Server。 |
网络 | 客户端进程和服务器进程(HTTP,RPC或TCP / IP服务)之间的网络通信可以使用行业标准的TLS / SSL进行加密。 |
来源:https://docs.cloudera.com/cloudera-manager/7.0.3/security-overview/topics/cm-security-encryption-overview.html
到此,关于“Cloudera数据加密概述及用法”的学习就结束了,希望能够解决大家的疑惑。理论与实践的搭配能更好的帮助大家学习,快去试试吧!若想继续学习更多相关知识,请继续关注创新互联网站,小编会继续努力为大家带来更多实用的文章!