首页 > 其他分享 >HDFSRPC安全认证Token篇推广

HDFSRPC安全认证Token篇推广

时间:2024-03-22 09:33:06浏览次数:15  
标签:验证 token yarn 认证 blog HDFSRPC Token

本文主要阐述HDFSRPC安全认证相关的实现。主要介绍Token相关的实现。

写在前面

相关blog

https://blog.csdn.net/hncscwc/article/details/124722784

https://blog.csdn.net/hncscwc/article/details/124958357

Token由来

在探究完Kerberos,我一直在想一个问题,rpcConnection已经完成了验证,那为何还需要token?首先需要对yarn有一定的了解,我们知道mapreduce框架是把目标变成多个map,然后reduce出结果。Yarn在执行多个map、reduce的时候,是通过container来运行的。Container本质上是一个独立程序,执行了yarn分配的任务。当Container进程要去访问hdfs的时候,如果使用Kerberos,kdc验证服务存在的不可靠和性能问题(多机多container并发极高)必然会极大的限制大数据平台的稳定,尤其是当有大量用户请求需要通过kdc来获取tgt票据时。因此Token认证被引入充当kerberos的补充,在兼顾安全认证的同时,性能没有较大的损耗。在hadoop中,token主要包括DelegationToken,以及其他一些token,例如之前文件介绍过的BlockToken,以及yarn中一系列的token。

Token中yarn container流程图

1863_1.png

Token的应用

当完成kerberos验证以后,服务主体的可以通过getDelegationToken接口来获取token。当服务主体下面的的进程需要去访问hdfs的时候,可以通过token来访问。

Token的验证也在rpc的sasl中,但是步骤跟简单,如下:

1863_2.png

server当收到client negotiate请求以后,会返回多个auth。

auths {
  method: "TOKEN"
  mechanism: "DIGEST-MD5"
  protocol: ""
  serverId: "default"
  challenge: "realm=\"default\",nonce=\"svFDnzmhsk40oN5z6vnUFgYgawR17w+XvxiX1Z3M\",charset=utf-8,algorithm=md5-sess"
}
auths {
  method: "KERBEROS"
  mechanism: "GSSAPI"
  protocol: "root"
  serverId: "node17"
}

client接收完negotiate应答后,可以通过服务主体获取的token来initSaslClient,然后发送Initiate请求。Server接收到Initiate请求,会通过token初始化saslServer,不同于Kerberos,saslserver验证完token会立马complete。这时候server会直接返回success应答给客户端。客户端接收到success应答以后即完成SaslClient的初始化。

可以看出token验证的整个过程更简单,而且本质上就是server验证了一下client的token,消耗更少,性能更高。

token验证本身与用户密码生成没有任何关系,主要都是java原生类来实现。代码如下:

继续阅读https://blog.csdn.net/zfpigpig/article/details/136710003

标签:验证,token,yarn,认证,blog,HDFSRPC,Token
From: https://www.cnblogs.com/zfpigpig/p/18088732

相关文章

  • OSPF Demo1 认证、BR优先级、RID、缺省路由宣告
     拓扑图计算开销值经过计算,R1到4.4.4.4的Cost值为49R4S2/0/0的开销=100/2.048≈48R1G0/0/0的开销=1验证:displayiprouting-tableprotocolospf各个路由器配置命令syssysnameR1intg0/0/0ipadd192.168.0.124ospfdr-pri200ospf1router-id1.1.1......
  • Ubuntu部署Maxkey单点登录认证系统
    1:基础环境ubuntu-23.10-live-server-amd64.isoDockerversion24.0.5,build24.0.5-0ubuntu1MaxKey-v4.0.2-GA2:Git克隆远程仓库到本地gitclonehttps://gitee.com/dromara/MaxKey.git3:安装MaxKey3-1:进入/root/MaxKey/docker目录cd/root/MaxKey/docker3-2:查看/root......
  • 身份证ocr,python身份证识别ocr接口代码,实名认证接口
    基于文字识别技术产物的身份证识别接口现已成熟,通过手机、电脑或者摄像头终端设备拍照或者上传身份证图片即可实现身份证照片上文字的识别,从而提取到身份证信息。翔云除了提供身份证识别接口外,还完善了实名认证接口方案,搭配翔云身份证实名认证接口可谓是效率翻倍。身份证......
  • ES9200端口漏洞添加授权:es集群添加用户安全认证功能(Set up basic security for the E
    hR0wZPaaSHmi-slI0GAVMw文章目录引言I设置访问密码1.1每个集群节点都需要编辑elasticsearch.yml文件1.2生成elastic-certificates.p121.3重启ES集群1.4创建Elasticsearch集群密码1.5访问验证1.6kibana设置elasticsearch帐号密码1.7logstash......
  • JWT(JSON WEB TOKEN)是玩具吗
    JWT当然不是玩具,理解其设计意图,和适用场景自然会发现存在的就是有价值的JWT:JSONWebToken起源和定义JWT(JSONWebToken)是由IETF(InternetEngineeringTaskForce)基于RFC7519规范定义的。它是一种用于在网络应用间传递信息的标准方法。JWT最初由无状态的分布式应用场......
  • (C++20) jthread中stop_token的基础使用
    (C++20)jthread中stop_token的基础使用文章目录(C++20)jthread中stop_token的基础使用C++20jthread使用方式循环判断条件变量condition_variable_anystop回调std::stop_callbackENDC++20jthreadstd::jthread-cppreference.comstd::stop_token-cpprefere......
  • JWT令牌-登录认证
    1.JWT令牌组成Header(头),记录令牌类型和签名算法等PayLoad(载荷),携带自定义的信息Signature(签名),对头部和载荷进行加密计算得来用于登录认证承载业务数据,减少后续请求查询数据库的次数防篡改,保证信息的合法性和有效性2.使用引入java-jwt坐标调用API生成或验证......
  • ios如何调用身份证实名认证接口-身份证识别-护照识别接口
    身份证实名认证接口如何调用?翔云人工智能开放平台了解到,越来越多的企业用户需要集成身份证实名认证接口,但在实现功能的过程中,总会遇到各种各样的问题,对此翔云提供了当下主流语言的调用代码示例,下载即可集成!以下是基于ios的身份证核验接口调用代码示例:importAlamofireclassSam......
  • 企业身份认证接口-身份证实名认证接口免费调用-Node.js接口调用教程
    现如今,无论是银行开户、办理社保、购买保险、在线教育、电商购物等等的应用场景,都需要进行身份证的实名认证。随着人工智能技术的不断开拓与创新,身份证实名认证已经逐步实现了智能化、在线化。也正因如此,企业对于身份证实名认证接口的需求也在不断增多。翔云身份证识别接口与身份......
  • 350_{"code":401,"msg":"认证失败,无法访问系统资源","data":null}
    若依框架部署Linux访问报错,401认证失败,无法访问系统资源_认证失败,无法访问系统资源_冰糖码奇朵的博客-CSDN博客报错信息链接访问nginx配置解决......