SuperAPI AI 工具集

check-agent-access

智能体与模型

查看项目

更新于 10-16 05:46

技能介绍

用途:对 Snowflake 账户中的 Cortex Agents 做端到端权限审计,验证某个角色(如 PUBLIC、READER 或自定义应用角色)能否完整调用一个或多个智能体,并找出缺失的授权。

主要能力:发现账户内全部智能体(SHOW AGENTS IN ACCOUNT;,失败时回退查询 SNOWFLAKE.ACCOUNT_USAGE.CORTEX_AGENTS);并行读取每个智能体的实时规范,提取语义视图、Cortex Search 服务、UDF、仓库及指令中出现的表等依赖;对每个依赖并行执行对应的 SHOW GRANTS 检查(Agent 需 USAGE、语义视图需 SELECT、Cortex Search 服务需 USAGE、函数需 USAGE、仓库需 USAGE、表需 SELECT),并沿父角色递归解析继承授权;输出按智能体分组的 Markdown 缺口表(Object | Type | Required Privilege | Status,含 ✅/❌),汇总检查数量与缺口;为每个缺口生成一条 GRANT 语句,可选择直接执行或仅展示供复制。

使用方式:先确认审计范围(全部或部分智能体),再指定目标角色;随后读取规范并检查授权。若规范结果被截断或不可用,应单独重新获取该智能体规范,不能因空规范就假定无依赖。执行 GRANT 需 SYSADMIN 或 ACCOUNTADMIN 角色,失败时提示切换角色。流程中设有停止点:确认范围、确认角色、执行 GRANT 前均需用户明确同意。

适用场景:上线新智能体前审计、排查角色无法调用智能体的原因、生成可运行的授权修复脚本。

限制:不负责角色层级设计(交给 rbac)、掩码与行访问策略(交给 data-governance)、仓库成本分析(交给 cost-intelligence)。语义视图的 SELECT 与 REFERENCES 均视为足够的读权限;不得猜测对象 FQN,只审计规范或目录中确认的对象。RBAC 变更易误暴露敏感数据,需谨慎确认目标角色。