当前位置: 首页 > news >正文

​​​​​​​CDP集群安全指南系列文章导读

[一]大数据安全综述

1-认证

身份验证是任何计算环境的基本安全要求。简单来说,用户和服务必须在使用系统功能并获得授权之前,向系统证明其身份(进行身份验证)。身份验证与授权紧密配合,共同保护系统资源。大多数 CDH 组件,包括 Apache Hive、Hue 和 Apache Impala,都可以使用 Kerberos 进行身份验证。MIT ,微软 Active Directory 的 Kerberos ,Redhat的Freeipa实现均可集成用于 Cloudera 集群。

集群如何开启 Active Directory 的 Kerberos认证请参考文章
​​​​​​​CDP集群安全指南-开启Kerberos认证篇(Active Directory)

【为何使用Kerberos】

  • ​​​​​​​避免密码网络传输:Kerberos 通过票据机制避免了用户密码在网络中的传输,降低了密码被截获的风险。这是Kerberos最厉害的机制!!!
  • 双向认证:Kerberos不仅可以验证用户的身份,还验证用户要访问的服务的身份。如A用户访问了hive中a表。Kerberos不仅要认证用户的身份,还要认证hive服务以及hive表存放数据的hdfs服务的身份。这是Kerberos第二最厉害的机制!!!
  • 票据授权&简化用户体验:Kerberos 使用票据(Ticket)机制进行认证,用户在初次登录时获取一个票据,后续访问资源时无需重复输入密码,提高了安全性和便利性。用户只需一次身份验证即可访问多个服务和资源,无需为每个服务重复登录。这不仅提升了用户体验,还减少了密码泄露的风险。
  • 加密通信&防止重放攻击:Kerberos 使用对称密钥加密技术,确保在传输过程中数据的机密性和完整性,防止数据被截获或篡改。票据具有时间限制和唯一性,防止攻击者重放旧的认证请求,增强了系统的安全性。
  • 跨平台支持&与现有系统集成:Kerberos 可以与多种目录服务(如 LDAP、Active Directory)无缝集成,方便在现有基础设施中部署和使用。Kerberos 支持多种操作系统和平台,包括 Windows、Linux、macOS 等,适用于多样化的计算环境。

既然Kerberos很厉害但如hive服务,impala服务为何要配置既支持Kerberos认证又要支持Ldap认证还要配置Ldap认证呢?

Kerberos 和 LDAP 在大数据集群和企业级系统中各自发挥着重要作用,彼此互补。Kerberos 专注于提供强大的认证机制,确保用户和服务的身份真实性;而 LDAP 则负责集中管理用户和组的信息,支持细粒度的授权和访问控制。通过将 Kerberos 与 LDAP 集成,组织可以构建一个全面、安全且高效的身份和访问管理体系,满足复杂的安全需求和业务场景。(LDAP 认证通常更贴近用户的使用习惯,例如在 Web UI 登录或使用 Beeline、Impala 等工具时,通过用户名和密码完成身份验证。此外,LDAP 能提供用户组信息,用于实现更细粒度的权限控制,适应不同的业务需求)。好消息是在AD或Freeipa中无论是Kerberos认证或Ldap认证他们都共享一套用户密码数据库,这方便进行用户管理

集群如何开启 Active Directory 的Ldap认证请参考文章

CDP集群安全指南-开启Ldap认证篇

2-认证-knox

如何你长期管理过CDP集群,你就会发现,一旦集群开启了Kerberos认证,如果有新的用户或者业务要访问集群,新用户或业务所在的服务器也必须被纳入集群的Kerberos认证体系内。如果新业务的服务器处在大数据之外的认证系统里。整个打通过程非常难受。这时你就明白了Knox存在的意义

Apache Knox Gateway 用于帮助 Cloudera 客户确保边界安全。借助 Knox,企业可以放心地将 Hadoop REST API 扩展到新用户,而无需面对 Kerberos 的复杂性,同时仍能保持对企业安全策略的合规性。Knox 为 Hadoop REST API 提供了一个中央网关,支持不同级别的授权、认证、SSL 和单点登录(SSO)功能,从而实现 Hadoop 的单一访问点。

集群如何开启Knox网关请参考:

CDP集群安全指南-开启Knox网关篇

Knox网关如何使用请参考:

CDP集群安全指南-Knox网关的使用(未完成)

3-授权&审计

授权(Authorization)关注的是谁或什么对特定资源或服务具有访问权限或控制权。由于 Hadoop 将多个不同且先前独立的 IT 系统的功能整合为一个企业数据中心,用于存储和处理组织内的所有数据,因此需要多种授权控制,具有不同的细粒度。在这种情况下,Hadoop 管理工具通过以下方式简化了设置和维护:

  • 将所有用户绑定到组,这些组可以在现有的 LDAP 或 AD 目录中指定。
  • 为类似的交互方式(如批处理和交互式 SQL 查询)提供基于角色的访问控制。例如,Apache Ranger 的权限适用于 Hive(HiveServer2)和 Impala。

目前,Cloudera 数据平台(CDP)提供以下形式的访问控制:

  1. 传统的 POSIX 风格权限
    适用于目录和文件,每个目录和文件都分配了一个所有者和一个组,并且每个分配都有一组基本的权限。文件权限包括读取、写入和执行,而目录则额外具有控制子目录访问的权限。

  2. Apache HDFS 的 ACL
    通过允许为特定的命名用户或用户组设置不同的权限,为 HDFS 文件提供细粒度的权限控制。

  3. Apache HBase 的 ACL
    使用 ACL 来授权列、列族和列族限定符的各种操作(如读取、写入、创建和管理)。HBase 的 ACL 可以授予和撤销用户和用户组的权限。

  4. 使用 Apache Ranger 进行的访问控制
    Apache Ranger 提供了一个集中的访问控制框架,支持对多个 Hadoop 组件的细粒度权限管理,确保统一和高效的策略管理。

集群如何开启Ranger授权请参考

CDP集群安全指南-开启Ranger授权和审计篇

如何为Ranger配置Ldap认证以及如何为Usersync组件配置同步Ldap用户请参考

 CDP集群安全指南-开启Ldap认证篇

如何使用ranger请参考

CDP集群安全指南-Ranger的使用(未完成)

4-加密-动态数据

传输层安全协议 (TLS) 是一套行业标准的加密协议,用于保护网络通信的安全。TLS 是从安全套接字层 (SSL) 演变而来的。由于 SSL 的术语仍被广泛使用,Cloudera 的软件和文档中将 TLS 称为 TLS/SSL,但实际上使用的协议是 TLS。Cloudera 软件中并未使用 SSL。

除了 TLS/SSL 加密之外,HDFS 和 HBase 通过远程过程调用 (RPC) 传输数据。为了确保这种传输的安全性,您必须启用 RPC 加密。

如何开启hdfs数据动态加密请参考
CDP集群安全指南-动态数据加密

5-加密-静态数据

简单的说,静态数据就是把数据再数据盘上进行加密,加密后即便数据盘被物理盗取,也无法读取数据内容。Cloudera 集群可以结合使用多种数据静态加密机制,包括 HDFS 透明加密和 Cloudera Navigator Encrypt。这两种数据静态加密机制都可以通过 Ranger KMS 的密钥管理功能进行增强。

如何开启hdfs数据静态加密请参考
CDP集群安全指南-静态数据加密​​​​​​​

相关文章:

​​​​​​​CDP集群安全指南系列文章导读

[一]大数据安全综述 1-认证 身份验证是任何计算环境的基本安全要求。简单来说,用户和服务必须在使用系统功能并获得授权之前,向系统证明其身份(进行身份验证)。身份验证与授权紧密配合,共同保护系统资源。大多数 CDH …...

MT8788安卓核心板_MTK8788核心板参数_联发科模块定制开发

MT8788安卓核心板是一款尺寸为52.5mm x 38.5mm x 2.95mm的高集成度电路板,专为各种智能设备应用而设计。该板卡整合了处理器、图形处理单元(GPU)、LPDDR3内存、eMMC存储及电源管理模块,具备出色的性能与低功耗特性。 这款核心板搭载了联发科的MT8788处理…...

【微软,模型规模】模型参数规模泄露:理解大型语言模型的参数量级

模型参数规模泄露:理解大型语言模型的参数量级 关键词: #大型语言模型 Large Language Model #参数规模 Parameter Scale #GPT-4o #GPT-4o-mini #Claude 3.5 Sonnet 具体实例与推演 近日,微软在一篇医学相关论文中意外泄露了OpenAI及Claud…...

深入理解并发原子性、可见性、有序性与JMM内存模型

1. 并发三大特性 并发编程Bug的源头:原子性、可见性和有序性问题 1.1 原子性 一个或多个操作,要么全部执行且在执行过程中不被任何因素打断,要么全部不执行。在 Java 中,对基本数据类型的变量的读取和赋值操作是原子性操作&…...

电商项目-数据同步解决方案(四)商品下架同步更新ES索引库数据

商品下架索引库删除数据 一、 需求分析和业务逻辑 商品下架后将商品从索引库中移除。 主要应用技术有: 消息队列-RabbitMQ ,分布式搜索引擎-ElasticSearch,Eureka,Canal,Feign远程调用 (1)在…...

vue学习第一阶段

vue 什么是Vue? 概念:Vue是一个构建用户页面的渐进式框架 Vue的两种使用方式 Vue的核心开发 场景: 局部 {\color{red}局部} 局部模块改造Vue核心包& Vue插件 工程化开发场景: 整站 {\color{red}整站} 整站开发Vue2官网 https://v2.cn.vuejs.org/ 资料存放地址 D:\Baidu…...

React虚拟DOM:理解和应用

写在前面 在现代前端开发中,React 是一个非常流行的 JavaScript 库,用于构建用户界面。它引入了一个名为“虚拟 DOM”(Virtual DOM)的概念,这个概念对于 React 的高效性能和易用性至关重要。本文将深入探讨 React Vir…...

用python编写一个放烟花的小程序

import pygame import random # 代码解释及使用说明: # 首先,导入 pygame 和 random 库。pygame 用于创建游戏窗口和图形绘制,random 用于生成随机数。 # 初始化 pygame,并设置屏幕尺寸为 800x600 像素,设置窗口标题为…...

Git 仓库与文件管理笔记

Git 的三种仓库概念 本地仓库 (Local Repository) 位于本地 .git 文件夹中通过 git init 或 git clone 创建存储完整的项目历史和分支信息 远程仓库 (Remote Repository) 位于 GitHub、GitLab 等平台服务器使用 git remote -v 查看所有远程仓库默认远程仓库名通常为 origin 工…...

2024 年 docker 提示index.docker.io

发现 docker 提示以下错误: Error response from daemon: Get "https://index.docker.io/v1/search?qnginx&n25": dialing index.docker.io:443 container via direct connection because has no HTTPS proxy: connecting to index.docker.io:443:…...

TCP粘/拆包----自定义消息协议

今天是2024年12月31日,今年的最后一天,希望所有的努力在新的一年会有回报。❀ 无路可退,放弃很难,坚持很酷 TCP传输 是一种面向二进制的,流的传输。在传输过程中最大的问题是消息之间的边界不明确。而在服务端主要的…...

Modbus知识详解

Modbus知识详解 ## 1.什么是Modbus?**顾名思义**,它是一个Bus(总线),即总线协议。比如串口协议、IIC协议、SPI都是通信协议。你接触到这种协议,相信你所处的行业是工业电子方面或者你的产品用于工业。好了&#xff0c…...

Java-创建一个结合CompletableFuture和自定义功能的工具类

1.重试机制:当异步任务失败时自动重试。 2.超时重试:在指定时间内未完成的任务进行重试。 3.批量处理:将多个任务批量执行并收集结果。 4.日志记录:为每个异步任务添加日志记录,便于调试和监控。 5.自定义线程池:允许用户传入自定义的线程池配置。 import java.util…...

【MATLAB第111期】基于MATLAB的sobol全局敏感性分析方法二阶指数计算

【MATLAB第111期】基于MATLAB的sobol全局敏感性分析方法二阶指数计算 一、简介 在MATLAB中计算Sobol二阶效应指数通常涉及到全局敏感性分析(Global Sensitivity Analysis, GSA),其中Sobol方法是一种流行的技术,用于评估模型输入…...

C语言-sprintf

sprintf是一个在C语言中用于字符串格式化的函数,其功能是将格式化的数据写入某个字符串中。该函数定义stdio.h在头文件中,原型为: int sprintf(char *string, const char *format, ...); 函数参数 ‌ string‌:指向一个字符数组的指针&#…...

APM 3.0.2 | 聚合B站、油管和MF的音乐播放器,支持歌词匹配

APM(Azusa-Player-Mobile)是一款基于B站的第三方音频播放器,现已扩展支持YouTube Music、YouTube、本地音乐、AList和MusicFree等平台。它不仅提供视频作为音频播放,还具备排行榜、分区动态等功能。用户可以通过添加Alist地址接入…...

Mono 和 IL2Cpp的区别

Mono特征: 标准项目中有Assembly-CSharp.dll , 但在更复杂的项目或特定配置中,可能会有其他.dll或结构变更 在游戏的数据目录下看到一系列的.dll文件,这些文件的语言一般为中间语言 CE附加 , 查看是否有Mono.dll相关模块 目录有MonoBleedingEdge文件夹 IL2Cpp 标准项目应该…...

力扣第389题—找不同

class Solution:def findTheDifference(self, s: str, t: str) -> str:# 对字符串 s 和 t 进行排序a sorted(s)b sorted(t)# 比较排序后的两个列表for i in range(len(a)):if a[i] ! b[i]:return b[i]# 如果前面的比较没有找到差异,那么差异字符在 t 的最后一个…...

我的桌面 1.9.75 | 个性化定制手机桌面,丰富的小组件和主题

我的桌面iScreen是一款万能桌面小组件APP,提供各种高颜值桌面主题与创意小组件自由组合。支持X面板、照片、待办清单、时钟、日历等实用有趣的小组件。拥有超过500种小组件供选择,包括灵动面板、滚动相册等,搭配300多种精美主题和高清壁纸&am…...

【Java项目】基于SpringBoot的【垃圾分类系统】

【Java项目】基于SpringBoot的【垃圾分类系统】 技术简介:本系统使用采用B/S架构、Spring Boot框架、MYSQL数据库进行开发设计。 系统简介:使用者分为管理员和用户、垃圾分类管理员,实现功能包括管理员:首页、个人中心、用户管理、…...

vscode里如何用git

打开vs终端执行如下: 1 初始化 Git 仓库(如果尚未初始化) git init 2 添加文件到 Git 仓库 git add . 3 使用 git commit 命令来提交你的更改。确保在提交时加上一个有用的消息。 git commit -m "备注信息" 4 …...

连锁超市冷库节能解决方案:如何实现超市降本增效

在连锁超市冷库运营中,高能耗、设备损耗快、人工管理低效等问题长期困扰企业。御控冷库节能解决方案通过智能控制化霜、按需化霜、实时监控、故障诊断、自动预警、远程控制开关六大核心技术,实现年省电费15%-60%,且不改动原有装备、安装快捷、…...

Cilium动手实验室: 精通之旅---20.Isovalent Enterprise for Cilium: Zero Trust Visibility

Cilium动手实验室: 精通之旅---20.Isovalent Enterprise for Cilium: Zero Trust Visibility 1. 实验室环境1.1 实验室环境1.2 小测试 2. The Endor System2.1 部署应用2.2 检查现有策略 3. Cilium 策略实体3.1 创建 allow-all 网络策略3.2 在 Hubble CLI 中验证网络策略源3.3 …...

【论文笔记】若干矿井粉尘检测算法概述

总的来说,传统机器学习、传统机器学习与深度学习的结合、LSTM等算法所需要的数据集来源于矿井传感器测量的粉尘浓度,通过建立回归模型来预测未来矿井的粉尘浓度。传统机器学习算法性能易受数据中极端值的影响。YOLO等计算机视觉算法所需要的数据集来源于…...

css3笔记 (1) 自用

outline: none 用于移除元素获得焦点时默认的轮廓线 broder:0 用于移除边框 font-size&#xff1a;0 用于设置字体不显示 list-style: none 消除<li> 标签默认样式 margin: xx auto 版心居中 width:100% 通栏 vertical-align 作用于行内元素 / 表格单元格&#xff…...

Spring数据访问模块设计

前面我们已经完成了IoC和web模块的设计&#xff0c;聪明的码友立马就知道了&#xff0c;该到数据访问模块了&#xff0c;要不就这俩玩个6啊&#xff0c;查库势在必行&#xff0c;至此&#xff0c;它来了。 一、核心设计理念 1、痛点在哪 应用离不开数据&#xff08;数据库、No…...

SAP学习笔记 - 开发26 - 前端Fiori开发 OData V2 和 V4 的差异 (Deepseek整理)

上一章用到了V2 的概念&#xff0c;其实 Fiori当中还有 V4&#xff0c;咱们这一章来总结一下 V2 和 V4。 SAP学习笔记 - 开发25 - 前端Fiori开发 Remote OData Service(使用远端Odata服务)&#xff0c;代理中间件&#xff08;ui5-middleware-simpleproxy&#xff09;-CSDN博客…...

在Mathematica中实现Newton-Raphson迭代的收敛时间算法(一般三次多项式)

考察一般的三次多项式&#xff0c;以r为参数&#xff1a; p[z_, r_] : z^3 (r - 1) z - r; roots[r_] : z /. Solve[p[z, r] 0, z]&#xff1b; 此多项式的根为&#xff1a; 尽管看起来这个多项式是特殊的&#xff0c;其实一般的三次多项式都是可以通过线性变换化为这个形式…...

怎么让Comfyui导出的图像不包含工作流信息,

为了数据安全&#xff0c;让Comfyui导出的图像不包含工作流信息&#xff0c;导出的图像就不会拖到comfyui中加载出来工作流。 ComfyUI的目录下node.py 直接移除 pnginfo&#xff08;推荐&#xff09;​​ 在 save_images 方法中&#xff0c;​​删除或注释掉所有与 metadata …...

解决:Android studio 编译后报错\app\src\main\cpp\CMakeLists.txt‘ to exist

现象&#xff1a; android studio报错&#xff1a; [CXX1409] D:\GitLab\xxxxx\app.cxx\Debug\3f3w4y1i\arm64-v8a\android_gradle_build.json : expected buildFiles file ‘D:\GitLab\xxxxx\app\src\main\cpp\CMakeLists.txt’ to exist 解决&#xff1a; 不要动CMakeLists.…...