关于 sf-permissions
sf-permissions 是面向管理员和开发者的 Salesforce 权限审计技能。它分析权限集层级、定位用户或资源的授权来源,并区分直接授予与继承访问。
主要功能
- 01权限集与权限集组层级分析
- 02用户访问调查
- 03对象、字段、Apex 和 Flow 授权检测
- 04权限配置导出
- 05区分直接访问与继承访问
适用场景
- 01查明哪些权限授予资源访问权
- 02检查用户的 Salesforce 访问权限
- 03审计或导出权限集配置
安装
复制下面的命令,在终端中运行。
$
npx skills add https:/ / github.com/ jaganpro/ sf-skills --skill sf-permissions安装后在 Claude Code 中输入/sf-permissions确认已加载。
包含的文件
除 SKILL.md 外,安装时一起下载的参考资料和脚本。
.gitignoreCREDITS.mdLICENSEREADME.mdrequirements.txtreferences/agent-access-guide.mdpermission-model.mdsoql-reference.mdusage-examples.mdworkflow-examples.mdscripts/__init__.pyauth.pycli.pyhierarchy_viewer.pymetadata_fetcher.pypermission_detector.pypermission_exporter.pytooling_api.pyuser_analyzer.pyscripts/renderers/__init__.pyascii_tree.pymermaid.py详细介绍
sf-permissions
当用户需要权限分析与访问审计时使用此技能:权限集 / 权限集组层级视图、“谁有权访问 X?”调查、用户权限分析,或权限集元数据审查。
此技能适用的任务
以下工作请使用 sf-permissions:
- 权限集 / 权限集组分析
- 用户访问调查
- 查明哪些权限授予对象 / 字段 / Apex / 流 / 选项卡 / 自定义权限的访问权
- 审计或导出权限配置
- 审查权限元数据影响
以下情况请转交其他技能:
- 创建新的元数据定义 → sf-metadata
- 部署权限集 → sf-deploy
- 分析由 Apex 管理的共享逻辑 → sf-apex
首先收集必要的上下文
询问或推断:
- 目标组织别名
- 问题涉及对象、字段、Apex 类、流、选项卡、自定义权限,还是特定用户
- 目标是可视化层级、检测访问权限、导出,还是生成元数据
- 输出应侧重终端,还是便于编写文档
推荐工作流
1. 对请求分类
| 请求形式 | 默认能力 |
|---|---|
| “谁有权访问 X?” | 权限检测器 |
| “这个用户有什么权限?” | 用户分析器 |
| “展示层级结构” | 层级查看器 |
| “导出此权限集” | 导出器 |
| “根据分析生成元数据” | 生成器或转交 |
2. 连接到正确的组织
运行权限分析前,确认 sf 已通过身份验证。
3. 使用范围最小但足够的查询
优先进行有针对性的分析;除非用户明确要求完整审计,否则不要扫描整个组织。
选择标识符时,优先使用稳定的元数据名称:
PermissionSet.NamePermissionSetGroup.DeveloperNameCustomPermission.DeveloperName- 对象和字段 API 名称,例如
Account或Account.AnnualRevenue - 面向用户的检查可使用
Assignee.Username/ 电子邮件
仅在以下情况下使用 Salesforce 记录 ID:
- 底层对象模型要求使用
ParentId或SetupEntityId,或者 - 在同一调查中,需要进一步检查先前只读查询返回的记录
4. 清晰呈现调查结果
使用:
- 终端工作采用 ASCII 树形结构或表格输出
- 仅在确实有助于文档表达时使用 Mermaid
- 简洁总结授予访问权限的来源
5. 将创建或部署工作转交给其他技能
使用:
- sf-metadata 生成更丰富的元数据
- sf-deploy 进行部署
关键信息规则
- 区分直接授予的权限集权限与通过权限集组授予的权限
- 首轮调查查询优先使用
Name/DeveloperName/ API 名称,而不是特定组织的记录 ID - 明确说明访问权限属于对象级、字段级、类级、流级,还是基于自定义权限
- 对于设置实体和高级可见性问题,按需使用 Tooling API
- 对于 Agent 访问权限问题,核实权限元数据中的 Agent 名称是否精确匹配
- 如果后续子查询需要
ParentId或SetupEntityId,请从先前的结果中解析 ID,而不是直接使用复制来的 ID
输出格式
完成时按以下顺序报告:
- 分析内容
- 组织 / 对象范围
- 授予访问权限的权限
- 访问权限是直接授予还是继承而来
- 建议的后续操作
建议格式:
Permission analysis: <hierarchy / detect / user / export>
Scope: <org, user, permission target>
Findings: <permsets / groups / access level>
Source: <direct assignment or via group>
Next step: <export, generate metadata, or deploy changes>
跨技能集成
| 需求 | 委派给 | 原因 |
|---|---|---|
| 生成或修改权限元数据 | sf-metadata | 元数据编写 |
| 部署权限变更 | sf-deploy | 推出变更 |
| 确定需要授予权限的 Apex 类 | sf-apex | 实现上下文 |
| 批量用户分配分析 | sf-data | 大规模数据操作 |
参考索引
从这里开始
专项分析
评分指南
| 分数 | 含义 |
|---|---|
| 90+ | 权限分析扎实,访问权限来源清晰 |
| 75–89 | 审计结果有用,仅存在少量疏漏 |
| 60–74 | 仅能提供部分可见性 |
| < 60 | 证据不足;请扩展分析 |
评论
支持 Markdown