通過啟用LDAP認證,可以增強Kyuubi的安全性,確保只有提供正確的使用者名稱和密碼後,用戶端才能成功串連到Kyuubi Server啟動Spark Session並執行SQL查詢,有效防止未授權訪問敏感性資料和功能的風險。
前提條件
-
已建立Kyuubi Gateway和Token,具體請參見Gateway管理。
推薦使用下述引擎版本:
-
esr-4.x:esr-4.3.0及之後版本。
-
esr-3.x:esr-3.3.0及之後版本。
-
esr-2.x:esr-2.7.0及之後版本。
-
-
可選:如果您需要使用阿里雲EMR on ECS叢集的OpenLDAP服務,則需建立選擇了OpenLDAP服務的叢集並添加了使用者,詳情請參見建立叢集和OpenLDAP使用者管理。
操作流程
步驟一:網路準備
在開始配置之前,必須先設定好網路,確保Serverless Spark可以與您的虛擬私人雲端(VPC)之間網路互連,使得Kyuubi Gateway能夠順利串連到LDAP服務進行認證。具體操作,請參見EMR Serverless Spark與其他VPC間網路互連。
步驟二:配置Kyuubi Gateway
對於希望開啟LDAP認證功能的Kyuubi Gateway,需先停止該會話。然後編輯Kyuubi Gateway,在网络连接下拉式清單中選擇已建立的串連名稱,在Kyuubi 配置中添加以下配置項。編輯完成後,請務必重新啟動Kyuubi Gateway,以確保所做更改生效。
kyuubi.authentication LDAP
kyuubi.authentication.ldap.baseDN <ldap_base_dn>
kyuubi.authentication.ldap.userDNPattern <ldap_user_pattern>
kyuubi.authentication.ldap.binddn <ldap_bind_dn>
kyuubi.authentication.ldap.bindpw <ldap_bind_pwd>
kyuubi.authentication.ldap.url ldap://<ldap_url>:<ldap_port>/
參數說明如下,請根據您的實際情況替換。
如果您串連的是阿里雲EMR on ECS叢集的OpenLDAP服務,則可以參考樣本內容填寫。
|
參數 |
說明 |
樣本 |
|
|
固定為 |
|
|
|
LDAP服務認證的基礎DN。 |
|
|
|
登入使用者到LDAP DN的轉換模式。 |
使用者test登入時,會將其轉換為DN = |
|
|
串連LDAP服務綁定的DN。 |
|
|
|
串連LDAP服務綁定的DN的密碼。 |
在OpenLDAP服務的配置中尋找admin_pwd的參數值。 |
|
|
LDAP服務的串連地址,填寫格式為ldap://<ldap_url>:<ldap_port>。 |
說明
如果LDAP是高可用服務,則多個LDAP串連地址之間需要用空格進行分隔,例如 |
步驟三:串連開啟LDAP認證的Kyuubi Gateway
為您提供了兩種常用的串連方法。串連Kyuubi Gateway前,請根據您的實際情況替換以下資訊:
-
<endpoint>:您在总览頁簽擷取的Endpoint(外网)或Endpoint(内网)資訊。如果使用內網Endpoint,訪問Kyuubi Gateway僅限於同一VPC內的資源。
-
<token>:Token 管理頁簽的Token資訊。 -
<port>:連接埠號碼。使用外網網域名稱訪問時連接埠號碼為443,使用內網網域名稱訪問時連接埠號碼為80。 -
<username>和<password>:用於登入LDAP服務的帳號名稱與密碼。如果您串連的是阿里雲EMR on ECS叢集的OpenLDAP服務,則為您在EMR on ECS的用户管理頁面添加的使用者名稱和密碼。
方式一:使用kyuubi-beeline命令列工具
-
直接指定使用者名稱和密碼:如果您不介意在命令列中顯示密碼,則可以直接通過命令列參數提供使用者憑證。
kyuubi-beeline -u 'jdbc:hive2://<endpoint>:<port>/;transportMode=http;httpPath=cliservice/token/<token>' -n <username> -p <password> -
互動式輸入密碼:為了安全起見,您可以省略-p後面的密碼,在執行命令後根據提示手動輸入密碼而不顯示字元。
kyuubi-beeline -u 'jdbc:hive2://<endpoint>:<port>/;transportMode=http;httpPath=cliservice/token/<token>' -n <username> -p
方式二:使用JDBC URL
如果您希望通過其他應用程式(如Java程式)或構建完整的JDBC連結字串時,應採用以下格式。
jdbc:hive2://<endpoint>:<port>/;transportMode=http;httpPath=cliservice/token/<token>;user=<username>;password=<password>