Поделиться через


Настройка безопасности PolyBase Hadoop

В этой статье приведена ссылка на различные параметры конфигурации, влияющие на подключение APS PolyBase к Hadoop. Пошаговое руководство по использованию PolyBase см. в разделе "Что такое PolyBase".

Примечание.

В APS изменения в XML-файлах требуются на всех вычислительных узлах и узлах управления.

Обратите особое внимание на изменение XML-файлов в APS. Любые отсутствующие теги или нежелательные символы могут отменить xml-файл, препятствуя удобства использования функции. Файлы конфигурации Hadoop находятся в следующем пути:
C:\Program Files\Microsoft SQL Server Parallel Data Warehouse\100\Hadoop\conf Для любых изменений в XML-файлах требуется перезапуск службы.

Параметр Hadoop.RPC.Protection

Типичный способ защиты взаимодействия в кластере Hadoop — изменение конфигурации hadoop.rpc.protection на Privacy (Конфиденциальность) или Integrity (Целостность). По умолчанию PolyBase предполагает, что задана конфигурация Authenticate (Проверка подлинности). Чтобы переопределить эту настройку по умолчанию, добавьте в файл core-site.xml указанное ниже свойство. Изменение конфигурации позволит осуществлять безопасную передачу данных между узлами Hadoop и использовать SSL-подключение к SQL Server.

<!-- 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 должен по умолчанию иметь значение Authenticate. При этом обмен данными между узлами Hadoop остается в незашифрованном виде. Чтобы использовать значение Privacy или Integrity для параметра hadoop.rpc.protection, обновите файл core-site.xml на сервере PolyBase. Дополнительные сведения см. в предыдущем разделе Подключение к кластеру Hadoop с параметром Hadoop.rpc.protection.

Чтобы подключиться к кластеру Hadoop с защитой Kerberos с помощью MIT KDC, необходимы следующие изменения на всех вычислительных узлах APS и узле управления:

  1. Найдите каталоги конфигурации Hadoop в пути установки APS. Как правило, путь выглядит следующим образом:

    C:\Program Files\Microsoft SQL Server Parallel Data Warehouse\100\Hadoop\conf  
    
  2. Найдите значение конфигурации для ключей конфигурации, перечисленных в таблице, на компьютере с Hadoop. (Найдите файлы в каталоге конфигурации Hadoop на этом же компьютере.)

  3. Скопируйте значения конфигурации в свойство value соответствующих файлов на компьютере с SQL Server.

    # Файл конфигурации Ключ конфигурации Действие
    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. См. статью Объекты T-SQL PolyBase.

Настройка зоны шифрования Hadoop

Если вы используете зону шифрования Hadoop, измените core-site.xml и hdfs-site.xml, как показано ниже. Укажите IP-адрес, в котором выполняется служба KMS с соответствующим номером порта. Порт по умолчанию для KMS на CDH — 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>