Azure Data Explorer:如何配置查看函数输出的最小权限?
关于Azure Data Explorer函数权限的解决方案
目前Azure Data Explorer(Kusto)并没有专门的Function Viewer角色,不过可以通过以下方式实现仅让用户访问函数输出、不暴露底层表/数据库的需求:
核心方案:授予函数的Invoke权限+利用上下文权限
使用存储函数
确保你的函数是存储函数(Stored Function)(而非临时函数),存储函数的执行会继承其创建者的权限,而非调用者的权限。也就是说,只要函数创建者拥有底层表的访问权限,调用者无需访问表就能通过函数获取结果。授予函数调用权限
使用Kusto命令为目标用户授予特定函数的invoke权限,无需赋予Database Viewer或其他更高权限:.grant function MyTargetFunction to user user@example.com with permissions = invoke权限效果验证
授权完成后,用户仅能执行以下操作:- 调用该存储函数(例如
MyTargetFunction()或invoke MyTargetFunction) - 查看该函数的定义(若需限制查看定义,可结合额外配置)
用户无法直接查询函数依赖的底层表,也无法访问数据库内的其他对象。
- 调用该存储函数(例如
注意事项
- 临时函数(Ad-hoc Functions)不支持这种权限隔离,必须使用存储函数。
- 确保存储函数的创建者拥有其依赖表的足够权限(如
Table Viewer),否则函数执行时会报错。
内容的提问来源于stack exchange,提问作者Jacob S
相关产品推荐
相关产品推荐

