TLS 凭证 - Amazon EMR

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 命令时,此规范可能会公开信任库密码。

使用自签名证书

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