HiveServer2에서 전송 중 데이터 암호화
Amazon EMR 릴리스 6.9.0부터 HiveServer2(HS2)는 HiveServer2에서 전송 중 데이터 암호화 보안 구성의 일부로 TLS 및 SSL을 지원합니다. 이는 전송 중 암호화가 활성화된 상태로 Amazon EMR 클러스터에서 실행 중인 HS2에 연결하는 방법에 영향을 줍니다. HS2에 연결하려면 JDBC URL의 TRUSTSTORE_PATH
및 TRUSTSTORE_PASSWORD
파라미터 값을 수정해야 합니다. 다음 URL은 필수 파라미터가 포함된 HS2용 JDBC 연결의 예제입니다.
jdbc:hive2://HOST_NAME
:10000/default;ssl=true;sslTrustStore=TRUSTSTORE_PATH
;trustStorePassword=TRUSTSTORE_PASSWORD
아래의 클러스터 내부 또는 클러스터 외부 HiveServer2 암호화에 대한 적절한 지침을 사용합니다.
- On-cluster HS2 access
-
프라이머리 노드에 SSH로 연결한 후 Beeline 클라이언트를 사용하여 HiveServer2에 액세스하는 경우 ssl.server.truststore.location
및 ssl.server.truststore.password
구성을 사용하여 TRUSTSTORE_PATH
및 TRUSTSTORE_PASSWORD
파라미터를 찾기 위해 /etc/hadoop/conf/ssl-server.xml
을 참조합니다.
다음 예제 명령은 이러한 구성을 검색하는 데 도움이 될 수 있습니다.
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
-
Amazon EMR 클러스터 외부의 클라이언트에서 HiveServer2에 액세스하는 경우 다음 접근 방식 중 하나를 사용하여 TRUSTSTORE_PATH
및 TRUSTSTORE_PASSWORD
를 가져올 수 있습니다.
-
보안 구성 중에 생성된 PEM 파일을 JKS 파일로 변환하고 JDBC 연결 URL에서 동일한 파일을 사용합니다. 예를 들어 openssl 및 keytool을 사용하는 경우 다음 명령을 사용합니다.
openssl pkcs12 -export -in trustedCertificates.pem -inkey privateKey.pem -out trustedCertificates.p12 -name "certificate"
keytool -importkeystore -srckeystore trustedCertificates.p12 -srcstoretype pkcs12 -destkeystore trustedCertificates.jks
-
또는 ssl.server.truststore.location
및 ssl.server.truststore.password
구성을 사용해 /etc/hadoop/conf/ssl-server.xml
을 참조하여 TRUSTSTORE_PATH
및 TRUSTSTORE_PASSWORD
파라미터 값을 찾습니다. 트러스트 스토어 파일을 클라이언트 시스템에 다운로드하고 클라이언트 컴퓨터의 경로를 TRUSTSTORE_PATH
로 사용합니다.
Amazon EMR 클러스터 외부의 클라이언트에서 애플리케이션에 액세스하는 방법에 대한 자세한 내용은 Hive JDBC 드라이버 사용을 참조하세요.