云服务器内容精选

  • KrbServer及LdapServer结构 用户登录时安全认证功能主要依赖于Kerberos和LDAP。 图1 安全认证场景架构 图1可分为三类场景: 登录Manager WebUI 认证架构包含步骤1、2、3、4 登录组件Web UI 认证架构包含步骤5、6、7、8 组件间访问 认证架构为步骤9 表1 关键模块解释 名称 含义 Manager 集群Manager Manager WS WebBrowser Kerberos1 部署在Manager中的KrbServer(管理平面)服务,即 OMS Kerberos Kerberos2 部署在集群中的KrbServer(业务平面)服务 LDAP1 部署在Manager中的LdapServer(管理平面)服务,即OMS LDAP LDAP2 部署在集群中的LdapServer(业务平面)服务 Kerberos1访问LDAP数据:以负载均衡方式访问主备LDAP1两个实例和双备LDAP2两个实例。只能在主LDAP1主实例上进行数据的写操作,可以在LDAP1或者LDAP2上进行数据的读操作。 Kerberos2访问LDAP数据:读操作可以访问LDAP1和LDAP2,数据的写操作只能在主LDAP1实例进行。
  • KrbServer及LdapServer原理 Kerberos认证 Kerberos这一名词来源于希腊神话“三个头的狗——地狱之门守护者”,后来沿用作为安全认证的概念,该系统设计上采用客户端/服务器结构与DES、AES等加密技术,并且能够进行相互认证,即客户端和服务器端均可对对方进行身份认证。可以用于防止窃听、防止replay攻击、保护数据完整性等场景,是一种应用对称密钥体制进行密钥管理的系统。 Kerberos认证协议,主要包含三个角色: Client:客户端 Server:客户端需要请求的服务端 KDC(Key Distribution Center): 密钥分发中心,包括AS和TGS两部分。 AS(Authentication Server): 认证服务器,用与验证客户端账号密码信息,并生成TGT(Ticket Granting Ticket) 票据授权票据。 TGS(Ticket Granting Server): 票据授权服务器,用于通过TGT生成访问服务的服务票据ST。 图2 认证流程图 LDAP数据读写 LDAP作为用户数据存储中心,存储了集群内用户的信息,包含密码,附属信息等。用户操作用户数据或进行Kerberos认证需要访问LDAP。 图3 数据修改过程 LDAP数据同步 安装集群前OMS LDAP数据同步 图4 OMS LDAP数据同步 安装集群前数据同步方向:主OMS LDAP同步到备OMS LDAP。 安装集群后LDAP数据同步 图5 LDAP数据同步 安装集群后数据同步方向:主OMS LDAP同步到备OMS LDAP、备组件LDAP和备组件LDAP。
  • KrbServer及LdapServer简介 为了管理集群中数据与资源的访问控制权限,推荐安装安全模式集群。在安全模式下,客户端应用程序在访问集群中的任意资源之前均需要通过身份认证,建立安全会话链接。 MRS 通过KrbServer为所有组件提供Kerberos认证功能,实现了可靠的认证机制。 LdapServer支持轻量目录访问协议(Lightweight Directory Access Protocol,简称为LDAP),为Kerberos认证提供用户和用户组数据保存能力。
  • 应用开发认证 MRS各组件提供了应用开发接口,用于客户或者上层业务产品集群使用。在应用开发过程中,安全模式的集群提供了特定的应用开发认证接口,用于应用程序的安全认证与访问。例如hadoop-common api提供的UserGroupInformation类,该类提供了多个安全认证API接口: setConfiguration()主要是获取对应的配置,设置全局变量等参数。 loginUserFromKeytab()获取TGT接口。
  • 集群内服务认证 在使用安全模式的MRS集群中,任意服务间的相互访问基于Kerberos安全架构方案。集群内某个服务(例如HDFS)在启动准备阶段的时候,会首先在Kerberos中获取该服务对应的服务名称sessionkey(即keytab,用于应用程序进行身份认证)。其他任意服务(例如YARN)需要访问HDFS并在HDFS中执行增、删、改、查数据的操作时,必须获取对应的TGT和ST,用于本次安全访问的认证。