Архитектура Ranger

Обзор

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

Ranger имеет сложную структуру, состоящую из трех компонентов: Ranger Admin, Ranger KMS и Ranger User synchronizer.

Архитектура Ranger
Архитектура Ranger
Архитектура Ranger
Архитектура Ranger

Ranger определяет политики аутентификации для сервисов через плагины и хранит их на сервере политик.

Ranger Admin

Ranger Admin — это централизующий интерфейс управления политиками, пользователями и аудитом. Он доступен через веб-интерфейс и через REST API. Для Ranger Admin доступна работа в режиме высокой доступности. Когда пользователь использует веб-интерфейс через браузер, балансировщик нагрузки выбирает для обработки действий инстанс с наименьшей нагрузкой. Метаданные Ranger Admin можно хранить во внешней базе данных (PostgreSQL/MySQL).

Ranger Admin также поддерживает аутентификацию пользователей через LDAP/Active Directory.

Ranger KMS

Ranger KMS (Key Management Service) используется для шифрования внутри кластера. Он основан на Hadoop KMS и позволяет хранить ключи в защищенной базе данных вместо Java keystore-файлов. Сервером KMS можно управлять через Ranger Admin.

Ranger KMS позволяет создавать, удалять и обновлять ключи через Ranger Admin или посредством REST API. Ranger KMS полностью совместим с REST API Hadoop KMS. Использование Ranger KMS рекомендуется из-за дополнительной безопасности и масштабируемости — Ranger KMS поддерживает режим высокой доступности. Как и в случае с Ranger Admin, метаданные Ranger KMS можно хранить во внешней базе данных (PostgreSQL/MySQL).

Ranger UserSync

Ranger User synchronizer (UserSync) позволяет Ranger синхронизировать пользователей/группы из внешних систем. По умолчанию импортируются только пользователи из Unix, но вы можете настроить дополнительный LDAP-источник.

По умолчанию происходит инкрементная синхронизация: при каждой синхронизации UserSync обновляет только добавленных или отредактированных пользователей/групп. Когда пользователь или группа удаляются в оригинальной системе, UserSync не удаляет их из Ranger Admin. Для улучшения производительности UserSync не импортирует пустые группы. Синхронизация происходит только в одну сторону, т.е. если пользователя удалить из Ranger Admin, он останется в исходной системе.

Синхронизация происходит периодически, частоту обновлений можно установить в конфигурации Ranger. Параметр, отвечающий за период обновления, называется ranger.usersync.sleeptimeinmillisbetweensynccycle и находится в группе параметров ranger-ugsync-site.xml. Если не установить значение, то будет использоваться значение по умолчанию: 300000 для Unix и 21600000 для LDAP.

Сервер политик Ranger

Сервер политик Ranger позволяет определять политики авторизации для приложений Hadoop.

Плагины Ranger

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

Нашли ошибку? Выделите текст и нажмите Ctrl+Enter чтобы сообщить о ней