Русский
Русский
English
Статистика
Реклама

Перевод Безопасность hdfs hive hbase используя knox и ranger

Apache HDFS (Hadoop Distributed File System) файловая система, предназначенная для хранения файлов больших размеров, поблочно распределённых между узлами вычислительного кластера.
Apache Hive система управления базами данных на основе платформы Hadoop.
Apache HBase СУБД класса NoSQL с открытым исходным кодом, проект экосистемы Hadoop.
Apache KNOX REST API и шлюз приложений для компонентов экосистемы Apache Hadoop, обеспечивает единую точку доступа для всех HTTP соединений с кластерами Apache Hadoop и систему единой аутентификации Single Sign On (SSO) для сервисов и пользовательского интерфейса компонент Apache Hadoop.
Apache Ranger это инфраструктура для обеспечения, мониторинга и управления комплексной безопасностью данных на платформе Hadoop


Перевод поста Securing hdfs hive hbase knox ranger 2015 года. Получше и поновее поста не нашел.


Введение


Apache Ranger обеспечивает комплексный подход к безопасности кластера Hadoop. Он обеспечивает централизованное администрирование политик безопасности по основным требованиям безопасности предприятия, включая авторизацию, учет и защиту данных.


Apache Ranger расширяет базовые функции для скоординированного применения в рамках рабочих нагрузок Hadoop, включая пакетный, интерактивный SQL и Hadoop в реальном времени.


В этом руководстве мы рассмотрим использование Apache Ranger для HDP 2.3 для защиты вашей среды Hadoop. Мы рассмотрим следующие темы:


  1. Поддержка авторизации Knox и аудита


  2. Политики командной строки в Hive


  3. Политики командной строки в HBase


  4. API REST для диспетчера политик



Предпосылки


Единственное предварительное условие для этого урока наличие Hortonworks Sandbox.


Как только у вас появится Hortonworks Sandbox, войдите через SSH:



Запуск службы Knox и демонстрационной службы LDAP


В консоли Ambari по адресу http://localhost:8080/ (имя пользователя и пароль admin и admin соответственно) выберите Knox из списка служб в левой части страницы.



Затем нажмите Service Actions в верхнем правом углу страницы и нажмите Start.



Далее вы можете отследить запуск службы Knox до его завершения:



Затем вернитесь к кнопке Service Actions в службе Knox и нажмите Start Demo LDAP.



Вы можете отследить запуск демо-службы LDAP на следующем экране:



Сценарии доступа Knox


Проверьте, запущена ли консоль администратора Ranger по адресу http://localhost:6080/ с вашего хост-компьютера. Имя пользователя admin, пароль admin.



Если он не запущен, вы можете запустить его из командной строки с помощью команды


sudo service ranger-admin start


Щелкните ссылку sandbox_knox в разделе Knox на главном экране Ranger Administration Portal



Вы можете просмотреть подробные сведения о политике, щелкнув название политики.



Чтобы начать тестирование политик Knox, нам нужно отключить политику global knox allow.



Найдите политику Sandbox for Guest в консоли Ranger Admin и отредактируйте политику.



и включите политику Sandbox for Guest



Из локального терминала SSHd (непосредственно в Sandbox) запустите эту команду CURL для доступа к WebHDFS.


curl -k -u admin:admin-password 'https://127.0.0.1:8443/gateway/knox_sample/webhdfs/v1?op=LISTSTATUS'


Перейдите в инструмент Ranger Policy Manager Audit screen и проверьте, проверяется ли доступ (отказ) к Knox.



Теперь давайте попробуем ту же команду CURL, используя учетные данные guest из терминала.


curl -k -u guest:guest-password 'https://127.0.0.1:8443/gateway/knox_sample/webhdfs/v1?op=LISTSTATUS'


{"FileStatuses":{"FileStatus":[{"accessTime":0,"blockSize":0,"childrenNum":0,"fileId":16393,"group":"hadoop","length":0,"modificationTime":1439987528048,"owner":"yarn","pathSuffix":"app-logs","permission":"777","replication":0,"storagePolicy":0,"type":"DIRECTORY"},{"accessTime":0,"blockSize":0,"childrenNum":4,"fileId":16389,"group":"hdfs","length":0,"modificationTime":1439987809562,"owner":"hdfs","pathSuffix":"apps","permission":"755","replication":0,"storagePolicy":0,"type":"DIRECTORY"},{"accessTime":0,"blockSize":0,"childrenNum":1,"fileId":17000,"group":"hdfs","length":0,"modificationTime":1439989173392,"owner":"hdfs","pathSuffix":"demo","permission":"755","replication":0,"storagePolicy":0,"type":"DIRECTORY"},{"accessTime":0,"blockSize":0,"childrenNum":1,"fileId":16398,"group":"hdfs","length":0,"modificationTime":1439987529660,"owner":"hdfs","pathSuffix":"hdp","permission":"755","replication":0,"storagePolicy":0,"type":"DIRECTORY"},{"accessTime":0,"blockSize":0,"childrenNum":1,"fileId":16394,"group":"hdfs","length":0,"modificationTime":1439987528532,"owner":"mapred","pathSuffix":"mapred","permission":"755","replication":0,"storagePolicy":0,"type":"DIRECTORY"},{"accessTime":0,"blockSize":0,"childrenNum":2,"fileId":16396,"group":"hadoop","length":0,"modificationTime":1439987538099,"owner":"mapred","pathSuffix":"mr-history","permission":"777","replication":0,"storagePolicy":0,"type":"DIRECTORY"},{"accessTime":0,"blockSize":0,"childrenNum":1,"fileId":16954,"group":"hdfs","length":0,"modificationTime":1439988741413,"owner":"hdfs","pathSuffix":"ranger","permission":"755","replication":0,"storagePolicy":0,"type":"DIRECTORY"},{"accessTime":0,"blockSize":0,"childrenNum":3,"fileId":16386,"group":"hdfs","length":0,"modificationTime":1440165443820,"owner":"hdfs","pathSuffix":"tmp","permission":"777","replication":0,"storagePolicy":0,"type":"DIRECTORY"},{"accessTime":0,"blockSize":0,"childrenNum":8,"fileId":16387,"group":"hdfs","length":0,"modificationTime":1439988397561,"owner":"hdfs","pathSuffix":"user","permission":"755","replication":0,"storagePolicy":0,"type":"DIRECTORY"}]}}

Мы можем проверить аудит в Ranger Policy Manager Audit screen.



Плагин Ranger для Knox перехватывает любые запросы, отправленные к Knox, и применяет политики, полученные с портала администрирования Ranger.


Вы можете настроить политики Knox в Ranger, чтобы ограничить их определенной службой (WebHDFS, WebHCAT и т. д.) и конкретным пользователем или группой, и вы даже можете привязать пользователя / группу к IP-адресу



Разрешения grant/revoke в Hive


Ranger может поддерживать импорт политик grant/revoke, установленных через командную строку или Hue for Hive. Ranger может централизованно хранить эти политики вместе с политиками, созданными на портале администрирования, и применять их в Hive с помощью своего плагина.



Первым делом отключите глобальную политику доступа для Hive на портале администрирования Ranger.



Давайте попробуем запустить операцию Grant, используя пользовательский Hive из командной строки. Войдите в инструмент beeline, используя следующую команду


beeline -u "jdbc:hive2://sandbox.hortonworks.com:10000/default" -n it1 -p it1-d org.apache.hive.jdbc.HiveDriver


Затем введите команду GRANT


grant select, update on table xademo.customer_details to user network1;

Вы должны увидеть следующую ошибку:



Давайте проверим журнал аудита в Ranger Administration Portal Audit



Вы можете видеть, что доступ был запрещен для операции администратора для пользователя it1.


Мы можем создать политику в Ranger для пользователя it1 в качестве администратора. Создайте новую политику в консоли администратора Ranger и убедитесь, что конфигурация соответствует приведенной ниже иллюстрации.



Мы можем попробовать команду beeline еще раз, как только политика будет сохранена.


GRANT select, update on table xademo.customer_details to user network1;


Если команда прошла успешно, вы увидите, что политика создана / обновлена в Ranger Admin Portal Policy Manager. Он проверяет, существует ли существующая соответствующая политика для обновления, в противном случае он создает новую.



Что здесь происходит?


Плагин Ranger перехватывает команды GRANT/REVOKE в Hive и создает соответствующие политики на портале администратора. Затем плагин использует эти политики для принудительной авторизации Hive (Hiveserver2).


Пользователи могут запускать дополнительные команды GRANT для обновления разрешений и команды REVOKE для отмены разрешений.


Разрешения grant/revoke в HBase


Ranger может поддерживать импорт политик grant/revoke, установленных через командную строку в Hbase. Подобно Hive, Ranger может хранить эти политики как часть диспетчера политик и применять их в Hbase с помощью своего плагина.


Прежде чем продолжить, убедитесь, что HBase запущен из Ambari http://127.0.0.1:8080 (имя пользователя и пароль admin).


Если это не так, нажмите кнопку Service Actions в правом верхнем углу и запустите службу.



Сначала давайте попробуем запустить операцию Grant с помощью пользователя Hbase.


Отключите политику общего доступа HBase Global Allow на Ranger Administration Portal диспетчер политик.



Войдите в оболочку HBase как пользователь it1


su - it1[it1@sandbox ~]$ hbase shell


Запустите команду grant, чтобы предоставить пользователю mktg1 доступ на чтение, запись и создание в таблице iemployee.


hbase(main):001:0> grant 'mktg1', 'RWC', 'iemployee'

вы должны получить отказ в доступе, как показано ниже:



Перейдите в Ranger Administration Portal Policy Manager и создайте новую политику, чтобы назначить права admin пользователю it1.



Сохраните политику и снова запустите команду HBase.


hbase(main):006:0> grant 'mktg1', 'RWC', 'iemployee'0 row(s) in 0.8670 seconds


Проверьте политики HBase на портале Ranger Policy Administration. Разрешения на предоставление были добавлены в существующую политику для таблицы iemployee, которую мы создали на предыдущем шаге.



Вы можете отозвать те же разрешения, и они будут удалены из администратора Ranger. Попробуйте это в той же оболочке HBase


hbase(main):007:0> revoke 'mktg1', 'iemployee'0 row(s) in 0.4330 seconds

Вы можете проверить существующую политику и посмотреть, не были ли она изменена



Что здесь происходит?


Плагин Ranger перехватывает команды GRANT/REVOKE в Hbase и создает соответствующие политики на портале администратора. Затем плагин использует эти политики для принудительной авторизации.


Пользователи могут запускать дополнительные команды GRANT для обновления разрешений и команды REVOKE для отмены разрешений.


REST APIs для администрирования политик


Администрированием политик Ranger можно управлять через REST API. Пользователи могут использовать API для создания или обновления политик, вместо того, чтобы заходить на портал администрирования.


Запуск REST API из командной строки


В локальной оболочке командной строки запустите эту команду CURL. Этот API создаст политику с именем hadoopdev-testing-policy2 в репозитории HDFS sandbox_hdfs


curl -i --header "Accept:application/json" -H "Content-Type: application/json" --user admin:admin -X POST http://127.0.0.1:6080/service/public/api/policy -d '{ "policyName":"hadoopdev-testing-policy2","resourceName":"/demo/data/test","description":"Testing policy for /demo/data/test","repositoryName":"sandbox_hdfs","repositoryType":"HDFS","permMapList":[{"userList":["mktg1"],"permList":["Read"]},{"groupList":["IT"],"permList":["Read"]}],"isEnabled":true,"isRecursive":true,"isAuditEnabled":true,"version":"0.1.0","replacePerm":false}'


И диспетчер политик и просмотрите новую политику с именем hadoopdev-testing-policy2



Щелкните политику и проверьте созданные разрешения.



Идентификатор политики является частью URL-адреса этой страницы сведений о политике http://127.0.0.1:6080/index.html#!/hdfs/1/policy/26


Мы можем использовать идентификатор политики для получения или изменения политики.


Выполните приведенную ниже команду CURL, чтобы получить сведения о политике с помощью API.


curl -i --user admin:admin -X GET http://127.0.0.1:6080/service/public/api/policy/26

Что здесь происходит?


Мы создали политику и получили ее детали с помощью REST API. Теперь пользователи могут управлять своими политиками с помощью инструментов API или приложений, интегрированных с REST API Ranger.


Надеюсь, во время этого головокружительного тура по Ranger вы познакомились с простотой и мощью Ranger для управления безопасностью.

Источник: habr.com
К списку статей
Опубликовано: 28.01.2021 10:04:30
0

Сейчас читают

Комментариев (0)
Имя
Электронная почта

Информационная безопасность

Big data

Hdfs hive hbase knox ranger

Категории

Последние комментарии

  • Имя: Макс
    24.08.2022 | 11:28
    Я разраб в IT компании, работаю на арбитражную команду. Мы работаем с приламы и сайтами, при работе замечаются постоянные баны и лаги. Пацаны посоветовали сервис по анализу исходного кода,https://app Подробнее..
  • Имя: 9055410337
    20.08.2022 | 17:41
    поможем пишите в телеграм Подробнее..
  • Имя: sabbat
    17.08.2022 | 20:42
    Охренеть.. это просто шикарная статья, феноменально круто. Большое спасибо за разбор! Надеюсь как-нибудь с тобой связаться для обсуждений чего-либо) Подробнее..
  • Имя: Мария
    09.08.2022 | 14:44
    Добрый день. Если обладаете такой информацией, то подскажите, пожалуйста, где можно найти много-много материала по Yggdrasil и его уязвимостях для написания диплома? Благодарю. Подробнее..
© 2006-2024, personeltest.ru