Понимание синтаксиса файла sentry-provider.ini
Караульный provider.ini
[groups]
# Assigns each Hadoop group to its set of roles
engineer = engineer_role
ops = ops_role
dev_ops = engineer_role, ops_role
hbase_admin = hbase_admin_role
[roles]
# The following grants all access to source_code.
# "collection = source_code" can also be used as syntactic
# sugar for "collection = source_code->action=*"
engineer_role = collection = source_code->action=*
# The following imply more restricted access.
ops_role = collection = hive_logs->action=Query
dev_ops_role = collection = hbase_logs->action=Query
#give hbase_admin_role the ability to create/delete/modify the hbase_logs collection
#as well as to update the config for the hbase_logs collection, called hbase_logs_config.
hbase_admin_role = collection=admin->action=*, collection=hbase_logs->action=*, config=hbase_logs_config->action=*
Я не понимаю, какой здесь используется синтаксис и в чем его смысл? Откуда эти группы и ролевые ценности? Почему в одной строке два символа?
Спасибо!
1 ответ
Sentry зависит от базовой структуры аутентификации для надежной идентификации запрашивающего пользователя, то есть Kerberos или LDAP. Это говорит вам, к каким группам принадлежит пользователь.
Конфигурация Sentry затем определяет роли. Это уровень косвенности, который позволяет вам совместно использовать / повторно использовать наборы привилегий для нескольких групп.
Группе (-ам) может быть назначена роль, что дает пользователям в этих группах привилегии, связанные с этой ролью.
Права доступа определяются (обычно) таблицами Hive или коллекциями Solr. Это может быть сделано на нескольких уровнях (сервер, база данных и / или таблица в случае Hive или сбор в случае Solr).
Итак, следующая строка:
engineer_role = collection = source_code->action=*
следует интерпретировать как означающее: роль инженера имеет одну привилегию, а именно: для коллекции "исходный код" разрешите все действия.
Когда вместе с информацией группы:
[groups]
engineer = engineer_role
[roles]
engineer_role = collection = source_code->action=*
Это означает, что любой пользователь в группе "engineer" (как определено вашей средой аутентификации) принадлежит роли "engineer_role" и, таким образом, может выполнять любые действия с коллекцией "source_code" в Solr.
Есть более подробные примеры в документации Cloudera (CDH 5.8):