Cifrado en tránsito en HiveServer2 - Amazon EMR

Cifrado en tránsito en HiveServer2

A partir de la versión 6.9.0 de Amazon EMR, HiveServer2 (HS2) está habilitado para TLS/SSL como parte de la configuración de seguridad de Cifrado en tránsito en HiveServer2. Esto afecta a la forma en que se conecta a HS2 que se ejecuta en un clúster de Amazon EMR con el cifrado en tránsito activado. Para conectarse a HS2, debe modificar los valores de los parámetros TRUSTSTORE_PATH y TRUSTSTORE_PASSWORD en la URL del JDBC. La siguiente URL es un ejemplo de una conexión JDBC para HS2 con los parámetros necesarios:

jdbc:hive2://HOST_NAME:10000/default;ssl=true;sslTrustStore=TRUSTSTORE_PATH;trustStorePassword=TRUSTSTORE_PASSWORD

Utilice las instrucciones adecuadas para el cifrado de HiveServer2 dentro o fuera del clúster que se indican a continuación.

On-cluster HS2 access

Si va a acceder a HiveServer2 mediante el cliente Beeline después de utilizar SSH con el nodo principal, consulte /etc/hadoop/conf/ssl-server.xml para buscar los valores de los parámetros TRUSTSTORE_PATH y TRUSTSTORE_PASSWORD mediante la configuración ssl.server.truststore.location y ssl.server.truststore.password.

Los siguientes comandos de ejemplo pueden ayudarle a recuperar estas configuraciones:

TRUSTSTORE_PATH=$(sed -n '/ssl.server.truststore.location/,+2p' /etc/hadoop/conf/ssl-server.xml | awk -F "[><]" '/value/{print $3}') TRUSTSTORE_PASSWORD=$(sed -n '/ssl.server.truststore.password/,+2p' /etc/hadoop/conf/ssl-server.xml | awk -F "[><]" '/value/{print $3}')
Off-cluster HS2 access

Si accede a HiveServer2 desde un cliente externo al clúster de Amazon EMR, puede utilizar uno de los siguientes enfoques para obtener TRUSTSTORE_PATH y TRUSTSTORE_PASSWORD.

  • Convierta el archivo PEM que se creó durante la configuración de seguridad en un archivo JKS y utilícelo en la URL de conexión JDBC. Por ejemplo, con openssl y keytool, use los siguientes comandos:

    openssl pkcs12 -export -in trustedCertificates.pem -inkey privateKey.pem -out trustedCertificates.p12 -name "certificate" keytool -importkeystore -srckeystore trustedCertificates.p12 -srcstoretype pkcs12 -destkeystore trustedCertificates.jks
  • Como alternativa, consulte /etc/hadoop/conf/ssl-server.xml para buscar los valores de los parámetros TRUSTSTORE_PATH y TRUSTSTORE_PASSWORD mediante la configuración ssl.server.truststore.location y ssl.server.truststore.password. Descargue el archivo truststore en la máquina cliente y utilice la ruta de la máquina cliente como TRUSTSTORE_PATH.

    Para obtener más información sobre el acceso a las aplicaciones desde un cliente fuera del clúster de Amazon EMR, consulte Uso del controlador JDBC de Hive.