管理LDAP认证

开启LDAP认证功能后,访问服务需要您提供LDAP用户名和密码进行身份认证,从而提高了服务的安全性。EMR提供了一键开启LDAP认证的功能,避免了复杂的配置过程,方便您使用LDAP认证。本文为您介绍如何开启Presto服务的LDAP认证并连接Presto。

前提条件

已创建选择了Presto和OpenLDAP服务的集群,详情请参见创建集群

注意事项

该功能仅适用于普通集群,高安全集群不支持开启LDAP认证。

操作步骤

  1. 添加EMR用户。

    1. 登录EMR on ECS控制台

    2. 在顶部菜单栏处,根据实际情况选择地域和资源组

    3. 单击目标集群操作列的节点管理

    4. 单击上方的用户管理

    5. 添加用户,详情请参见添加用户

  2. 开启LDAP认证。

    1. 单击上方的集群服务

    2. 集群服务页面,单击Presto服务区域的状态

    3. 服务概述区域,打开PrestoLDAP开关。

    4. 在弹出的对话框中,单击确定

    5. 重启PrestoMaster。

      1. 组件列表区域,单击PrestoMaster操作列的重启

      2. 在弹出的对话框中,输入执行原因,单击确定

      3. 确认对话框中,单击确定

  3. 连接Presto服务。

    开启LDAP认证后,当您访问Presto时需要提供LDAP认证凭据。

    1. 通过SSH方式连接集群,请参见登录集群

    2. 执行以下命令,访问Presto。

      重要

      开启LDAP后只能通过HTTPS协议访问Presto,HTTP端口8889会被关闭,UI将无法以原先方式访问,设置的http-server.http.port也会被http-server.https.port覆盖,HTTPS端口值为7779。

      presto --server https://{fqdn}:7779 --keystore-path {keystore_location} \
      --keystore-password {keystore_passwd} --catalog hive --user {user} --password

      参数

      说明

      {fqdn}

      master-1-1节点的FQDN,可通过hostname -f命令获取,格式为master-1-1.c-xxxxxxx.cn-xxxxxx.emr.aliyuncs.com

      {keystore_location}

      keystore的路径。

      config.properties中http-server.https.keystore.path的值,固定为/etc/emr/presto-conf/keystore

      {keystore_passwd}

      keystore的密码。

      config.properties中http-server.https.keystore.key的值,需自行获取,可以在master-1-1节点上执行命令awk -F= '/http-server.https.keystore.key/{print $2}' ${PRESTO_CONF_DIR}/config.properties查看。

      {user}

      为LDAP的用户名,即您在步骤1中添加的用户名。

      执行上述命令后,根据提示信息输入密码,密码为LDAP的密码,即您在步骤1添加用户时设置的密码。

  4. 可选:关闭LDAP认证。

    1. 在Presto服务的服务概述区域,关闭PrestoLDAP开关。

    2. 在弹出的对话框中,单击确定

    3. 重启PrestoMaster。

      1. 组件列表区域,单击PrestoMaster操作列的重启

      2. 在弹出的对话框中,输入执行原因,单击确定

      3. 确认对话框中,单击确定