Ролевая модель доступа к данным в HDFS SDP#
Для разграничения доступов между сервисами Abyss рекомендуется использовать следующую модель. Данная модель предполагает создание дублирующей (резервной) учетной записи для каждого сервиса (в таблице ниже эти ТУЗ имеют приписку _res), необходимой для бесшовного процесса смены Kerberos Keytab (переключение между ТУЗ необходимо осуществлять ближе к моменту окончания срока жизни Keytab).
Каталог в HDFS |
Права (рекурсивно) |
Группа доступа |
Состав группы (ТУЗ) |
Сервис |
Параметр |
Пример директории |
Описание |
|---|---|---|---|---|---|---|---|
|
770 |
|
|
Druid |
druid.storage.storageDirectory |
|
хранение исторических данных |
Druid |
druid.indexer.logs.directory |
|
хранение логов задач Druid |
||||
Monitoring |
service.analytical.dictionary.store-path |
|
хранение словарей |
||||
|
770 |
|
|
Flink |
state.checkpoints.dir |
|
хранение checkpoints Flink |
Flink |
high-availability.storageDir |
|
хранение метаданных кластера Flink |
||||
Flink |
state.savepoints.dir |
|
хранение savepoints Flink |
||||
Flink |
jobmanager.archive.fs.dir |
|
хранение данных о завершенных задачах FLink |
||||
Flink |
historyserver.archive.fs.dir |
|
хранение данных о завершенных задачах FLink |
||||
|
770 |
|
|
Archive |
service.archive.hdfs.storage.sources-path |
|
хранение данных архива |
Archive |
service.archive.hdfs.storage.temporary-path |
|
хранение промежуточных данных архива |
||||
Archive |
service.archive.hdfs.storage.query-results-path |
|
хранение результатов запросов в архив |
||||
Archive |
service.archive.spark.event-logging-dir |
|
хранение логов задач поднятия данных из архива |
||||
Archive |
service.archive.spark.configuration.common.additional-properties[spark.yarn.stagingDir] |
|
хранение промежуточных результатов при запросе данных из архива |
Где:
stand_id - произвольный идентификатор стенда;
Идентификация ТУЗ: По протоколу Kerberos. Kerberos Keytab хранятся в Secret Management System.
Пользователь для доступа к HDFS задается параметром hadoop.user.name для сервисов Abyss
В SDP целевым средством управления доступом в HDFS является Ranger, все доступы настраиваются в нем.
Для корректной работы требуется добавить в HDFS SDP в блок custom-core-site параметры. Значения в скобках требуется заменить на соответствующих пользователей из таблицы выше:
hadoop.proxyuser.abyss-<stand_id>-druid.groups=* hadoop.proxyuser.abyss-<stand_id>-druid.hosts=* hadoop.proxyuser.abyss-<stand_id>-flink.groups=* hadoop.proxyuser.abyss-<stand_id>-flink.hosts=* hadoop.proxyuser.abyss-<stand_id>-archive.groups=* hadoop.proxyuser.abyss-<stand_id>-archive.hosts=* hadoop.proxyuser.abyss-<stand_id>-monitoring.groups=* hadoop.proxyuser.abyss-<stand_id>-monitoring.hosts=* hadoop.proxyuser.abyss-<stand_id>-druid_res.groups=* hadoop.proxyuser.abyss-<stand_id>-druid_res.hosts=* hadoop.proxyuser.abyss-<stand_id>-flink_res.groups=* hadoop.proxyuser.abyss-<stand_id>-flink_res.hosts=* hadoop.proxyuser.abyss-<stand_id>-archive_res.groups=* hadoop.proxyuser.abyss-<stand_id>-archive_res.hosts=* hadoop.proxyuser.abyss-<stand_id>-monitoring_res.groups=* hadoop.proxyuser.abyss-<stand_id>-monitoring_res.hosts=*