本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
Apache Ranger 與 Amazon EMR 整合要求使用 TLS 對從 Amazon EMR 節點至 Ranger Admin 伺服器的流量進行加密,且 Ranger 外掛程式使用雙向相互 TLS 身分驗證向 Apache Ranger 伺服器進行身分驗證。Amazon EMR 服務需要 Ranger Admin 伺服器的公有憑證 (在上一個範例中指定) 和私有憑證。
Apache Ranger 外掛程式憑證
Apache Ranger 外掛程式公有 TLS 憑證必須可供 Apache Ranger Admin 伺服器存取,以便在外掛程式連接時進行驗證。有三種不同的方法執行此操作。
方法 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 cacert 信任存放區
如果您的 Ranger Admin 伺服器未在 JVM 選項中指定信任存放區,您可以將外掛程式公有憑證放在預設 cacert 存放區中。
方法 3:建立信任存放區並指定為 JVM 選項的一部分
在 {RANGER_HOME_DIRECTORY}/ews/ranger-admin-services.sh
內,修改 JAVA_OPTS
以包含 "-Djavax.net.ssl.trustStore=
和 <TRUSTSTORE_LOCATION>
""-Djavax.net.ssl.trustStorePassword=
。例如,在現有 JAVA_OPTS 之後新增下列行。<TRUSTSTORE_PASSWORD>
"
JAVA_OPTS=" ${JAVA_OPTS} -Djavax.net.ssl.trustStore=${RANGER_HOME}/truststore/truststore.jck -Djavax.net.ssl.trustStorePassword=changeit"
注意
如果任何使用者都可以登入 Apache Ranger Admin 伺服器並查看執行中程序 (例如在使用 ps
命令時),則此規格可能會暴露信任存放區密碼。
使用自我簽署的憑證
不建議使用自我簽署的憑證作為憑證。自我簽署的簽憑可能無法撤銷,且可能不符合內部安全需求。