Skills DirectorySearch all skills ↗

AI agent skill · by @TencentBlueKing

Permission Model Change Guide

修改 BK-CI IAM RBAC 权限模型时使用,例如新增资源类型、设计操作列表、配置 IAM 资源、补迁移数据和验证回调链路。当用户要变更权限模型而不是普通权限调用时优先使用。

Archived 2026-10-23 · Source updated 2026-09-18. Check the original repository for the latest version.

SKILL.md instructions

# 权限模型变更指南

## 适用场景

- 新增一种 IAM 资源类型
- 为资源类型设计或调整操作列表
- 修改 IAM RBAC 配置、实例选择器或回调数据
- 补权限迁移、初始化脚本或线上变更流程
- 排查资源类型接入不完整的问题

## 不适用场景

- 只是调用现有权限校验接口
- 只是处理用户授权、加成员、移成员
- 只是修改 Auth 模块普通业务逻辑
- 只是做 OAuth2 或登录认证

## 快速指导

1. 这个 skill 关注的是“权限模型本身如何变更”,不是“现有权限怎么调用”。
2. 一次变更通常至少覆盖四层:资源定义、操作定义、数据初始化、校验验证。
3. 先按问题类型进入对应参考文档:
   - 资源类型与操作设计:`reference/1-resource-action-design.md`
   - IAM 配置、迁移与初始化:`reference/2-iam-config-migration.md`
   - 回调、验证与常见坑:`reference/3-callback-validation.md`
4. `create` 一类动作往往是权限模型里最容易配错的特殊项,要先确认关联资源是否还是父级资源。
5. 任何模型变更都要同步考虑国际化、初始化脚本、历史数据兼容和线上落地方式。
6. 如果你改的是 Auth 模块内部 RBAC 服务实现,而不是资源模型本身,切到 `auth-module-architecture`。

## 高信号规则

- 权限模型变更本质上是契约变更,不只是加几个枚举或 JSON
- 资源类型、操作列表、实例选择器、回调链路必须一起看
- 线上接入时要优先考虑初始化与兼容,而不是只让本地跑通
- API 方式和脚本方式都要明确边界,避免重复写入或状态不一致

## 关键陷阱

- 只加资源枚举,不补 IAM 配置和初始化链路
- `create`、`list`、`manage` 等动作的关联资源设计错误
- 只改配置,不做国际化、回调和验证
- 把权限模型问题误判成普通 Auth 业务问题

## 延伸阅读

- 资源类型与操作设计:`reference/1-resource-action-design.md`
- IAM 配置、迁移与初始化:`reference/2-iam-config-migration.md`
- 回调、验证与常见坑:`reference/3-callback-validation.md`
- 如果你在改 Auth 内部实现:再看 `auth-module-architecture`

Related skills