通过 Amazon EMR 上的 Presto 使用 SSL/TLS 和配置 LDAPS - Amazon EMR
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 Amazon Web Services 服务入门

通过 Amazon EMR 上的 Presto 使用 SSL/TLS 和配置 LDAPS

使用 Amazon EMR 发行版 5.6.0 及更高版本,您可以启用 SSL/TLS 以帮助保护 Presto 节点之间的内部通信安全。您可以为传输中加密设置安全配置以执行该操作。有关更多信息,请参阅《Amazon EMR 管理指南》中的加密选项使用安全配置设置集群安全性

在将安全配置与传输中加密一起使用时,Amazon EMR 会为 Presto 执行以下操作:

  • 分发您在整个 Presto 集群中用于传输中加密的加密构件或证书。有关更多信息,请参阅为传输中的数据加密提供证书

  • 使用 presto-config 配置分类设置以下属性,该分类对应于 Presto 的 config.properties 文件:

    • 在所有节点上将 http-server.http.enabled 设置为 false,这将禁用 HTTP 以便支持 HTTPS。这要求您在为传输中加密设置安全配置时提供适用于公有和私有 DNS 的证书。执行此操作的一种方法是使用支持多个域的 SAN(使用者备用名称)证书。

    • 设置 http-server.https.* 值。有关配置详细信息,请参阅 Presto 文档中的 LDAP 身份验证

  • 对于 EMR 6.1.0 版及更高版本上的 PrestoSQL(Trino),Amazon EMR 会自动配置共享密钥,以实现集群节点之间的安全内部通信。您无需执行任何额外的配置即可启用此安全功能,并且您可以使用自己的私有密钥覆盖配置。有关 Trino 内部身份验证的信息,请参阅 Trino 353 文档:安全的内部通信

此外,对于 Amazon EMR 发行版 5.10.0 及更高版本,您可以为使用 HTTPS 建立的到 Presto 协调器的客户端连接设置 LDAP 身份验证。该设置使用安全 LDAP(LDAPS)。必须在 LDAP 服务器上启用 TLS,并且 Presto 集群必须使用启用了传输中数据加密的安全配置。需要使用额外的配置。配置选项因使用的 Amazon EMR 发行版而有所不同。有关更多信息,请参阅为 Amazon EMR 上的 Presto 使用 LDAP 身份验证

默认情况下,Amazon EMR 上的 Presto 使用端口 8446 进行内部 HTTPS 通信。用于内部通信的端口必须与用于通过客户端 HTTPS 访问 Presto 协调器的端口相同。http-server.https.port 配置分类中的 presto-config 属性指定该端口。