0
我想获得给定的数据库/表这个数据库/表已被授予哨兵访问权限的群组列表。Apache哨兵 - 获取已分配给定数据库/表的哨兵群
我想获得给定的数据库/表这个数据库/表已被授予哨兵访问权限的群组列表。Apache哨兵 - 获取已分配给定数据库/表的哨兵群
在documentation中似乎没有用于此目的的Sentry SHOW命令。
这个blog post建议您可以直接查询Sentry数据库(假设您使用的是Sentry服务,而不是策略文件)。
但是,目前没有命令显示该组的角色 映射。唯一的方法是连接到Sentry 数据库,并从 数据库中的表中获取此信息。
如果您使用CDH您可以确定哪些节点集群中是 使用的Cloudera管理器,导航到 集群>哨兵,然后单击哨兵服务器,然后 配置运行哨兵数据库。在这里你可以找到正在使用的数据库类型 (例如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服务可能为我做一份工作。 –