Loading [MathJax]/jax/output/CommonHTML/config.js
前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >专栏 >Kerberos 身份验证在 ChunJun 中的落地实践

Kerberos 身份验证在 ChunJun 中的落地实践

原创
作者头像
袋鼠云数栈
发布于 2022-12-16 06:52:31
发布于 2022-12-16 06:52:31
1.7K0
举报
文章被收录于专栏:数栈技术分享数栈技术分享

Kerberos,在古希腊神话故事中,指的是一只三头犬守护在地狱之门外,禁止任何人类闯入地狱之中。

那么在现实中,Kerberos 指的是什么呢?

一、Kerberos 介绍

01 Kerberos 是什么

根据百度词条释义,Kerberos 是一种计算机网络授权协议,用来在非安全网络中,对个人通信以安全的手段进行身份认证。Kerberos 旨在通过密钥加密技术为客户端 / 服务器应用程序提供身份验证,主要用在域环境下的身份验证。

在此之前,通常只有服务器的运维管理人员在配置 Active Directory 之类的东西时才会接触到 Kerberos,但随着大数据的流行,整个 Hadoop 生态圈在安全方面对于 Kerberos 愈发依赖,同时由于 Kerberos 认证必须入侵式改造代码的特点,使得越来越多的大数据开发同学开始接触到 Kerberos。

02 Kerberos 解决了什么问题

目前用于身份密码的验证主要面临两个问题:首先是人工记忆的密码混乱且易遗忘,一些比较简单的密码又容易被攻击;其次是技术错觉,在计算机上的输入密码时显示的是一串星号,大家误以为很安全,实际上计算机通过网络发送密码基本是发送 “明文” 密码,大部分密码都处于 “裸奔” 状态。

Kerberos 的出现很好的解决了这个问题,它减少了每个用户使用整个网络时必须记住的密码数量 —— 只需记住 Kerberos 密码,同时 Kerberos 结合了加密和消息完整性来确保敏感的身份验证数据不会在网络上透明地发送。通过提供安全的身份验证机制,Kerberos 为最终用户和管理员提供了明显的好处。

03 Kerberos 基本概念

principal 是 Kerberos 世界的用户名,用于标识身份,每个用户都会有一个 principal,如果 principal 失效或者不正确,那么这个用户将无法访问任何资源。principal 主要由三部分构成:primary,instance (可选) 和 realm。

● primary

主体,每个 principal 都会有的组成部分,代表用户名(username)或服务名(service name)。

● instance

用于服务主体以及用来创建用于管理的特殊主体。instance 用于服务主体时的一般会用于区分同一服务在不同服务器上的服务实例,因此与 primary 组成的 principal 一般用于 server 端,如:NameNode,HiverServer2,Presto Coordinator 等。

instance 用来创建用于管理的特殊主体时,一般来区分同一个用户的不同身份,如区分担任管理员角色的 a 用户与担任研发的 a 用户。

● realm

realm 是认证管理域名,用来创建认证的边界,只有在同属于一个认证服务的边界内,这个认证服务才有权利认证一个用户、主机或者服务。每个域都会有一个与之对应的 kdc 服务用于提供域内的所有服务的认证服务。

● keytab

"密码本",包含了多个 principal 与密码的文件,用户可以利用该文件进行身份认证。

● ticket cache

客户端与 KDC 交互完成后,包含身份认证信息的文件,短期有效,需要不断 renew。

04 Kerberos 的认证简介

参与 Kerberos 认证过程中的角色:

  1. 访问服务的 Client;
  2. 提供服务的 Server;
  3. DC 是 Domain Controller 的缩写,即域控制器;AD 是 Active Directory 的缩写,即活动目录。DC 中有一个特殊用户叫做 krbtgt,它是一个无法登录的账户,是在创建域时系统自动创建的,在整个 Kerberos 认证中会多次用到它的 Hash 值去做验证。
  4. KDC(Key Distribution Center)密钥分发中心。在 KDC 中又分为两个部分:Authentication Service (AS,身份验证服务) 和 Ticket Granting Service (TGS)
  5. AD 会维护一个 Account Database (账户数据库), 它存储了域中所有用户的密码 Hash 和白名单,只有账户密码都在白名单中的 Client 才能申请到 TGT。

05 Kerberos 详细认证流程

1. Client with AS

客户端(Client)向 AS(Authentication Service)发送请求获取 TGT(ticket grant ticket)

2. Client with TGS

客户端(Client)向 TGS(Ticket Granting Service,)发送请求获取 ST(Service Ticke)

客户端(Client)向服务端(Server)发送认证请求进行认证,如果客户端(Client)要求进行双向认证,服务端(Server)额外发送认证请求至客户端(Client)进行认证。

3.Kerberos 与 JAAS 可插拔的认证模块

JAAS jdk 在 1.4 引入的一种可插拔的认证模块( Pluggable Authentication Module,PAM )的安全体系结构,这意味着可以通过改变模块,支持从一种安全协议组件无缝的切换到另一个协议组件。

同时这种体系架构定义的接口无需修改代码即可实现加入多种认证技术和授权机制,因为 JAAS API 定义了应用程序代码与实际验证逻辑之间的抽象,这个抽象不用重新编译现有的应用程序代码就可以作为登录模块的运行时替代。

这种实现方式是通过应用程序只调用 LoginContext 接口,而认证技术的实际提供程序则是基于 LoginModule 接口进行开发的,在运行时 LoginContext 通过读取配置文件确定使用哪些认证模块来对应用程序进行认证。

二、ChunJun 任务提交中的 Kerberos 认证

接下来我们来大家介绍下 ChunJun 任务提交中的 Kerberos 认证,我们可以参考 ChunJun 的 readme 文档中的 yarn session 部分:

https://github.com/DTStack/chunjun/blob/master/README_CH.md

01 Flink 提交流程中的 Kerberos

首先,我们需要启动一个 yarn session 环境,进入 Flink 的 bin 目录下执行 yarn-session 脚本启动 flink session 并使用 -t 参数上传 ChunJun 的依赖包。

当我们执行 yarn-session 时,脚本内部会调用 java 命令运行 FlinkYarnSessionCli 这个类的 main 方法。在 FlinkYarnSessionCli 的 main 方法中,首先需要安装一个全过程的安全配置,然后获得一个安装后的上下文,并且在上下文中运行 run 方法。

在 run 方法中我们构建了一个 YarnClusterDescripter 对象,这个对象中封装了 Flink 所依赖的配置文件和 jar 包等。而后再调用 YarnClusterDescripter 对象的 DeploySessionClister 方法将任务提交到 yarn 集群。至此完成了 Flink session 到 Yarn 的一个提交。

我们再回顾下整体的提交流程:

● Flink => HDFS

Flink 需要将配置文件以及 session 所依赖的 jar 上传至 HDFS,因此需要与 HDFS 进行通信

● Flink => Yarn

Flink 需要向 Yarn 申请资源,因此需要与 Yarn 进行通信

Flink => Zookeeper

如果 Flink 配置了基于 zookeeper 的高可用,那么 JobManager 需要在 Zookeeper 注册 leader 节点,客户端还需要从 Zookeeper 上的 leader 节点获取 webMonitorUrl,因此需要与 Zookeeper 通信

02 Flink SecurityUtils 作用于 Kerberos 认证

1.SecurityUtils.java

2.SecurityUtils#install 方法中首先通过 installModules 方法对 Flink 内部的安全模组进行了 install(其中包括 Hadoop、Jaas、Zookeeper 模组)

3.SecurityUtils#installContext 方法对安全上下文进行初始化(获得 HadoopSecurityContext,其中包含这 hadoop 的认证凭证 ugi)

03 Flink Hadoop Kerberos 认证

$Flink_HOME/conf/Flink-conf.yaml

security.Kerberos.login.use-ticket-cache: 是否从你的 Kerberos ticket 缓存中读取

security.Kerberos.login.keytab: 包含用户凭证的 Kerberos keytab 文件的绝对路径。

security.Kerberos.login.principal: 与 keytab 相关的 Kerberos principal 名称。

security.Kerberos.krb5-conf.path:指定 krb5.conf 文件的本地位置。如果定义了,这个 conf 将被挂载到 Kubernetes、Yarn 和 Mesos 的 JobManager 和 TaskManager 容器 / 桶上。注意:需要在容器内部可访问到定义的 KDC 的地址。

security.Kerberos.login.contexts: 用逗号分隔的登录上下文列表,以提供 Kerberos 凭证(例如,Client,KafkaClient 用于 ZooKeeper 认证和 Kafka 认证的凭证)。

zookeeper.sasl.service-name: 默认为 "zookeeper"。如果 ZooKeeper quorum 配置了一个不同的服务名称,那么可以在这里提供。

zookeeper.sasl.login-context-name: 默认为 "Client"。该值需要与 "security.Kerberos.login.contexts" 中配置的值之一相匹配。

04 ChunJun 提交流程中的 Kerberos

执行 ChunJun-Yarn-session.sh 提交任务,ChunJun-Yarn-session.sh 实际上只是对任务的脚本路径进行了检查校验,然后再执行 submit.sh 脚本启动任务提交进程。

Launcher 的 main 方法中主要对不同的任务执行模式进行区分并交给各个模式具体的任务提交类去提交任务。

YarnSessionClusterClientHelper 将任务的配置以及依赖的 jar 进行组装获得 YarnClusterDescriptor 对象。再将任务提交到对应的 Flink session 上。

三、ChunJun Connector 中的 Kerberos 认证

接下来为大家介绍 ChunJun Connector 中的 Kerberos 认证 。

01ChunJun 插件中的 Kerberos

以 ChunJun HDFS Connector 为例:

插件在 openInputFormat 方法中会对任务的目标数据源 HDFS 是否开启了 Kerberos 进行判断,如果开启了 Kerberos,则会根据配置的认证文件进行认证并获取认证后的 ugi,ugi 可以认为是之后插件与 HDFS 通信的用户凭证,里面保存着用户的认证信息.

02 如何进行 Kerberos 认证

● OpenInputFormat 方法

OpenInputFormat 方法是 Flink 对算子的每个实例进行初始化是都会执行的方法,ChunJun 的 BaseRichInputFormat 也实现了该方法,我们开发插件也都会去实现该方法。

对于每个算子实例来说,Kerberos 认证只会进行一次(不包括认证过期后的刷新),因此 Kerberos 认证的代码应该在该方法中实现.

● 开发 hadoop 生态中的数据源组件

一般而言,Hadoop 生态中的数据源组件如:HDFS、HBaseHive 等都是用 ugi(UserGroupInformation) 进行 Kerberos 认证。

ChunJun 内部也提供了相关的工具类用于获取登录后的 ugi:com.dtstack.ChunJun.util.FileSystemUtil#getUGI

● 开发 Zookeeper、Kafka 等组件

这类组件开启 Kerberos 认证后,用户需要在插件端配置 jaas.conf 文件,再通过各个组件提供的参数配置项配置组件所选用的 jaas.conf 的 entry,即可完成 Kerberos 配置。

03 如何排查 Kerberos 认证问题

$Flink_HOME/conf/Flink-conf.yaml

#jvm 启动参数中增加 “-Dsun.security.krb5.debug=true”

env.java.opts:用于配置启动所有 Flink 进程的 JVM 参数

env.java.opts.jobmanager:用来配置启动 JobManager 的 JVM 参数

env.java.opts.taskmanager:用来配置启动 TaskManager 的 JVM 参数

env.java.opts.historyserver:用来配置启动 HistoryServer 的 JVM 参数

env.java.opts.client:用来配置启动 Flink Client 的 JVM 参数

04 Kerberos 认证常见问题

1.javax.security.sasl.SaslException: GSS initiate failed [Caused by GSSException: No valid credentials provided (Mechanism level: Failed to find any Kerberos tgt)]

此消息表明一个操作尝试要求以 Kerberos 的 user/host@realm 身份认证的操作,但票据 cache 中没有用于 user/host@realm 的票据。

用户环境引用的策略 / 票证缓存文件丢失、不可读(权限)、损坏或无效票证续签寿命设置为零

票证授予票证(TGT)不存在,因为服务 A 需要将命令作为服务 B 运行,但尚未正确配置为允许模拟服务 B

票证更新尚未执行 / 未成功。这可能是由于 CDH 5.3 之前的 HBASE 或 CDH5.2 之前的 Hive / Sentry 缺陷引起的

该用户的凭据尚未在 KDC 中生成

执行了手动步骤,例如 hadoop fs -ls,但是用户从未通过 Kerberos 身份验证

Oracle JDK 6 Update 26 或更早版本无法读取由 MIT Kerberos 1.8.1 或更高版本创建的 Kerberos 凭证高速缓存。

某些版本的 Oracle JDK 8 可能会遇到此问题

2.javax.security.sasl.SaslException: GSS initiate failed [Caused by GSSException: No valid credentials provided (Mechanism level: Fail to create credential. (63) - No service creds)]

由 JDK 缺陷引起

票证消息对于 UDP 协议而言太大

主机未正确映射到 Kerberos 领域

3.Found unsupported keytype(18)

确保正确安装了与 JDK 相匹配的无限强度策略文件的正确版本

确保对策略文件(位于 jdk 目录中,例如 /usr/java/jdk1.7.0_67-cloudera/jre/lib/security/)的许可权能够被所有用户读取。

确保文件已部署到集群软件正在使用的 jdk 中

有关详细信息,使用以下的(链接以匹配关键字类型号 18 在该实例中)将其加密类型 http://www.iana.org/assignments/Kerberos-parameters/Kerberos-parameters.xml(AES256-CTS-HMAC - 此示例为 sha1-96)

4.GSSException: No valid credentials provided (Mechanism level: Server not found in Kerberos database (7) - UNKNOWN_SERVER)

hostname 或要访问的 URL 与 keytab 中列出的主机之间发生主机名不匹配。造成这种情况的原因多种多样,包括但不限于:

多网卡(NIC)服务器,以使来自主机的数据包的 IP 地址与通过主机解析返回的 IP 不匹配

负载平衡器和后续的主机名解析问题

DNS 和主机名解析问题 / 不一致

反向 DNS(必需)主机名解析问题 / 不一致

在 krb5.conf 中主机正在映射到参数 [domain_realm] 的错误域,这或者是通过其他的 krb5.conf 配置,或者是通过 KDC 配置。默认参数情况下,除非使用 [domain_realm] 等进行显式配置,否则主机名(例如:“ crash.EXAMPLE.com ”)将映射到域 “ EXAMPLE.com ” 。请参见 MIT Kerberos 文档:[domain_realm]

如果尝试在 Cloudera Manager 中执行 “Generate Credentials” 步骤(在更高版本中重命名为 “ Generate Missing Credentials ”)时发生此错误,则可能是由于导入到 Cloudera Manager 数据库中的管理员帐户详细信息不再与主机匹配,例如 Cloudera Manager 服务器的主机名在上一次导入后随后更改了。

视频回放

  • 视频回看:

https://www.bilibili.com/video/BV1mD4y1h7ce/?spm_id_from=333.999.0.0

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
Hadoop Authentication
我被被派去做别的事情了,所以与Hadoop相关的工作就只能搁下。写篇总结,把最近遇到的和kerberos相关的东西列一下。 JAAS是Java 认证和授权服务(Java Authentication and Authorization Service)的缩写,是PAM框架的Java实现。 javax.sercurity.auth.Subject是一个不可继承的实体类,它表示单个实体的一组相关信息,与请求的来源相关。 javax.security.auth.Principal是一个接口,表示带有不同类型凭证的标识,基本上来说,Principal可以是任意对象。 JAAS的授权机制主要就是围绕着Subject和Principal。关于JAAS比较详细的参考是这里:http://docs.oracle.com/javase/6/docs/technotes/guides/security/jaas/JAASRefGuide.html 几个比较重要的java属性: java.security.krb5.realm java.security.krb5.kdc java.security.krb5.conf hadoop的身份认证和授权都是建立在JAAS之上。 hadoop.security.authentication属性有2种值: simple: Security is disabled。 kerberos: Security is enabled。 org.apache.hadoop.security.UserGroupInformation有一个静态方法:getCurrentUser()。它会返回一个UserGroupInformation类的实例(以下简称UGI)。如果subject为空,或者这个subject中与org.apache.hadoop.security.User对应的Principal为空,那么说明尚未登录过,调用getLoginUser()创建UserGroupInformation的实例。 getLoginUser()的流程: 1.创建LoginContext: name:如果hadoop.security.authentication等于”kerberos”,那么是“hadoop-user-kerberos”或者“hadoop-keytab-kerberos”,否则是“hadoop-simple”。它的主要作用是作为appName传递给UserGroupInformation.HadoopConfiguration.getAppConfigurationEntry(String appName)方法。 subject: callbackHandler: 空 Configuration: UserGroupInformation.HadoopConfiguration的实例。 2.login.login(); 这个会调用HadoopLoginModule的login()和commit()方法。 HadoopLoginModule的login()方法是一个空函数,只打印了一行调试日志 LOG.debug("hadoop login"); commit()方法负责把Principal添加到Subject中。 此时一个首要问题是username是什么? 在使用了kerberos的情况下,从javax.security.auth.kerberos.KerberosPrincipal的实例获取username。 在未使用kerberos的情况下,优先读取HADOOP_USER_NAME这个系统环境变量,如果不为空,那么拿它作username。否则,读取HADOOP_USER_NAME这个java环境变量。否则,从com.sun.security.auth.NTUserPrincipal或者com.sun.security.auth.UnixPrincipal的实例获取username。 如果以上尝试都失败,那么抛出异常LoginException("Can’t find user name")。 最终拿username构造org.apache.hadoop.security.User的实例添加到Subject中。 测试登录: HADOOP_JAAS_DEBUG=true HADOOP_ROOT_LOGGER=DEBUG,console  bin/hadoop  org.apache.hadoop.security.UserGroupInformation 其中,UGI应该是这样的形式: UGI: host/xx.xx.xx.com@xx.xx.com (auth:KERBEROS)
星哥玩云
2022/07/01
4680
Centos7.9安装kerberos
亲测可用,之前搜索了很多博客,啥样的都有,就是不介绍报错以及配置用处,根本不懂照抄那些配置是干啥的,稀里糊涂的按照博客搭完也跑不起来,因此记录这个。
刘大猫
2025/01/15
1010
Windows Kerberos客户端配置并访问CDH
本文档描述Windows Server2008 R2(windows的内核版本是6.1,与windows 7相同)下安装Kerberos Client及FireFox下HTTP访问HDFS、Yarn、Hive、HBase等Hadoop服务的Web UI(如Namenode的50070,Yarn的8088)的过程。安装文档主要分为以下几步:
Fayson
2018/03/29
7.9K2
Windows Kerberos客户端配置并访问CDH
看完您如果还不明白 Kerberos 原理,算我输!
强大的身份验证和建立用户身份是 Hadoop 安全访问的基础。用户需要能够可靠地 “识别” 自己,然后在整个 Hadoop 集群中传播该身份。完成此操作后,这些用户可以访问资源(例如文件或目录)或与集群交互(如运行 MapReduce 作业)。除了用户之外,Hadoop 集群资源本身(例如主机和服务)需要相互进行身份验证,以避免潜在的恶意系统或守护程序 “冒充” 受信任的集群组件来获取数据访问权限。
create17
2019/08/30
17.4K0
[1067]CDH6.3.2之Kerberos安全认证
Kerberos是一种计算机网络授权协议,用来在非安全网络中,对个人通信以安全的手段进行身份认证。这个词又指麻省理工学院为这个协议开发的一套计算机软件。软件设计上采用客户端/服务器结构,并且能够进行相互认证,即客户端和服务器端均可对对方进行身份认证。可以用于防止窃听、防止重放攻击、保护数据完整性等场合,是一种应用对称密钥体制进行密钥管理的系统。
周小董
2021/11/11
1.2K0
[1067]CDH6.3.2之Kerberos安全认证
一文搞懂hadoop中的用户
又有一段时间没有更新了,最近忙着搬砖的同时,也填了一些坑,其中不少坑是有关联的,甚至其中有一个配置项接连引发了两三个问题,后续打算逐个总结输出,这里先进行一些铺垫~
陈猿解码
2023/02/28
1.4K0
一文搞懂hadoop中的用户
基于Kerberos环境下,使用Java连接操作Hive
虽然可以使用 Hive 服务本身的 Principal 与 keytab 来连接 Hive ,但使用服务本身的 principal 不具有普遍性,所以还是建议使用自定义的 Principal 。
create17
2019/08/20
10K1
hive metastore配置kerberos认证
hive从3.0.0开始提供hive metastore单独服务作为像presto、flink、spark等组件的元数据中心。但是默认情况下hive metastore在启动之后是不需要进行认证就可以访问的。所以本文基于大数据组件中流行的kerberos认证方式,对hive metastore进行认证配置。
从大数据到人工智能
2022/01/18
1.2K0
hive metastore配置kerberos认证
配置客户端以安全连接到Kafka集群- Kerberos
这是有关Apache Kafka安全性的简短博客文章系列的第一部分。在本文中,我们将说明如何配置客户端以使用不同的身份验证机制对集群进行身份验证。
大数据杂货铺
2021/02/07
5.9K0
Apache Nifi集群搭建及用kerberos实现用户认证
最近这段时间在接触数据流式处理方面的事宜,用到了Apache NIFI现把安装配置中学习的一些经验分享下。此篇文章主要是针对集群及用户权限方面,关于 Apache NIFI 的介绍就不做过多的说明,直接引用官方的首页的说明如下图所示:
凡梦星尘
2024/11/20
2390
Apache Nifi集群搭建及用kerberos实现用户认证
CDP私有云基础版用户身份认证概述
对于任何计算环境来讲,身份验证是最基本的安全要求。简单来说,用户和服务必须先向系统证明其身份(身份验证),然后才能在授权范围内使用系统功能。身份验证和授权携手并进,以保护系统资源。授权有多种方式处理,从访问控制列表(ACL)到HDFS扩展的ACL,再到使用Ranger的基于角色的访问控制(RBAC)。
大数据杂货铺
2021/03/09
2.5K0
安全知识&kerberos初识
问题一 kinit alice beeline -u “jdbc:hive2://baogang2:10000/default;principal=hive/baogang2@TDH” 请问这个beeline连接到inceptor中之后,当前用户是谁?principal=hive/baogang2@TDH指的又是什么? 当前用户是baogang2 principal=hive/baogang2@TDH指的是在baogang2的权限下使用hive 问题二 尝试写一个访问
小爷毛毛_卓寿杰
2019/02/13
1K0
安全知识&kerberos初识
Kerberos基本概念及原理汇总
强大的身份验证和建立用户身份是Hadoop安全访问的基础。用户需要能够可靠地“识别”自己,然后在整个Hadoop集群中传播该身份。完成此操作后,这些用户可以访问资源(例如文件或目录)或与集群交互(如运行MapReduce作业)。除了用户之外,Hadoop集群资源本身(例如主机和服务)需要相互进行身份验证,以避免潜在的恶意系统或守护程序“冒充”受信任的集群组件来获取数据访问权限。
create17
2019/01/06
12.5K0
Kerberos基本概念及原理汇总
「EMR 运维指南」之 Kerberos 跨域互信配置
本文以Cluster-A跨域去访问Cluster-B中的服务为例。配置完成后,Cluster-A在获取到本集群KDC授予的TGT(Ticket Granting Ticket)后,能够跨域访问Cluster-B中的服务。本文配置的跨域互信是单向的,即Cluster-B无法跨域访问Cluster-A上的服务,如果需要实现双向跨域互信,按照同样的方法交换配置即可。 在两个集群在emr-header-1节点上,执行 hostname 命令获取hostname。在emr-header-1节点的/etc/krb5.conf文件中获取realm。本文使用的两个集群信息示例如下:
岳涛
2023/11/24
8620
「EMR 运维指南」之 Kerberos 跨域互信配置
0751-7.0.3-如何在CDP DC7.0.3中启用Kerberos
在前面的文章中,Fayson介绍了《0733-7.0.3-如何在Redhat7.6中安装CDP DC7.0.3》,这里我们基于这个环境开始安装Kerberos。Kerberos是一个用于安全认证的第三方协议,并不是Hadoop专用,你可以将其用于其他系统。它采用了传统的共享秘钥方式,实现了在网络环境下不一定保证安全的环境下,Client和Server之间的通信,适用于Client/Server模型,由MIT开发和实现。而使用CDP DC可以较为轻松的实现洁面后的Kerberos集成,本文Fayson主要介绍如何在Readhat7.2的CDP DC7.0.3环境中启用Kerberos。
Fayson
2020/02/24
1.5K0
0751-7.0.3-如何在CDP DC7.0.3中启用Kerberos
添加kerberos后,Flink任务的运行认证及各组件的认证
https://www.psvmc.cn/article/2022-11-08-bigdata-kerberos-centos.html
码客说
2023/08/11
1.5K0
离线数仓之Kerberos基本使用及问题记录
我查找了很久,还是没有找到这个错误的解决方法。因为我的配置是没有问题的,所以猜想会不会是浏览器的问题,没想到,重启火狐浏览器,再次访问HDFS真的就可以有权限访问文件了
WHYBIGDATA
2023/01/31
7900
离线数仓之Kerberos基本使用及问题记录
[1126]kerberos认证相关问题
KERBEROS安装完以后hdfs命令不能正常使用,修改:重启ambari-server ipactl
周小董
2022/04/28
1.6K0
[1126]kerberos认证相关问题
【大数据安全】基于Kerberos的大数据安全验证方案
互联网从来就不是一个安全的地方。很多时候我们过分依赖防火墙来解决安全的问题,不幸的是,防火墙是假设“坏人”是来自外部的,而真正具有破坏性的攻击事件都是往往都是来自于内部的。
mantou
2018/12/06
1.2K0
基于ambari的Kerberos安装配置
对于Kerberos系统来说,默认使用的 AES-256来进行加密。在集群启用Kerberos之前,必须在Ambari集群上的每个节点上都装有JCE。
create17
2019/01/01
3.8K0
基于ambari的Kerberos安装配置
相关推荐
Hadoop Authentication
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档