Я хочу получить для данной базы данных/таблицы список групп, которым этой базе данных/таблице предоставлен доступ в часах.Apache sentry - Получить группы часовых поясов, которым была присвоена данная база данных/таблицы
ответ
Для этой цели не существует команды 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";
Однако, я не пробовал этот запрос, сам.
Даже если я могу получить Java REST api для подключения к службе Sentry, может сделать для меня работу. –