权限和授权项
在AstroZero中,可以通过设置权限配置Profile,来配置用户权限。系统预置了如下几种Profile,禁止删除:
- System Administrator Profile:系统管理员,拥有AstroZero全部权限。
- Developer Profile:开发者权限,一般给用户使用,拥有此权限的用户可以在AstroZero进行开发,例如新增一个对象、为对象增加一个字段、新增一个流程等。
- Portal User Profile:业务用户的权限,一般给业务用户使用,拥有此权限的业务用户可以通过服务编排鉴权登录AstroZero。
- Anonymous User Profile:游客用户的访问权限,请根据自身业务需求,给Profile分配适当的权限。
- Standard User Profile:运行态权限,开通AstroZero服务时自带的权限,拥有这个权限可以运行系统中的流程、对系统已有对象进行记录的增删改查操作,但没有开发权限,如新增一个对象或新增一个流程等。
- NoCode Developer Profile:零代码应用开发权限,只有运行环境才会预置该权限。
- NoCode Manager Profile:零代码应用数据管理权限,只有运行环境才会预置该权限。
一个Profile可以分配给很多用户,但是每个用户有且只有一个Profile。Profile能够控制权限列表如下,具体Profile权限配置请参考管理权限配置。
- 基本权限控制
基本权限是指操作AstroZero内置的资源时,在接口上设置权限校验,当前Profile需要勾选上对应的权限项才能通过访问,否则会报权限错误,对应状态码“403”。例如,创建对象需要开发应用权限,创建用户需要管理用户权限等。
- App与Menu展示控制
- 对象、字段权限控制
用户在访问具体对象字段数据记录时的权限控制。其中,对象权限包括:
- 读取: 读取对象记录的权限,没有此权限访问对象数据时会报无权限。
- 创建: 创建对象记录的权限。
- 编辑:修改对象记录数据的权限。
- 删除:删除对象记录的权限。
- 查看全部: 能够查看该对象的所有记录,不管该记录是否属于操作者(OWNER)。
- 修改全部:能够增删改对象的所有记录,不管该记录是否属于操作者(OWNER)。
- API读: 通过HTTP接口发起读取操作,不影响在服务编排、脚本等发起的操作。
- API写:通过HTTP接口发起写操作,不影响在服务编排、脚本等发起的操作。
某些特殊的对象不允许直接访问,如User对象,所有Profile只开放读取功能,增删改都要通过接口来操作。字段权限如下:
- 读: 读取某个字段值的权限
- 写:修改某个字段值的权限
某些对象的某些字段不允许直接读取与修改,如User对象的密码字段等。
- 对象标准页面的展示控制
- 接口访问控制(服务编排、脚本、BPM)
在运行服务编排、脚本或BPM资源时需要检查是否拥有该资源的运行权限,如果没有则报错。例如,需要运行脚本“view_product” ,则需要勾选上“view_product” 的运行权限才能运行。
- 连接器访问控制
目前只向对外提供HTTP接口的连接器进行权限控制,包括S3、OBS、MINIO、ObjectStorageProxy类型连接器。
在运行这些连接器的接口时,需要检查其运行权限。
- 事件访问控制
- 业务权限访问控制