PolyBase Hadoop 보안 구성

이 문서에서는 Hadoop에 대한 APS PolyBase 연결에 영향을 주는 다양한 구성 설정에 대한 참조를 제공합니다. PolyBase에 대한 연습은 PolyBase란?을 참조하세요.

참고 항목

APS에서는 모든 컴퓨팅 노드 및 제어 노드에서 XML 파일 변경이 필요합니다.

APS에서 XML 파일을 수정할 때는 특별히 주의해야 합니다. 누락된 태그 또는 원치 않는 문자는 XML 파일을 무효화하여 기능의 유용성을 저해할 수 있습니다. Hadoop 구성 파일은 다음 경로에 있습니다.
C:\Program Files\Microsoft SQL Server Parallel Data Warehouse\100\Hadoop\conf XML 파일을 변경하려면 서비스를 다시 시작해야 합니다.

Hadoop.RPC.Protection 설정

Hadoop 클러스터에서 통신을 보호하는 일반적인 방법은 hadoop.rpc.protection 구성을 '개인 정보' 또는 '무결성'으로 변경하는 것입니다. 기본적으로 PolyBase는 구성이 '인증'으로 설정되었다고 가정합니다. 이 기본값을 재정의하려면 core-site.xml 파일에 다음 속성을 추가합니다. 이 구성을 변경하면 SQL Server에 대한 SSL 연결 및 Hadoop 노드 간에 안전한 데이터 전송을 활성화합니다.

<!-- RPC Encryption information, PLEASE FILL THESE IN ACCORDING TO HADOOP CLUSTER CONFIG -->
   <property>
     <name>hadoop.rpc.protection</name>
     <value></value>
   </property> 

Kerberos 구성

PolyBase가 Kerberos 보안 클러스터에 인증하는 경우 hadoop.rpc.protection 설정이 기본적으로 '인증'으로 설정되어야 합니다. 이렇게 하면 Hadoop 노드 간의 데이터 통신이 암호화되지 않습니다. hadoop.rpc.protection에 '개인 정보' 또는 '무결성' 설정을 사용하려면 PolyBase 서버에서 core-site.xml 파일을 업데이트합니다. 자세한 내용은 이전 섹션인 Hadoop.rpc.protection을 사용하여 Hadoop 클러스터에 연결을 참조하세요.

MIT KDC를 사용하여 Kerberos 보안 Hadoop 클러스터에 연결하려면 모든 APS 컴퓨팅 노드 및 제어 노드에서 다음과 같은 변경이 필요합니다.

  1. APS의 설치 경로에서 Hadoop 구성 디렉터리를 찾습니다. 일반적인 경로는 다음과 같습니다.

    C:\Program Files\Microsoft SQL Server Parallel Data Warehouse\100\Hadoop\conf  
    
  2. 테이블에 나열된 구성 키의 Hadoop 쪽 구성 값을 찾습니다. (Hadoop 컴퓨터에서 Hadoop 구성 디렉터리의 파일을 찾습니다.)

  3. 구성 값을 SQL Server 컴퓨터의 해당 파일 내 value 속성에 복사합니다.

    # 구성 파일 구성 키 작업
    1 core-site.xml polybase.kerberos.kdchost KDC 호스트 이름을 지정합니다. 예를 들면 kerberos.your-realm.com과 같습니다.
    2 core-site.xml polybase.kerberos.realm Kerberos 영역을 지정합니다. 예를 들면 YOUR REALM.COM과 같습니다.
    3 core-site.xml hadoop.security.authentication Hadoop 쪽 구성을 찾아 SQL Server 컴퓨터에 복사합니다. 예를 들면 KERBEROS와 같습니다.

    보안 정보: KERBEROS는 대문자로 작성해야 합니다. 소문자인 경우 켜지지 않을 수 있습니다.
    4 hdfs-site.xml dfs.namenode.kerberos.principal Hadoop 쪽 구성을 찾아 SQL Server 컴퓨터에 복사합니다. 예를 들면 hdfs/_HOST@YOUR-REALM.COM과 같습니다.
    5 mapred-site.xml mapreduce.jobhistory.principal Hadoop 쪽 구성을 찾아 SQL Server 컴퓨터에 복사합니다. 예를 들면 mapred/_HOST@YOUR-REALM.COM과 같습니다.
    6 mapred-site.xml mapreduce.jobhistory.address Hadoop 쪽 구성을 찾아 SQL Server 컴퓨터에 복사합니다. 예를 들면 10.193.26.174:10020과 같습니다.
    7 yarn-site.xml yarn. yarn.resourcemanager.principal Hadoop 쪽 구성을 찾아 SQL Server 컴퓨터에 복사합니다. 예를 들면 yarn/_HOST@YOUR-REALM.COM과 같습니다.

core-site.xml

<property>
  <name>polybase.kerberos.realm</name>
  <value></value>
</property>
<property>
  <name>polybase.kerberos.kdchost</name>
  <value></value>
</property>
<property>
    <name>hadoop.security.authentication</name>
    <value>KERBEROS</value>
</property>

hdfs-site.xml

<property>
  <name>dfs.namenode.kerberos.principal</name>
  <value></value> 
</property>

mapred-site.xml

<property>
  <name>mapreduce.jobhistory.principal</name>
  <value></value>
</property>
<property>
  <name>mapreduce.jobhistory.address</name>
  <value></value>
</property>

yarn-site.xml

<property>
  <name>yarn.resourcemanager.principal</name>
  <value></value>
</property>
  1. 데이터베이스 범위 자격 증명 개체를 만들어 각 Hadoop 사용자에 대해 인증 정보를 지정합니다. PolyBase T-SQL 개체를 참조하세요.

Hadoop 암호화 영역 설정

Hadoop 암호화 영역을 사용하는 경우 다음과 같이 core-site.xml 및 hdfs-site.xml을 수정합니다. KMS 서비스가 실행되는 IP 주소를 해당 포트 번호와 함께 제공합니다. CDH의 KMS에 대한 기본 포트는 16000입니다.

core-site.xml

<property>
  <name>hadoop.security.key.provider.path</name>
  <value>kms://http@<ip address>:16000/kms</value> 
</property>

hdfs-site.xml

<property>
  <name>dfs.encryption.key.provider.uri</name>
  <value>kms://http@<ip address>:16000/kms</value>
</property>
<property>
  <name>hadoop.security.key.provider.path</name>
  <value>kms://http@<ip address>:16000/kms</value>
  </property>