在 FastGPT v4.17.2 中,权限控制分布在团队角色、知识库权限与文件级权限三个层次,各自覆盖的对象与生效范围不同。判断权限放在哪一层,取决于要约束的是成员的操作能力、某个知识库的可见与可写范围,还是单个文件在知识库内的访问边界。三层可以叠加使用,配置前需要先确认成员的团队角色,再逐层核对知识库与文件的权限设置。
三层权限各自管什么
团队角色决定成员在团队范围内能做什么。它约束的是成员身份对应的操作能力,例如能否创建知识库、能否管理团队成员、能否使用某些团队级功能。知识库权限决定成员对某个知识库能做什么,作用范围落在单个知识库上,通常涉及该知识库的可见性以及在该知识库内进行读取、写入、管理等操作。文件级权限决定成员对知识库内某个具体文件能做什么,作用范围落在单个文件上,用于在知识库权限之上进一步收窄或放开对特定文件的访问。三层的对象依次是团队、知识库、文件,范围由大到小。团队角色是基础,成员先具备团队角色,才会进入知识库与文件的权限判断。知识库权限和文件级权限都依附于知识库这一层,文件级权限不能脱离所属知识库单独存在。因此配置权限时,先看团队角色是否允许成员接触知识库,再看知识库权限是否允许成员进入该知识库,最后看文件级权限是否允许成员访问具体文件。三层都通过时,成员才能对目标文件执行相应操作。
权限层次选择比较表
下表按方案、适用条件、需要核对的点三列,列出把权限控制放在不同层次时的判断依据。方案一,团队角色。适用条件是需要约束成员在整个团队范围内的基础操作能力,例如能否创建知识库、能否管理成员。需要核对的点是成员当前角色,以及该角色在 FastGPT v4.17.2 中对应的操作范围。方案二,知识库权限。适用条件是需要控制成员对某个知识库整体的可见与可写范围。需要核对的点是成员在该知识库中的权限设置,以及该知识库是否对成员可见。方案三,文件级权限。适用条件是需要对知识库内个别文件单独控制访问。需要核对的点是文件所在知识库的权限是否已允许成员进入,以及该文件自身的权限设置。方案四,三层叠加。适用条件是需要同时约束团队操作、知识库范围与单个文件访问。需要核对的点是三层设置是否一致,避免上层已禁止而下层仍保留可访问状态。选择时先明确要约束的对象是团队、知识库还是文件,再对应到相应层次,最后核对上层权限是否已经放行。
配置前需要核对的要点
核对团队角色时,确认成员在团队中的角色,以及该角色在 FastGPT v4.17.2 中允许执行的操作。团队角色是后续两层权限的前提,角色不具备相应能力时,知识库权限与文件级权限无法让成员越过这一层。核对知识库权限时,确认成员对目标知识库的权限设置,以及该知识库对成员的可见状态。知识库权限决定成员能否进入该知识库,文件级权限在这一层之后才生效。核对文件级权限时,确认目标文件在所属知识库内的权限设置,并确认成员已经通过知识库权限进入该知识库。文件级权限用于在知识库范围内对单个文件做更细的控制,不能替代知识库权限。核对三层关系时,注意权限由上层到下层逐级判断,上层未放行时下层设置不会生效。修改某一层权限后,需要同时检查其他两层是否仍然符合预期,避免出现成员能进入知识库却无法访问目标文件,或者文件权限已放开而知识库权限仍禁止进入的情况。文档中未明确说明的细节,以 FastGPT v4.17.2 官方文档 guide/dataset/collection_permission 的表述为准。