博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
权限体系构建 - 平台权限
阅读量:6456 次
发布时间:2019-06-23

本文共 1180 字,大约阅读时间需要 3 分钟。

一:介绍

对于大数据平台本身,其最重要的资产就是运行在上面的任务,平台要有对其任务进行权限控制的能力,包括但不限于:

1. 何人可以查看这个任务信息;

2. 何人可以修改这个任务定义;
3. 何人可以对这个任务进行操作,保存执行该任务,启用/禁用,删除,重跑等操作;
4. 什么人有权限可以修改这个任务本身的权限定义。
5. 不同的角色默认的权限是什么,不同的任务默认的权限又是什么。

这些都需要有一个统一的规则,即需要确定的答案。

二:权限设计

1.权限类别

同时做一定的简化,将查看设为“读”权限,将修改和操作设为“写”权限。如下表所示:

权限 包含的操作  备注
任务内容的查看  
任务的编辑、操作   

 

 

 

 

2.角色的设定

权限体系分为 **角色** + **任务访问控制列表**。

在Tourbillon中,因为有项目的概念,所以角色的主要需要从平台 - 项目 来设定。

角色 别名 权限 备注
平台超级管理员 platform_super_admin 平台所有操作权限,hive库表的管理权限  
平台管理员 platform_admin 平台所有操作权限  
项目超级管理员 project_super_admin 项目内任务的权限设置,成员管理,项目名下的库表权限  
项目管理员 project_admin 项目内任务的权限设置,成员管理 |  
项目owner owner 唯一,项目转让功能,项目描述编写  
项目开发 develop 项目内所有任务的读权限,自己任务的权限设置  
项目访客 visitor 可被分配任务的读写权限,不能新建任务  

 

 

 

 

 

 

 

3.访问控制列表

在角色定义里面,我们设置了平台层面的两个角色和项目层面的四个角色以及一个项目owner,针对不同的角色,都有相应的任务权限定义。但光有角色,我们没办法做到针对任务的细致化控制,比如:

1. A君想将自己的任务交给另外的同事B君和C君一同开发,但不想把自己的任务交给其他同事。

2. A君想把自己的任务的查看权限赋权给另外一个部门的D君同事,但不想给其修改权限,同时也不愿意给D君其他任务的查看权限。

所以对于任何一个任务,都有一个自己的访问控制列表,可以在其中增加/删除/修改属于同一项目内成员的读写权限。

4.任务级别

对于任务,默认情况下是公开,但可以设置任务的私密性。这样,开发和项目管理员将没有任务的读权限,只能通过访问控制列表设置才能获得权限。

级别 别名   描述
公开 public  项目内的开发及以上都有读权限,owner本身和管理员可以读写,可以分配给开发和访客读写权限。
私密 private    owner和平台管理员级别的有读写权限。可以分配项目管理员、开发、访客读写权限

 

 

 

转载于:https://www.cnblogs.com/silencExplode/p/9325770.html

你可能感兴趣的文章
Android学习笔记21-ImageView获取网络图片
查看>>
线段树分治
查看>>
git代码冲突
查看>>
lnmp1.3 配置pathinfo---thinkphp3.2 亲测有效
查看>>
利用android studio 生成 JNI需要的动态库so文件
查看>>
poll
查看>>
解析查询 queryString 请求参数的函数
查看>>
学生选课系统数据存文件
查看>>
我的毕设总结所用的技术和只是要点 基于stm32F4的AGV嵌入式控制系统的设计
查看>>
JMeter—断言
查看>>
C++的新类创建:继承与组合
查看>>
odoo 权限设置
查看>>
asp操作access提示“无法从指定的数据表中删除”
查看>>
git bash 风格调整
查看>>
bzoj4589 Hard Nim
查看>>
java实现pdf旋转_基于Java实现PDF文本旋转倾斜
查看>>
python time库3.8_python3中datetime库,time库以及pandas中的时间函数区别与详解
查看>>
贪吃蛇java程序简化版_JAVA简版贪吃蛇
查看>>
poi java web_WebPOI JavaWeb 项目 导出excel表格(.xls) Develop 238万源代码下载- www.pudn.com...
查看>>
oracle报1405,【案例】Oracle报错ORA-15054 asm diskgroup无法mount的解决办法
查看>>