Skip to content

角色组与策略 ​

角色组把一组带类型的策略绑定在一起并分配给普通用户,从而按角色控制资源与功能。每个类型在一个角色组内至多绑定一个策略,同一类型再次绑定时会替换旧策略。内置策略类型:

类型作用设置字段(JSON)
quota存储配额quota_mb(0 表示不限)
upload单文件大小与媒体类型max_size_mb、allowed_mime_types
rate上传与图片读取限流upload_per_minute、upload_burst、image_per_minute、image_burst
processing即时图片处理能力enabled、max_width、max_height、default_quality、allowed_formats
feature功能开关集合features(如 plaza、albums、api_tokens、batch_upload、paste_upload、drag_upload、embed_code、share、share_password)

策略字段为可选覆盖值:未出现的字段沿用配置文件中的默认值。首次启动会依据 auth/upload/processing/limits 配置播种一个「默认角色组」及每个类型的一条策略;历史用户会自动归入默认组。

上传与图片读取的限流会在每次请求时按调用方所属角色组的 rate 策略解析执行(访客与匿名请求使用 Guest 组,回退默认组),管理员调整策略后最多约 30 秒生效;limits.* 配置仅作为策略默认值的种子。

方法路径说明
GET/auth/policies当前账户最终生效的策略集合
GET/POST/admin/role-groups角色组列表 / 新建
GET/PUT/DELETE/admin/role-groups/{id}角色组详情 / 修改 / 删除
POST/admin/role-groups/{id}/policies绑定策略(体为 {"policy_id":"…"},同类型替换)
DELETE/admin/role-groups/{id}/policies/{policyID}解除绑定
GET/POST/admin/policies策略列表(可带 ?type=)/ 新建
GET/PUT/DELETE/admin/policies/{id}策略详情 / 修改 / 删除

通过 PATCH /admin/customers/{id},请求体可携带 "role_group_id"(空字符串表示回退默认组)为普通用户分配角色组;分配时其存储配额会按角色组的 quota 策略同步。修改配额策略后,引用该策略的所有角色组的成员配额也会被重新同步。

基于 MIT 许可证发布