HBase Token实现机制

HBase Token方案被内部应用于MapReduce任务中Map/Reduce Task的认证,这样可以显著降低KDC端的认证压力,它的实现遵循了《Hadoop Security Design》中的设计思路。本文基于HBase 2.0版本的源码讨论相关实现原理。

阅读全文

ZooKeeper安全认证机制:SSL

本文探讨ZooKeeper的SSL安全机制。默认情形下,ZooKeeper的网络通信是没有加密的,但ZooKeeper提供了SSL特性,目前仅应用在Client与Server端之间的交互(Server与Server之间的交互尚不支持),且RPC通信协议基于Netty时(ZooKeeper内置的NIO实现中不支持)。

阅读全文

基于Kerby的Hadoop认证服务(HAS)

前面的文章《Hadoop认证与授权机制概述》与《Hadoop Token认证机制》中已经介绍了Hadoop的现有认证与授权机制以及基于Token的认证方案设计思路,迄今为止Hadoop仅支持Kerberos认证,第三方身份认证服务难以接入Hadoop。这篇文章介绍另外一套基于Kerby实现的支持第三方身份认证服务的方案。

阅读全文

Hadoop Token认证机制

Hadoop的身份认证机制,目前为止还仅支持Kerberos方案,这使得一些第三方认证服务难以接入到Hadoop中。因此,早在13年时,Intel团队就提出了一种基于通用Token的认证方案,但可惜该方案一直未能落地。本文简单介绍一下该方案的一些设计思路。

阅读全文

Hadoop认证与授权机制概述

写这篇文章的时候,Hadoop 3.0的GA版本刚刚发布。Hadoop最初的认证与授权方案,是雅虎团队在2009年设计的,尽管已经过去了八年多的时间,但从最新的Hadoop 3.0版本的安全机制来看,基本还是维持了最初的设计思路。本文重点介绍该设计的一些关键点,不展开过多细节。

阅读全文

JAAS/GSS-API/SASL/Kerberos简介

如果将Kerberos引入到一个分布式系统中提供身份认证与服务授权时,还涉及到一系列与安全有关的框架技术与接口协议,包括:如何对认证的对象或访问的资源进行抽象?应用通过什么样的接口进行Kerberos认证?如何保障跨节点通信时的安全传输?Java Security中均提供了现成的实现。

阅读全文

图解Kerberos协议原理

Kerberos是一个常用的认证与授权协议,在初次接触该协议的时候,往往觉得该协议充满复杂的交互逻辑,但在充分理解了之后,又会觉得这过程中其实充满了数学与逻辑的美学。本文主要结合Wiki中关于Kerberos Protocol的定义,增加了一些图解信息,希望能够让读者更直观的理解该协议的内容。

阅读全文