如何在Kusto中一次性获取所有表的权限
在Kusto中批量获取所有表权限的实现方法
你可以通过Kusto的foreach运算符遍历表列表,批量执行权限查询命令并合并结果,完整代码如下:
// 获取当前数据库下所有表的列表 let AllTables = .show tables | project DatabaseName, TableName; // 遍历所有表,查询每个表的权限主体并合并结果 AllTables | foreach (row in *: .show table row.TableName principals | extend DatabaseName = row.DatabaseName, TableName = row.TableName ) | project DatabaseName, TableName, Principal, Role, PrincipalType
代码说明
- 第一步通过
.show tables获取当前数据库的所有表信息,筛选出DatabaseName和TableName存入变量AllTables - 使用
foreach遍历AllTables的每一行数据,对每个表执行.show table [TableName] principals命令查询权限 - 通过
extend为每个权限结果补充对应的数据库名和表名,最后统一输出核心字段,方便查看对应关系
如果需要跨多个数据库查询所有表权限,可将.show tables替换为.show database * tables,其余逻辑保持一致。
内容的提问来源于stack exchange,提问作者Vinny
相关产品推荐
相关产品推荐

