理解策略和授权范围
身份与访问控制用于决定租户成员能执行哪些操作,以及这些操作能作用到哪些资源。判断一次权限是否生效时,只看两个条件:权限策略允许该操作,并且授权范围覆盖目标资源。
确认权限来自哪条允许路径
排查或回收权限前,先确认目标权限来自哪条允许路径。平台会把用户的直接授权和用户组继承权限合并计算。
- 直接授予用户:适合临时放行、个人例外或单人排障。变更后只影响该用户。
- 通过用户组继承:适合团队、项目或岗位职责相同的一组用户。变更后会影响用户组内所有成员。
警告
用户的最终权限按并集计算。若要收紧权限,需要逐一检查每条允许路径,不能只撤销其中一条。
用策略确认用户能做什么
权限策略定义用户可以执行哪些操作,例如查看、创建、更新或删除。策略只回答“能做什么”,不回答“能操作哪些对象”。
- 内置系统策略:适合授予平台预置的常见岗位权限。内置策略不可删除、不可修改;不同产品服务的内置策略覆盖的能力不同。
- 自定义策略:适合在内置系统策略过宽、过窄,或团队只想开放部分操作时使用。策略创建后还需要授权给用户或用户组,并在授权时配置范围。
- 超级管理员:适合需要管理租户、账号、权限和租户内资源的可信用户。该权限范围最大,系统至少需要保留一个超级管理员。
如果只是为常见产品岗位授权,请先选择内置系统策略。如果需要更细操作集合,再管理自定义策略。
用授权范围确认能操作哪些对象
授权范围定义策略中的操作可以作用到哪些对象。范围只回答“能操作哪些对象”,不会增加策略中没有的操作。
常见范围含义如下。实际可选范围由被授权的服务决定,请以授权页面显示为准。
- 我的:只允许操作当前用户自己创建或归属的资源。适合个人使用和最小权限授权。
- 指定资源:只允许操作被选中的具体资源。适合精确放行某个对象。
- 全部 / 租户下所有:允许在租户范围内操作该策略覆盖的对象。只适合管理员、运维或需要接管资源的负责人。
- 服务专属范围:按服务自己的资源边界限制权限。适合需要跟随某个产品服务的资源组织方式授权的场景。
警告
策略和范围必须同时命中。如果策略不包含某个操作,即使范围覆盖目标资源,也不能执行该操作;如果策略包含操作但范围没有覆盖目标资源,权限同样不会生效。
按授权目标选择配置入口
不同入口都会生成“策略 + 范围”的授权记录。入口的差异在于你想先管理谁。
- 为单个用户排障或临时授权时,进入为单个用户授权,因为用户详情页可以直接看到该用户的直接授权和继承权限。
- 为一组成员配置相同权限时,进入使用用户组批量授权,后续加人、减人即可复用同一套授权。
- 复用平台预置岗位权限时,先选择内置系统策略,确认产品服务、策略能力和授权范围的含义。
- 只开放部分服务或操作时,进入管理自定义策略,自行控制策略允许的服务和操作集合。
完成一次授权并验证结果
每次授权都需要同时选择权限策略和授权范围。
- 选择授权对象:用户或用户组。
- 选择一个或多个权限策略。
- 展开每个策略,配置本次授权的范围。
- 保存后,让用户重新登录或刷新页面,再验证权限。
同一策略可以在不同授权记录中使用不同范围。例如,一个用户可以通过用户组获得团队通用权限,再通过直接授权获得临时额外权限。最终权限按并集计算。
排查权限不生效
用户提示无权限时,按以下顺序检查,避免只看策略或只看范围。
- 在用户详情页确认该用户是否拥有相关策略,包含直接授权和用户组继承。
- 展开策略,确认策略内包含用户要执行的具体操作。
- 检查该授权记录的范围是否覆盖目标资源。
- 如果权限来自用户组,进入用户组详情页确认组权限是否仍然有效。
- 如果刚调整过权限,让用户重新登录或刷新页面后再测试。
如果撤销权限后用户仍能操作,通常是因为还有其他允许路径。请同时检查直接授权、继承用户组权限,以及其他策略是否授予了同一操作。
常见问题
以下问题用于澄清权限模型中最容易被误解的概念。执行具体授权操作时,仍以本页前面的策略、范围和允许路径检查顺序为准。
策略和角色是一回事吗?
不完全等同。策略是“允许哪些操作”的定义集合;以岗位或角色命名的内置系统策略,可以理解为平台预置的一组常用操作集合。自定义策略则由租户自行定义操作集合。
授权范围能写进策略里吗?
普通内置系统策略和自定义策略不能自带授权范围。策略只定义“允许做什么操作”,授权范围在把策略授权给用户或用户组时单独配置。超级管理员属于平台预置的特殊权限,默认作用于租户下所有资源,不代表自定义策略可以写入范围。
例如,同一条“任务只读”策略可以授权给项目 A 用户组,范围选择项目 A 的资源;也可以授权给项目 B 用户组,范围选择项目 B 的资源。策略没有变,用户能看的资源由每次授权时选择的范围决定。
为什么有策略仍然提示无权限?
通常是策略没有包含目标操作、授权范围没有覆盖目标资源,或权限变更后页面会话还没有刷新。请先确认用户是否通过直接授权或用户组获得了正确策略,再确认授权范围是否覆盖当前资源;如果刚刚调整过权限,请重新进入相关页面后再验证。
例如,用户拥有“查看任务”策略,但授权范围只覆盖资源池 A,那么查看资源池 B 中的任务仍会提示无权限;反过来,如果范围覆盖资源池 B,但策略只包含查看操作,用户仍不能在资源池 B 中创建或删除任务。
多个来源叠加时,最终权限如何计算?有“拒绝优先”吗?
平台采用并集模型。只要任一直接授权或用户组继承路径允许某个操作,并且该路径的授权范围覆盖目标资源,用户就可以执行该操作。平台不提供显式“拒绝覆盖允许”。
例如,用户通过用户组获得“查看任务 + 资源池 A”权限,又通过直接授权获得“管理任务 + 资源池 B”权限,那么用户可以查看资源池 A 的任务,也可以管理资源池 B 的任务;但不能因为有资源池 A 的查看范围,就自动获得资源池 A 的管理能力。
撤销一条授权后用户仍能操作,为什么?
通常是因为用户还通过其他路径拥有同一操作权限,例如另一个用户组、另一条直接授权,或另一个包含相同操作的策略。请回到用户详情页同时检查直接授权和继承用户组权限。
例如,用户从“项目 A 成员”用户组获得“查看任务 + 资源池 A”权限,同时又被直接授予同样的查看权限。仅把用户移出用户组后,直接授权仍然存在,因此用户仍能查看资源池 A 的任务。