Criptografia em trânsito no HiveServer2 - Amazon EMR

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.