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服務可能爲我做一份工作。 –