服務開啟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操作列的重啟。
在彈出的對話中,輸入執行原因,單擊確定。
在確認對話中,單擊確定。
> enableLDAP