2016-03-11 5 views
0

У меня есть незащищенный кластер (CDH 5.4), и поскольку я хочу предоставить доступ к данным для большего числа пользователей, я хотел бы включить Sentry, пока не Kerberos (который появляется после успешного запуска Sentry). Поскольку некоторым другим людям может понадобиться Импала в данный момент, я решил настроить его в Hive на первом этапе.Apache Sentry: SemanticException Нет действительных привилегий Необходимые привилегии для этого запроса

шаги я принял: 1) Я создал 2 пользователей: улей и TUser

TUser - группа тест улей - группа улей, Zookeeper

тестовая группа

indexer.access, about.access, beeswax.access, filebrowser.access, hbase.write, hbase.access, help.access, impala.access, jobbrowser.access, 
jobsub.access, metastore.write, metastore.access, oozie.dashboard_jobs_access, oozie.access, pig.access, proxy.access, rdbms.access, 
search.access, security.impersonate, security.access, spark.access, sqoop.access, useradmin.access_view:useradmin:edit_user, useradmin.access, zookeeper.access 

группа улей

beeswax.access 

группа hive h а роль администратора (первый с разблокированным замком):

SERVER 
server=server1 action=ALL 
SERVER 
server=server1 action=ALL 

тестовая группа имеет роль Neco

SERVER 
server=server1 action=ALL 
URI 
server=server1 hdfs://...:8020/user/hive/warehouse action=ALL 
DATABASE 
server=server1 db=default action=ALL 

Кроме того, улей пользователь находится в оба набора sentry.service.admin.group и сторожевой .service.allow.connect.

2) Я включил часовые - в улье проверил Sentry службы от "нет" до "сторожевого" - в улом Service Advanced Configuration Snippet (предохранительный клапан) для сторожки site.xml вставленной <property> <name>sentry.hive.testing.mode</name><value>true</value></property> + перезапущен Sentry

Результат: Пользовательский улей может получить доступ к чему угодно в Улье. Это то, чего я ожидал.

Пользователь TUser ничего не может получить доступ в улье: Error while compiling statement: FAILED: SemanticException No valid privileges Required privileges for this query: Server=server1->Db=*->Table=+->action=insert;Server=server1->Db=*->Table=+->action=select;

Что мне не хватает?

+0

Все в/пользователь/улей/склад имеет владельца и группу улей + 777. –

+0

Кроме того, я попытался добавить tuser в группу hive и добавил его в группы sentry.service.admin.group и sentry.service.allow. connect и sentry.metastore.service.users, но результат тот же. –

+0

Не знаете, как этот файл политики работает для ролей, не связанных с администрированием. Вместо этого мы запускаем некоторые явные команды «GRANT». Вы пытались выполнить некоторые команды аудита * (sthg, например 'SHOW GRANTS' - не помню точный синтаксис, и Sentry в любом случае трахает синтаксис Hive по умолчанию) *, чтобы проверить, какие привилегии у вашей группы, отличной от admin, на самом деле? –

ответ

0

Наконец-то мне было рекомендовано, что было не так: группы Hue должны быть такими же, как и группы на linux-канале Namenode (при проверке HDFS org.apache.hadoop.security.ShellBasedUnixGroupsMapping). В случае Impala все узлы с Impala Daemons должны иметь одинаковые группы.

Однако я собираюсь обгонять группы из LDAP (опция org.apache.hadoop.security.LdapGroupsMapping).

 Смежные вопросы

  • Нет связанных вопросов^_^