当前位置: 首页 > 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数据库进行开发设计。 系统简介:使用者分为管理员和用户、垃圾分类管理员,实现功能包括管理员:首页、个人中心、用户管理、…...

19c补丁后oracle属主变化,导致不能识别磁盘组

补丁后服务器重启,数据库再次无法启动 ORA01017: invalid username/password; logon denied Oracle 19c 在打上 19.23 或以上补丁版本后,存在与用户组权限相关的问题。具体表现为,Oracle 实例的运行用户(oracle)和集…...

Appium+python自动化(十六)- ADB命令

简介 Android 调试桥(adb)是多种用途的工具,该工具可以帮助你你管理设备或模拟器 的状态。 adb ( Android Debug Bridge)是一个通用命令行工具,其允许您与模拟器实例或连接的 Android 设备进行通信。它可为各种设备操作提供便利,如安装和调试…...

【SpringBoot】100、SpringBoot中使用自定义注解+AOP实现参数自动解密

在实际项目中,用户注册、登录、修改密码等操作,都涉及到参数传输安全问题。所以我们需要在前端对账户、密码等敏感信息加密传输,在后端接收到数据后能自动解密。 1、引入依赖 <dependency><groupId>org.springframework.boot</groupId><artifactId...

Springcloud:Eureka 高可用集群搭建实战(服务注册与发现的底层原理与避坑指南)

引言&#xff1a;为什么 Eureka 依然是存量系统的核心&#xff1f; 尽管 Nacos 等新注册中心崛起&#xff0c;但金融、电力等保守行业仍有大量系统运行在 Eureka 上。理解其高可用设计与自我保护机制&#xff0c;是保障分布式系统稳定的必修课。本文将手把手带你搭建生产级 Eur…...

【配置 YOLOX 用于按目录分类的图片数据集】

现在的图标点选越来越多&#xff0c;如何一步解决&#xff0c;采用 YOLOX 目标检测模式则可以轻松解决 要在 YOLOX 中使用按目录分类的图片数据集&#xff08;每个目录代表一个类别&#xff0c;目录下是该类别的所有图片&#xff09;&#xff0c;你需要进行以下配置步骤&#x…...

技术栈RabbitMq的介绍和使用

目录 1. 什么是消息队列&#xff1f;2. 消息队列的优点3. RabbitMQ 消息队列概述4. RabbitMQ 安装5. Exchange 四种类型5.1 direct 精准匹配5.2 fanout 广播5.3 topic 正则匹配 6. RabbitMQ 队列模式6.1 简单队列模式6.2 工作队列模式6.3 发布/订阅模式6.4 路由模式6.5 主题模式…...

JS手写代码篇----使用Promise封装AJAX请求

15、使用Promise封装AJAX请求 promise就有reject和resolve了&#xff0c;就不必写成功和失败的回调函数了 const BASEURL ./手写ajax/test.jsonfunction promiseAjax() {return new Promise((resolve, reject) > {const xhr new XMLHttpRequest();xhr.open("get&quo…...

三分算法与DeepSeek辅助证明是单峰函数

前置 单峰函数有唯一的最大值&#xff0c;最大值左侧的数值严格单调递增&#xff0c;最大值右侧的数值严格单调递减。 单谷函数有唯一的最小值&#xff0c;最小值左侧的数值严格单调递减&#xff0c;最小值右侧的数值严格单调递增。 三分的本质 三分和二分一样都是通过不断缩…...

Qt 事件处理中 return 的深入解析

Qt 事件处理中 return 的深入解析 在 Qt 事件处理中&#xff0c;return 语句的使用是另一个关键概念&#xff0c;它与 event->accept()/event->ignore() 密切相关但作用不同。让我们详细分析一下它们之间的关系和工作原理。 核心区别&#xff1a;不同层级的事件处理 方…...

【Linux手册】探秘系统世界:从用户交互到硬件底层的全链路工作之旅

目录 前言 操作系统与驱动程序 是什么&#xff0c;为什么 怎么做 system call 用户操作接口 总结 前言 日常生活中&#xff0c;我们在使用电子设备时&#xff0c;我们所输入执行的每一条指令最终大多都会作用到硬件上&#xff0c;比如下载一款软件最终会下载到硬盘上&am…...