Criptografia em trânsito no HiveServer2
Desde a versão 6.9.0 do Amazon EMR, o HiveServer2 (HS2) é habilitado para TLS/SSL como parte da configuração de segurança Criptografia em trânsito no HiveServer2. Isso afeta a forma como você se conecta ao HS2 em execução em um cluster do Amazon EMR com a criptografia em trânsito habilitada. Para se conectar ao HS2, você deve modificar os valores dos parâmetros TRUSTSTORE_PATH e TRUSTSTORE_PASSWORD no URL do JDBC. O URL a seguir é um exemplo de uma conexão JDBC para HS2 com os parâmetros necessários:
jdbc:hive2://HOST_NAME:10000/default;ssl=true;sslTrustStore=TRUSTSTORE_PATH;trustStorePassword=TRUSTSTORE_PASSWORD
Use as instruções adequadas para criptografia HiveServer2 no cluster ou fora do cluster abaixo.
- On-cluster HS2 access
-
Se você estiver acessando o HiveServer2 usando o cliente Beeline depois de aplicar SSH no nó primário, faça referência a /etc/hadoop/conf/ssl-server.xml para encontrar os valores dos parâmetros TRUSTSTORE_PATH e TRUSTSTORE_PASSWORD usando a configuração ssl.server.truststore.location e ssl.server.truststore.password.
Os exemplos de comandos a seguir podem ajudar você a recuperar essas configurações:
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
-
Se você está acessando o HiveServer2 de um cliente fora do cluster do Amazon EMR, pode usar uma das seguintes abordagens para obter TRUSTSTORE_PATH e TRUSTSTORE_PASSWORD:
-
Converta o arquivo PEM que foi criado durante a configuração de segurança em um arquivo JKS e use-o no URL de conexão JDBC. Por exemplo, com openssl e keytool, use os seguintes 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, faça referência a /etc/hadoop/conf/ssl-server.xml para encontrar os valores dos parâmetros TRUSTSTORE_PATH e TRUSTSTORE_PASSWORD usando a configuração ssl.server.truststore.location e ssl.server.truststore.password. Baixe o arquivo truststore para a máquina cliente e use o caminho na máquina cliente como TRUSTSTORE_PATH.
Para obter mais informações sobre como acessar aplicações de um cliente fora do cluster do Amazon EMR, consulte Usar o driver JDBC do Hive.