服務開啟LDAP認證功能后,訪問服務需要提供LDAP身份認證(LDAP用戶名和密碼),可以提升服務的安全性。開啟LDAP認證的功能可以方便您使用LDAP認證,避免了復雜的配置過程。
前提條件
已創建選擇了Trino和OpenLDAP服務的集群,詳情請參見創建集群。
注意事項
如果EMR-3.43.1、EMR-5.9.1版本開啟LDAP后連接不上,應該是Worker節點缺少配置,需登錄master-1-1節點,在Presto的config.properties文件中找到參數
internal-communication.shared-secret
及其對應值,然后在控制臺針對Core、Task節點組分別新增該配置,將其配置到Worker節點上。新增配置項操作,請參見添加配置項。Trino的LDAP與Kerberos沖突,只能開啟其中一個。
操作步驟
添加EMR用戶,詳情請參見添加用戶。
進入集群服務頁面。
在左側導航欄,單擊EMR on ECS。
在頂部菜單欄處,根據實際情況選擇地域和資源組。
在EMR on ECS頁面,單擊目標集群操作列的集群服務。
開啟LDAP認證。
在集群服務頁面,單擊Trino服務區域的狀態。
打開enableLDAP開關。
EMR-5.11.1及之后版本,EMR-3.45.1及之后版本
在服務概述區域,打開TrinoLDAP開關。
在彈出的對話框中,單擊確定。
EMR-5.11.0及之前版本,EMR-3.45.0及之前版本
重要如果您的EMR版本較低,沒有相應的LDAP認證配置按鈕,則需要參考開源軟件的社區文檔進行手動配置,以啟用LDAP認證功能。
在組件列表區域,選擇TrinoMaster操作列的
。在彈出的對話框中,輸入執行原因,單擊確定。
在確認對話框中,單擊確定。
重啟TrinoMaster。
在組件列表區域,單擊TrinoMaster操作列的重啟。
在彈出的對話中,輸入執行原因,單擊確定。
在確認對話中,單擊確定。
連接Trino服務。
開啟LDAP認證后,當您訪問Trino時需要提供LDAP認證憑據。
通過SSH方式連接集群,請參見登錄集群。
執行以下命令,訪問Trino。
重要開啟高安全后只能通過HTTPS協議訪問Trino,原先的9090端口會被關閉,設置的http-server.http.port也會失效,所以需要使用7778端口訪問Trino。
trino --server https://{fqdn}:7778 --keystore-path {keystore_location} \ --keystore-password {keystore_passwd} --catalog hive --user {user} --password
參數
說明
{fqdn}
keystore的域名。
需要在EMR控制臺Trino服務的配置頁簽中查看ldap.url參數,獲取格式
master-1-1.c-xxxxxxx.cn-x******.emr.aliyuncs.com
的內容,即為keystore的域名。{keystore_location}
keystore的路徑。
config.properties中
http-server.https.keystore.path
的值,固定為/etc/emr/trino-conf/keystore
。{keystore_passwd}
keystore的密碼。
config.properties中
http-server.https.keystore.key
的值,需自行獲取,可以在master-1-1節點上執行命令awk -F= '/http-server.https.keystore.key/{print $2}' ${TRINO_CONF_DIR}/config.properties
查看。{user}
為LDAP的用戶名,即您在步驟1中添加的用戶名。
執行上述命令后,根據提示信息輸入密碼,密碼為LDAP的密碼,即您在步驟1添加用戶時設置的密碼。
可選:關閉LDAP認證。
在集群服務頁面,單擊Trino服務區域的狀態。
關閉enableLDAP開關。
EMR-5.11.1及之后版本,EMR-3.45.1及之后版本
在服務概述區域,關閉TrinoLDAP開關。
在彈出的對話框中,單擊確定。
EMR-5.11.0及之前版本,EMR-3.45.0及之前版本
在組件列表區域,選擇TrinoMaster操作列的
。在彈出的對話框中,輸入執行原因,單擊確定。
在確認對話框中,單擊確定。
重啟TrinoMaster。
在組件列表區域,單擊TrinoMaster操作列的重啟。
在彈出的對話中,輸入執行原因,單擊確定。
在確認對話中,單擊確定。