温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

DataSphere Studio怎么支持多种用户登录认证方式

发布时间:2021-12-20 10:33:48 来源:亿速云 阅读:530 作者:柒染 栏目:云计算

本篇文章给大家分享的是有关DataSphere Studio怎么支持多种用户登录认证方式,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。

DataSphere Studio默认只提供了管理员账号,用户登录鉴权完全依托于Linkis的用户登录认证体系。本文将详细介绍Linkis目前已经支持的用户登录认证方式,以及如何补充和完善用户环境信息。


DataSphere Studio管理员的用户名和密码均为部署用户名      ,如部署用户为hadoop,则管理员的用户名/密码为:hadoop/hadoop。    
DataSphere Studio的用户登录鉴权,依托于Linkis的用户登录认证体系。    

除管理员以外,Linkis还支持以下用户登录认证方式:

  • 接入LDAP登录

  • 接入SSO单点登录

  • Token登录方式

  • 代理用户模式

不管您接入哪种用户登录认证方式,      您都需为所有Linkis用户(除部署用户以外),完善用户环境信息。    

第五章详细介绍了如何补充和完善用户环境信息。

01

接入LDAP

进入linkis/linkis-gateway/conf,修改配置文件linkis.properties,增加您的LDAP服务端配置:
vi linkis/linkis-gateway/conf/linkis.properties
#您的LDAP服务URL
wds.linkis.ldap.proxy.url=ldap://127.0.0.1:389/
#您的LDAP服务的配置
wds.linkis.ldap.proxy.baseDN=dc=webank,dc=com
重启linkis-gateway,使之生效。


02


接入SSO单点登录



接入您公司的SSO单点登录体系要复杂一些。
首先,您需要打开SSO单点验证功能,请在linkis/linkis-gateway/conf/linkis.properties指定如下参数:
wds.linkis.gateway.conf.enable.sso=true
然后,您需要实现SSOInterceptor接口:
trait SSOInterceptor {

 /**
   * 如果打开SSO单点登录功能,当前端跳转SSO登录页面登录成功后,会重新跳回到DSS首页,这时DSS前端再次请求gateway,
   *     gateway会通过调用该方法获取已SSO登录的用户,然后将用户写入cookie,保证后续请求可直接放行。
   * 您需实现该方法,通过Request返回用户名。
   * @param gatewayContext
   * @return
   */
 def getUser(gatewayContext: GatewayContext): String

 /**
   * 通过DSS首页Url,用户生成一个可重定向的SSO登录页面URL。
   * 要求:需带上requestUrl,以便SSO登录成功后能跳转回来
   * @param requestUrl DSS首页URL
   * @return 例如:https://${sso_host}:${sso_port}/cas/login?redirectUrl=${requestUrl}
   */
 def redirectTo(requestUrl: URI): String

 /**
   * 用户退出登录时,gateway会调用此接口,以保证gateway清除cookie后,SSO单点登录也会把登录信息清除掉
   * @param gatewayContext
   */
 def logout(gatewayContext: GatewayContext): Unit

}
将您的SSO实现类,打成jar包,放入linkis/linkis-gateway/lib目录。
Linkis提供了两种加载您SSO实现类的方式:
  • 将SSO实现类声明为spring bean,这种方式要求您只需在类名上面加上@Component注解即可。
  • 在linkis/linkis-gateway/conf/linkis.properties指定如下参数:
#请指定为您的SSO实现类
   wds.linkis.gateway.conf.sso.interceptor=com.webank.wedatasphere.linkis.gateway.security.sso.SSOInterceptor
重启linkis-gateway,SSO单点登录即可生效。



03


Token登录方式

该方式是给第三方系统访问Linkis和DSS使用的。
第三方系统调用Linkis和DSS后台接口时,只需通过token模式即可直接跳过登录。
在linkis/linkis-gateway/conf/linkis.properties指定如下参数:
# 打开token模式
   wds.linkis.gateway.conf.enable.token.auth=true
   # 指定token配置文件
   wds.linkis.gateway.conf.token.auth.config=token.properties
在linkis/linkis-gateway/conf目录下,创建token.properties文件,内容如下:
# 格式如下:
   ${TOKEN_NAME}=${USER1},${USER2}
   # 例如:
   AZKABAN=*

TOKEN_NAME指分配给第三方系统的tokenId,后面的value为可跳过登录的用户,如果完全信任该系统的所有请求,可直接等于*,表示全部授权。

第三方系统在请求DSS和Linkis,在request的header或cookie中,写入如下两个参数即可:
{
 "Token-Code": "${TOKEN_NAME}",
 "Token-User": "${USER}"
}

04


代理用户模式

该方式允许登录用户和实际使用DSS的用户不同,主要作用:控制用户登录时必须为实名用户,但是实际使用大数据平台时,是非实名用户。

在linkis/linkis-gateway/conf/linkis.properties指定如下参数:
# 打开代理模式
   wds.linkis.gateway.conf.enable.proxy.user=true
   # 指定代理配置文件
   wds.linkis.gateway.conf.proxy.user.config=proxy.properties
在linkis/linkis-gateway/conf目录下,创建proxy.properties文件,内容如下:
# 格式如下:
   ${LOGIN_USER}=${PROXY_USER}
   # 例如:
   enjoyyin=hadoop

如果现有的代理模式不能满足您的需求,您也可以手动修改:com.webank.wedatasphere.linkis.gateway.security.ProxyUserUtils。

05


如何为用户完善环境信息

由于DSS & Linkis做了自上而下的多租户隔离,为了使登录的用户可正常使用DSS,还需在linux服务器上面创建对应的Linux用户,具体步骤如下:
  1. 在所有Linkis & DSS 服务器上创建对应Linux用户。
  2. 在Hadoop的NameNode创建对应Linux用户。
  3. 保证Linkis & DSS 服务器上的Linux用户,可正常使用hdfs dfs -ls /等命令,同时该用户需要能正常使用Spark和hive任务, 如:通过spark-sql命令可以启动一个spark application,通过hive命令可以启动一个hive客户端。
  4. 由于每个用户的工作空间严格隔离,您还需为该用户创建工作空间和HDFS目录,如下:
# 创建用户工作空间目录
   mkdir $WORKSPACE_USER_ROOT_PATH/${NEW_USER}
   chmod 750 $WORKSPACE_USER_ROOT_PATH/${NEW_USER}

   # 创建用户HDFS目录
   hdfs dfs -mkdir $HDFS_USER_ROOT_PATH/${NEW_USER}
   hdfs dfs -chown ${NEW_USER}:${NEW_USER} $HDFS_USER_ROOT_PATH/${NEW_USER}
   hdfs dfs -chmod 750 $HDFS_USER_ROOT_PATH/${NEW_USER}

      WORKSPACE_USER_ROOT_PATH和HDFS_USER_ROOT_PATH是您一键安装DSS时,设置的工作空间和HDFS根路径。

如果您没有设置,则默认为:
WORKSPACE_USER_ROOT_PATH=file:///tmp/linkis
HDFS_USER_ROOT_PATH=hdfs:///tmp/linkis

以上就是DataSphere Studio怎么支持多种用户登录认证方式,小编相信有部分知识点可能是我们日常工作会见到或用到的。希望你能通过这篇文章学到更多知识。更多详情敬请关注亿速云行业资讯频道。

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI