Хадуп Безопасность

Сценарий: - Пользователь входит в систему на своем компьютере, проходит аутентификацию Kerberos и отправляет задание на уменьшение карты

Я пытаюсь узнать "Как можно реализовать Kerberos в Hadoop?" Я просмотрел этот документ https://issues.apache.org/jira/browse/HADOOP-4487 Я также изучил основные материалы Kerberos ( https://www.youtube.com/watch?v=KD2Q-2ToloE)

Изучив эти ресурсы, я пришел к выводу, который представляю на диаграмме. Сценарий: - Пользователь входит в систему на своем компьютере, проходит проверку подлинности Kerberos и отправляет задание на уменьшение карты (пожалуйста, прочитайте описание схемы, вряд ли вам потребуется 5 минут вашего времени). Я хотел бы объяснить схему и задать вопросы, связанные с несколькими шаги (выделено жирным шрифтом) Цифры на желтом фоне представляют весь поток (номера от 1 до 19) DT (на красном фоне) представляет маркер делегирования BAT (на зеленом фоне) представляет маркер доступа к блоку JT (на коричневом фоне) ) представляет токен задания

Шаги 1, 2, 3 и 4 представляют: - Запрос TGT (билет на предоставление билетов) Запрос на сервисный билет для узла имени. Вопрос1) Где должен быть расположен KDC? Может ли это быть на машине, где присутствует мой узел имени или средство отслеживания заданий?

Шаги 5, 6, 7, 8 и 9 представляют собой: - Показать сервисный билет для узла имени, получить подтверждение. Узел имени выдаст токен делегирования (красный) пользователь расскажет о обновлении токена (в данном случае это Job Tracker)

Вопрос2) Пользователь отправляет этот токен делегирования вместе с заданием в систему отслеживания вакансий. Будет ли токен делегирования использоваться совместно с системой отслеживания задач?

Шаги 10, 11, 12, 13 и 14 представляют собой: - Запросите служебный билет для Job tracker, получите служебный билет от KDC. Покажите этот билет в Job Tracker и получите ACK от JobTracker. Отправьте задание + токен делегирования в JobTracker.

Шаги 15, 16 и 17 представляют собой: - Создание токена доступа к блоку и его распространение по всем узлам данных. Отправьте blockID и токен блокировки доступа в Job Tracker, и Job Tracker передаст их в TaskTracker.

Вопрос 3) Кто будет запрашивать BlockAccessToken и Block ID у узла Name? JobTracker или TaskTracker

Извините, я пропустил номер 18 по ошибке. Шаг 19 представляет: - Средство отслеживания заданий создает маркер задания (коричневый) и передает его средствам отслеживания задач.

Вопрос4) Могу ли я сделать вывод, что для каждого пользователя будет один токен делегирования, который будет распределен по всему кластеру, и будет один токен задания для каждого задания? Таким образом, у пользователя будет только один токен делегирования и много токенов задания (равное количеству отправленных им заданий).

Пожалуйста, сообщите мне, если я что-то упустил или ошибся в своем объяснении.


person Rohit Sarewar    schedule 28.02.2013    source источник
comment
Рохит! Хороший анализ; У вас есть какое-нибудь решение для защиты Hadoop? Если да, можете ли вы поделиться ответом в этом посте?   -  person Dinesh Kumar P    schedule 19.11.2014
comment
Пожалуйста, обновите ответ, если вы его получили @Rohit Sarewar   -  person Rengasamy    schedule 09.12.2014


Ответы (2)


Шаги, которые необходимо выполнить, чтобы убедиться, что Hadoop безопасен

  1. Установите Kerberos на любом сервере, доступном для всех узлов кластера. yum установить krb5-server yum установить krb5-workstation yum установить krb5-libs

  2. Измените файл конфигурации в конфигурации сервера KDC, чтобы настроить файлы ACL, файлы admin keytab для хоста. /var/kerberos/krb5kdc/kdc.conf

  3. Измените файл конфигурации /etc/krb5.conf, чтобы настроить хост kdc и сервер администратора.

  4. Создание базы данных на хосте KDC

    $ kdb5_util создать –r host_name -s

  5. Добавьте администраторов в файл ACL

    1. vi /etc/kdamin.acl
    2. Добавьте принципала администратора «admin/admin@host_name» в этот файл.
  6. Добавить участника-администратора $addprinc admin/admin@host_name

Установите клиенты Kerberos на все узлы кластера.

yum установить рабочую станцию ​​krb5

Скопируйте krb5.conf на все узлы кластера

Обязательно включите безопасный режим в Hadoop, установив необходимые конфигурации https://hadoop.apache.org/docs/current/hadoop-project-dist/hadoop-common/SecureMode.html

Проверять :

  • Войдите в систему как обычный пользователь на шлюзе или узле кластера, где развернуты пользовательские таблицы ключей.
  • Запустите «kinit –k –t /location/of/keytab file username@host_name»
  • И запустите команды HDFS или задания mapreduce, чтобы убедиться, что кластер защищен.

Это основные шаги, чтобы убедиться, что Kerberos включен в вашем кластере.

person Arafath    schedule 17.04.2015

Безопасность Hadoop в основном использовала Kerberos для аутентификации и sentry для авторизации. Ranger, как и шлюзы, knox используется для обеспечения безопасности http://commandstech.com/latest-hadoop-admin-interview-questions/

person ss sreekanth    schedule 21.01.2019