Linkis支持代理用户提交架构设计
- 登陆用户:通过用户名密码直接登陆系统的用户
代理用户:作为登陆用户实际执行操作的用户称之为代理用户,代理登陆用户的相关操作
- 登陆用户A代理到代理用户B时,可以查看B相关的执行记录,任务结果等数据
- 一个代理用户同时可以代理多个登陆用户,但是一个登陆用户同一时刻只能关联某一个代理用户
修改现有接口cookie处理,需要能在cookie中解析出登录用户和代理用户
- linkis的相关接口需要 在原来获取UserName的基础上,要能识别出代理用户信息,使用代理用户进行各项操作。并记录审计日志,包含用户的任务执行操作,下载操作
用户分为代理用户和非代理用户,代理类型的用户不能进行再次代理到其他用户执行
- 需要控制登陆用户与可代理的系统用户列表,禁止出现任意代理的情况,避免权限不可控。最好支持数据库表来配置,并可以直接修改生效,不需要重启服务
- 单独记录日志文件包含代理用户的操作,如代理执行、函数更新等PublicService的代理用户操作全部记录到日志中,方便审计