
1、域是计算机专用词汇带备,是指Windows网络中独立运行的单位。
2、域管理员只能管理域的内部,除非其他的域显式地赋予他管理权限,他才能够访问或者管理其他的域;每个域都有自己的安全策略,以及它与其他域的安全兄行手信任关系。
3、作用:如果企业网络中计算机和用户数量较多时,要实现高效管理,就需要windows域。
扩展资料:
域控制器:
域控制器中包含了由这个域的账户、密码、属于这个域的计算机等信息构成的数据库。当电脑联入网络时,域控制器首先要鉴别这台电脑是否是属于这个域的,用户使用的登录账号是否存在、密码是否正确。
服务器端:
以系统管理员身份在已经设置好Active Directory(活动目录)的Windows 2000 Server上登录,选择“开始”菜单中“程序”选项中的“管理工具”,然后再选择“Active Directory用户和计算羡嫌机”。
之后在程序界面中右击“Computers”,在d出的菜单中单击“新建”,然后选择“计算机”,之后填入想要加入域的计算机名即可。要加入域的计算机名最好为英文,中文计算机名可能会引起一些问题。
参考资料来源:百度百科——域
KDC是(Key Distribution Center)密钥分配中心。
密码学中的密钥分发纯慧厅中心(KDC)是密钥体系的一部分,旨在减少密钥体制所固有的交换密钥时所面临的风险。KDC应用在这样的系统中:系统内一些用户能做隐够使用某些服务,而其他人不能使用那些服务。
(linux)定义:
key distribution center (KDC):在网络会话和应用程序的使用中为分配管理公钥与私碧源钥提供认证的系统。
(windows)Key Distribution Center:Key Distribution Center (KDC)作为一个域服务来使用.它使用Active Directory作为数据库,使用GlobalCatalog传输数据到其他的域。
在keberos Authentication中,Kerberos有三个主体:Client、Server和KDC。
为了便于理解,这里引入两个关键的概念:
以上就是Kinit 做的事情,以后访问各个Service就用这个加密的TGT就可以了。
真正运行访问Service的程序时,进行一下步骤:
Client向Server发送的数据包被某个恶意网络监听者截获,该监听者随后将数据包座位自己的Credential冒充该Client对Server进行访问,在这种情况下,依然可以很顺利地获得Server的成功认证。为了解决这个问题,Client在Authenticator中会加入一个当前时间的Timestamp。在Server对Authenticator中的Client Info和Session Ticket中的Client Info进行比较之前,会先提取Authenticator中的Timestamp,并同当前的时间进行比较,如果他们之间的偏差超出一个可以接受的时间范围(一般是5mins),Server会直接拒绝凳迟谈该Client的请求。
Kerberos一个重要的优势在于它能够提供双向认证:不但Server可以对Client 进行认证,Client也能对Server进行认证。具体过程是这样的,如果Client需要对他访问的Server进行认证,会在它向Server发送的Credential中设置一个是否需要认证的Flag。Server在对Client认证成功之后,会把Authenticator中的Timestamp提出出来,通过Session Key进行加密,当Client接收到并使用Session Key进行解密之后,如果确认Timestamp和原来的完全一致,那么他可以认定Server正式他试图访问的Server。
那么为什么Server不直接把通过Session Key进行加密的Authenticator原样发送给Client,而要把Timestamp提取出来加密发送给Client呢?原因在于防止恶意的监听者通过获取的Client发送的Authenticator冒充Server获得Client的认证。
delegation token其实就是hadoop里一种轻量级认证方法,作为kerberos认证的一种补充。理论上只使用kerberos来认证是足够了,为什么hadoop还旦腔要自己开发一套使用delegation token的认证方式呢?这是因为如果在一个很大的分布式系统当中,如果每个节点访问某个服务的时候都使用kerberos来作为认证方式,那么势必对KDC造成很大的压力,KDC就会成为一个系统的瓶颈。
kerberos认证需三方参与,client, kdc, server三方协作完成认证。
Delegation token的认证只需要两方参与,client和server。而且可以传递给其它服务使用,这也是它叫delegation token的原因。比如在client端获取到hdfs delegation token后,可以分发到各个executor,各个task就可以不通过kerberos直接使用token访问hdfs
delegation token有过期时间,一般 token每24小时刷新一次,否则就失效,且token寿命为7天,七天后该token就不能再使用。
对于spark streaming, storm等这种长时运枣碰行应用来说,不得不面临一个问题:token存在最大生命周期。当token达到其最大生命周期的时候,所有的工作节点(比如spark streaming的executor)中使用的token都会失效,此时在使用该token去访问hdfs就会被namenode拒绝,导致应用异常退出。
一种解决思路是将keytab文件分发给Am及每个container,让am和container去访问kdc来认证,但这种方式会给KDC造成很大的访问压力,导致KDC会误认为自己遭受了DDos攻击,从而影响程序性能。
另一种解决思路是先由client把keytab文件放到hdfs上。然后在Am中使用keytab登录,并申请delegation token。Am在启动worker的时候把该token分发给相应的容器。当token快要过期的时候,Am重新登录一次,并重新获取delegation token,并告知所有的worker使用更新后的token访问服务。
spark使用的就是第二种解决思路,spark 为了解决DT失效问题,加了两个参数"--keytab"和"--principal",分别指定用于kerberos登录的keytab文件和principal,通过在AM中login然后定期更新token实现了任务七天不挂
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)