服务开启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操作列的重启。
在弹出的对话中,输入执行原因,单击确定。
在确认对话中,单击确定。