TLS 证书 - Amazon EMR
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 Amazon Web Services 服务入门

TLS 证书

Apache Ranger 与 Amazon EMR 的集成要求使用 TLS 加密从 Amazon EMR 节点到 Ranger Admin 服务器的流量,并且 Ranger 插件使用双向 TLS 身份验证向 Apache Ranger 服务器进行身份验证。Amazon EMR 服务需要 Ranger Admin 服务器的公共证书(在前面的示例中指定)和私有证书。

Apache Ranger 插件证书

Apache Ranger 插件公共 TLS 证书必须可供 Apache Ranger 管理服务器访问,以在插件连接时进行验证。执行此操作共有三种方式。

方法 1:在 Apache Ranger Admin 服务器中配置信任库

在 ranger-admin-site.xml 中填写以下配置以配置信任库。

<property> <name>ranger.truststore.file</name> <value><LOCATION TO TRUSTSTORE></value> </property> <property> <name>ranger.truststore.password</name> <value><PASSWORD FOR TRUSTSTORE></value> </property>

方法 2:将证书加载到 Java cacerts 信任库

如果您的 Ranger Admin 服务器没有在其 JVM 选项中指定信任库,那么您可以将插件公共证书放在默认的 cacerts 存储中。

方法 3:创建信任库并指定为 JVM 选项的一部分

{RANGER_HOME_DIRECTORY}/ews/ranger-admin-services.sh 中,修改 JAVA_OPTS,使其包含 "-Djavax.net.ssl.trustStore=<TRUSTSTORE_LOCATION>""-Djavax.net.ssl.trustStorePassword=<TRUSTSTORE_PASSWORD>"。例如,在现有 JAVA_OPTS 之后添加以下行。

JAVA_OPTS=" ${JAVA_OPTS} -Djavax.net.ssl.trustStore=${RANGER_HOME}/truststore/truststore.jck -Djavax.net.ssl.trustStorePassword=changeit"
注意

如果任何用户能够登录 Apache Ranger Admin 服务器并查看正在运行的进程,例如使用 ps 命令时,此规范可能会公开信任库密码。

使用自签名证书

不建议使用自签名证书作为证书。自签名证书不得撤销,自签名证书可能不符合内部安全要求。