2016-11-03 3 views
0

Я хочу получить для данной базы данных/таблицы список групп, которым этой базе данных/таблице предоставлен доступ в часах.Apache sentry - Получить группы часовых поясов, которым была присвоена данная база данных/таблицы

+0

Даже если я могу получить Java REST api для подключения к службе Sentry, может сделать для меня работу. –

ответ

0

Для этой цели не существует команды Sentry SHOW в documentation.

Это blog post предполагает, что вы можете напрямую обращаться к базе данных Sentry (при условии, что вы используете службу Sentry, а не файлы политики).

Однако в настоящее время нет команды, чтобы показать группе роль . Единственный способ сделать это - подключиться к базе данных Sentry и получить эту информацию из таблиц в базе данных .

Если вы используете CDH вы можете определить, какой узел в кластере работает база данных Sentry с помощью Cloudera диспетчера, навигации по Кластеры> Sentry, а затем нажав Sentry сервер, а затем конфигурации. Здесь вы найдете тип используемой базы данных (например, MySQL, PostgreSQL, Oracle), сервер, на котором запущены базы данных , это порт, имя базы данных и пользователя.

Вам понадобится пароль базы данных Sentry - сообщение в блоге дает предложение о его извлечении, если вы этого не знаете.

Пример запроса для базы данных PostgreSQL Дано:

SELECT "SENTRY_ROLE"."ROLE_NAME","SENTRY_GROUP"."GROUP_NAME" 
FROM "SENTRY_ROLE_GROUP_MAP" 
JOIN "SENTRY_ROLE" ON "SENTRY_ROLE"."ROLE_ID"="SENTRY_ROLE_GROUP_MAP"."ROLE_ID" 
JOIN "SENTRY_GROUP" ON "SENTRY_GROUP"."GROUP_ID"="SENTRY_ROLE_GROUP_MAP"."GROUP_ID"; 

Однако, я не пробовал этот запрос, сам.