溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

DataSphere Studio怎么支持多種用戶登錄認證方式

發(fā)布時間:2021-12-20 10:33:48 來源:億速云 閱讀:568 作者:柒染 欄目:云計算

本篇文章給大家分享的是有關(guān)DataSphere Studio怎么支持多種用戶登錄認證方式,小編覺得挺實用的,因此分享給大家學(xué)習(xí),希望大家閱讀完這篇文章后可以有所收獲,話不多說,跟著小編一起來看看吧。

DataSphere Studio默認只提供了管理員賬號,用戶登錄鑒權(quán)完全依托于Linkis的用戶登錄認證體系。本文將詳細介紹Linkis目前已經(jīng)支持的用戶登錄認證方式,以及如何補充和完善用戶環(huán)境信息。


DataSphere Studio管理員的用戶名和密碼均為部署用戶名      ,如部署用戶為hadoop,則管理員的用戶名/密碼為:hadoop/hadoop。    
DataSphere Studio的用戶登錄鑒權(quán),依托于Linkis的用戶登錄認證體系。    

除管理員以外,Linkis還支持以下用戶登錄認證方式:

  • 接入LDAP登錄

  • 接入SSO單點登錄

  • Token登錄方式

  • 代理用戶模式

不管您接入哪種用戶登錄認證方式,      您都需為所有Linkis用戶(除部署用戶以外),完善用戶環(huán)境信息。    

第五章詳細介紹了如何補充和完善用戶環(huán)境信息。

01

接入LDAP

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


02


接入SSO單點登錄



接入您公司的SSO單點登錄體系要復(fù)雜一些。
首先,您需要打開SSO單點驗證功能,請在linkis/linkis-gateway/conf/linkis.properties指定如下參數(shù):
wds.linkis.gateway.conf.enable.sso=true
然后,您需要實現(xiàn)SSOInterceptor接口:
trait SSOInterceptor {

 /**
   * 如果打開SSO單點登錄功能,當(dāng)前端跳轉(zhuǎn)SSO登錄頁面登錄成功后,會重新跳回到DSS首頁,這時DSS前端再次請求gateway,
   *     gateway會通過調(diào)用該方法獲取已SSO登錄的用戶,然后將用戶寫入cookie,保證后續(xù)請求可直接放行。
   * 您需實現(xiàn)該方法,通過Request返回用戶名。
   * @param gatewayContext
   * @return
   */
 def getUser(gatewayContext: GatewayContext): String

 /**
   * 通過DSS首頁Url,用戶生成一個可重定向的SSO登錄頁面URL。
   * 要求:需帶上requestUrl,以便SSO登錄成功后能跳轉(zhuǎn)回來
   * @param requestUrl DSS首頁URL
   * @return 例如:https://${sso_host}:${sso_port}/cas/login?redirectUrl=${requestUrl}
   */
 def redirectTo(requestUrl: URI): String

 /**
   * 用戶退出登錄時,gateway會調(diào)用此接口,以保證gateway清除cookie后,SSO單點登錄也會把登錄信息清除掉
   * @param gatewayContext
   */
 def logout(gatewayContext: GatewayContext): Unit

}
將您的SSO實現(xiàn)類,打成jar包,放入linkis/linkis-gateway/lib目錄。
Linkis提供了兩種加載您SSO實現(xiàn)類的方式:
  • 將SSO實現(xiàn)類聲明為spring bean,這種方式要求您只需在類名上面加上@Component注解即可。
  • 在linkis/linkis-gateway/conf/linkis.properties指定如下參數(shù):
#請指定為您的SSO實現(xiàn)類
   wds.linkis.gateway.conf.sso.interceptor=com.webank.wedatasphere.linkis.gateway.security.sso.SSOInterceptor
重啟linkis-gateway,SSO單點登錄即可生效。



03


Token登錄方式

該方式是給第三方系統(tǒng)訪問Linkis和DSS使用的。
第三方系統(tǒng)調(diào)用Linkis和DSS后臺接口時,只需通過token模式即可直接跳過登錄。
在linkis/linkis-gateway/conf/linkis.properties指定如下參數(shù):
# 打開token模式
   wds.linkis.gateway.conf.enable.token.auth=true
   # 指定token配置文件
   wds.linkis.gateway.conf.token.auth.config=token.properties
在linkis/linkis-gateway/conf目錄下,創(chuàng)建token.properties文件,內(nèi)容如下:
# 格式如下:
   ${TOKEN_NAME}=${USER1},${USER2}
   # 例如:
   AZKABAN=*

TOKEN_NAME指分配給第三方系統(tǒng)的tokenId,后面的value為可跳過登錄的用戶,如果完全信任該系統(tǒng)的所有請求,可直接等于*,表示全部授權(quán)。

第三方系統(tǒng)在請求DSS和Linkis,在request的header或cookie中,寫入如下兩個參數(shù)即可:
{
 "Token-Code": "${TOKEN_NAME}",
 "Token-User": "${USER}"
}

04


代理用戶模式

該方式允許登錄用戶和實際使用DSS的用戶不同,主要作用:控制用戶登錄時必須為實名用戶,但是實際使用大數(shù)據(jù)平臺時,是非實名用戶。

在linkis/linkis-gateway/conf/linkis.properties指定如下參數(shù):
# 打開代理模式
   wds.linkis.gateway.conf.enable.proxy.user=true
   # 指定代理配置文件
   wds.linkis.gateway.conf.proxy.user.config=proxy.properties
在linkis/linkis-gateway/conf目錄下,創(chuàng)建proxy.properties文件,內(nèi)容如下:
# 格式如下:
   ${LOGIN_USER}=${PROXY_USER}
   # 例如:
   enjoyyin=hadoop

如果現(xiàn)有的代理模式不能滿足您的需求,您也可以手動修改:com.webank.wedatasphere.linkis.gateway.security.ProxyUserUtils。

05


如何為用戶完善環(huán)境信息

由于DSS & Linkis做了自上而下的多租戶隔離,為了使登錄的用戶可正常使用DSS,還需在linux服務(wù)器上面創(chuàng)建對應(yīng)的Linux用戶,具體步驟如下:
  1. 在所有Linkis & DSS 服務(wù)器上創(chuàng)建對應(yīng)Linux用戶。
  2. 在Hadoop的NameNode創(chuàng)建對應(yīng)Linux用戶。
  3. 保證Linkis & DSS 服務(wù)器上的Linux用戶,可正常使用hdfs dfs -ls /等命令,同時該用戶需要能正常使用Spark和hive任務(wù), 如:通過spark-sql命令可以啟動一個spark application,通過hive命令可以啟動一個hive客戶端。
  4. 由于每個用戶的工作空間嚴格隔離,您還需為該用戶創(chuàng)建工作空間和HDFS目錄,如下:
# 創(chuàng)建用戶工作空間目錄
   mkdir $WORKSPACE_USER_ROOT_PATH/${NEW_USER}
   chmod 750 $WORKSPACE_USER_ROOT_PATH/${NEW_USER}

   # 創(chuàng)建用戶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時,設(shè)置的工作空間和HDFS根路徑。

如果您沒有設(shè)置,則默認為:
WORKSPACE_USER_ROOT_PATH=file:///tmp/linkis
HDFS_USER_ROOT_PATH=hdfs:///tmp/linkis

以上就是DataSphere Studio怎么支持多種用戶登錄認證方式,小編相信有部分知識點可能是我們?nèi)粘9ぷ鲿姷交蛴玫降?。希望你能通過這篇文章學(xué)到更多知識。更多詳情敬請關(guān)注億速云行業(yè)資訊頻道。

向AI問一下細節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI