Контроль доступа с помощью политик Hive в Apache Ranger#
CedrusData позволяет выполнять авторизацию действий пользователя с помощью политик доступа Hive в Apache Ranger. Данный режим аутентификации поддерживается для коннекторов Hive и Iceberg.
Требования#
Apache Ranger версии 2.5.0 и выше
Наличие сервиса Hive в Apache Ranger
Наличие сетевого доступа к Apache Ranger с координатора CedrusData
Принцип работы#
Apache Ranger хранит политики доступа к различным системам. Для каждой целевой системы в Apache Ranger необходим соответствующий плагин, который описывает структуру политик доступа. Одним из встроенных плагинов Apache Ranger является плагин Hive (отображается в UI Apache Ranger как Hadoop SQL), который управляет политиками доступа в Apache Hive.
В CedrusData вы можете осуществлять авторизацию действий пользователя в каталогах Hive и Iceberg на основе политик доступа Hive в Apache Ranger. Для этого CedrusData подключается к Apache Ranger и получает из него политики доступа Hive, а также группы и роли пользователя. После этого происходит локальная авторизация действия пользователя. Политики, группы и роли периодически обновляются с заданной частотой.
Настройка#
Конфигурация авторизации с помощью политик Hive в Apache Ranger происходит на уровне конкретного каталога (Hive или Iceberg).
Задайте в конфигурации каталога режим безопасности cedrusdata_hive_ranger
(также можно написать cedrusdata-hive-ranger
). Пример для Hive:
hive.security=cedrusdata-hive-ranger
Пример для Iceberg:
iceberg.security=cedrusdata-hive-ranger
Далее необходимо задать имя существующего сервиса Hive в Apache Ranger с помощью параметра cedrusdata.ranger-hive.service-name
.
Например, если в Apache Ranger имя сервис Hive равно myhive
, задайте следующую конфигурацию:
cedrusdata.ranger-hive.service-name=myhive
Если у вас есть XML-файлы конфигурации Apache Ranger, полученные от администраторов, то используйте их для дальнейшей конфигурации.
Перечислите данные файлы через запятую в параметре конфигурации cedrusdata.ranger-hive.resources
. Как правило, на этом настройка будет завершена.
Если у вас нет XML-файлов конфигурации, необходимо будет задать:
Путь к Apache Ranger
cedrusdata.ranger-hive.rest.url
Имя пользователя и пароль для подключения (
cedrusdata.ranger-hive.rest.basic-auth-username
,cedrusdata.ranger-hive.rest.basic-auth-password
)Если вы подключаетесь к Apache Ranger по TLS, то потребуется XML-файл Apache Ranger с настройками SSL. Данный файл вам должны предоставить администраторы Apache Ranger. Путь к нему необходимо указать в параметре конфигурации
cedrusdata.ranger-hive.rest.ssl-config-file
Предупреждение
XML-файлы конфигурации Apache Ranger зачастую содержат пути к другим файлам. После получения XML-файлов от администраторов Apache Ranger мы рекомендуем вам перепроверить и при необходимости исправить пути к файлам, и убедиться, что у вас есть все используемые файлы.
Примеры#
Подключение к Apache Ranger из каталога Hive с помощью XML-файлов конфигурации:
hive.security=cedrusdata-hive-ranger
cedrusdata.ranger-hive.service-name=myhive
cedrusdata.ranger-hive.resources=path/to/ranger-hive-security.xml,path/to/ranger-hive-audit.xml
Подключение к Apache Ranger из каталога Iceberg с явным указанием параметров:
iceberg.security=cedrusdata-hive-ranger
cedrusdata.ranger-hive.service-name=myhive
cedrusdata.ranger-hive.rest.url=https://ranger:9080
cedrusdata.ranger-hive.rest.ssl-config-file=path/to/ranger-policymgr-ssl.xml
cedrusdata.ranger-hive.rest.basic-auth-username=admin
cedrusdata.ranger-hive.rest.basic-auth-password=rangerR0cks!
Параметры конфигурации#
Название |
Описание |
---|---|
|
Имя сервиса Hive в Apache Ranger. Обязательный параметр. |
|
Идентификатор приложения CedrusData. Опциональный параметр, необходим только для целей аудита. |
|
Разделенные запятой пути к XML файлам конфигурации Apache Ranger.
Опциональный параметр. Используйте его, если администраторы Apache Ranger предоставили вам файлы конфигурации (например, |
|
URL Apache Ranger Admin. Должен начинаться с |
|
Путь к файлу с конфигурацией SSL. Наличие такого файла обязательно, если вы подключаетесь к Apache Ranger через SSL.
Если значение не задано, будет использовано значение параметра |
|
Таймаут подключения к Apache Ranger Admin.
Если значение не задано, будет использовано значение параметра |
|
Таймаут чтения данных из Apache Ranger Admin.
Если значение не задано, будет использовано значение параметра |
|
Имя пользователя для подключения к Apache Ranger Admin
Если значение не задано, будет использовано значение параметра |
|
Пароль для подключения к Apache Ranger Admin.
Если значение не задано, будет использовано значение параметра |
|
Как часто обновлять политики доступа Apache Ranger.
Если значение не задано, будет использовано значение параметра |
|
Директория, в которой будут сохранены закэшированные политики Apache Ranger.
Если значение не задано, будет использовано значение параметра |
|
Включен ли аудит Apache Ranger. Значение по умолчанию: |
|
Откуда брать список групп доступа для текущего пользователя. Допустимые значения: |
|
Размер кэша пользовательских групп Apache Ranger.
Используется, только когда значение параметра |
|
Как долго хранить закэшированные группы Apache Ranger для конкретного пользователя.
Используется, только когда значение параметра |