权限体系构建 - 平台权限

一:介绍

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

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

时间: 2024-07-31 19:38:30

权限体系构建 - 平台权限的相关文章

ICG-智能代码生成器.(权限控制.融入平台).(表单引擎).(最低兼容IE8)

请下拉滚动条... 界面: 1--首先是server制作界面(BS结构).直接上图:   2--点击提交生成一下文件: 各个代表什么一看就懂了...... 3--把上面的文件放到对于的位置.然后编译.然后就ok了.... 打开client中的IBD中的loginin.aspx页面 用admin登陆.(admin未管理员.test为普通用户.这些在平台都可以设置) 登陆进来是这样:其中邮件和分组管理还有用户管理以及app管理都是平台自带的....看下图: 4--现在把刚才生成的app应用加入到平台

C#.NET 大型通用信息化系统集成快速开发平台 4.1 版本 - 数据权限增强、范围权限增强

并不是不想做B\S的管理工具,只是精力实在不够,由于用户权限管理组件是基础组件.所以C\S的也无妨,不会有几个人在乎Oracle,SQLServer是否不b\s的,注重的是功能性能,请大家不要纠结与是否B\S还是C\S上. 实现的方法.设计的界面.数据库结构的设计.底层DLL方法的函数调用,都可以参考,毕竟自己全部实现一个,耗费太多精力,不如拿过来用用参考,按自己的需要修改几下就可以用了,省心省事省力,腰不疼腿不酸,没必要浪费生命. 由于公司的组织机构庞大.网点非常多,所以数据权限的设置也非常复

sqlserver权限体系(上)

简介 权限两个字,一个权力,一个限制.在软件领域通俗的解释就是哪些人可以对哪些资源做哪些操作. 在SQL Server中,”哪些人”,“哪些资源”,”哪些操作”则分别对应SQL Server中的三个对象,分别为主体(Principals),安全对象(Securables)和权限(Permissions),而权力和限制则是 对应了SQL Server中的GRENT和DENY.对于主体,安全对象和权限的初步理解,见图1. 图1.简单理解主体,安全对象和权限的关系 对于图1中的造句来说,并没有主语,也

sqlserver权限体系(下)

简介 在上一篇文章中,我对主体的概念做了全面的阐述.本篇文章接着讲述主体所作用的安全对象以及所对应的权限. 理解安全对象(Securable) 安全对象,是SQL Server 数据库引擎授权系统控制对其进行访问的资源.通俗点说,就是在SQL Server权限体系下控制的对象,因为所有的对象(从服务器,到表,到视图触发器等)都在SQL Server的权限体系控制之下,所以在SQL Server中的任何对象都可以被称为安全对象. 和主体一样,安全对象之间也是有层级,对父层级上的安全对象应用的权限会

sql server drop talbe 自动删除关联的外键 ,权限体系

if object_id('Proc_DropTableWithFK') is not null begin drop proc dbo.Proc_DropTableWithFK end GO create proc Proc_DropTableWithFK @PK_tableName nvarchar(50) as begin declare test_cur cursor local for select o2.name as 'FK_name' , O3.name as 'Table_Na

Mysql 之权限体系

MySQL 的权限体系大致分为5个层级: 全局层级: 全局权限适用于一个给定服务器中的所有数据库.这些权限存储在mysql.user表中.GRANT ALL ON .和REVOKE ALL ON .只授予和撤销全局权限. 数据库层级: 数据库权限适用于一个给定数据库中的所有目标.这些权限存储在mysql.db表中.GRANT ALL ON db_name.和REVOKE ALL ON db_name.只授予和撤销数据库权限. 表层级: 表权限适用于一个给定表中的所有列.这些权限存储在mysql.

AppBoxFuture(九): 组织结构与权限体系

??权限体系是用于约束用户访问或操作资源的权利,这里的"资源"可以指数据,也可以指特定的功能(如审核订单).通常的权限体系设计是基于角色的访问控制方式,用户通过角色与权限进行关联.作者的实现方式稍微有些不同,通过组织结构树与权限进行关联,这样可以实现子级节点继承上级节点设置的权限. 一.数据结构 组织单元(OrgUnit):根据上级标识自引用的表结构,另通过EntityRef引用组织或工作组或员工: 权限模型(PermissionModel):框架内置的元数据,包含已赋予权限的组织单元

快速构建一个权限项目(三)

如何构建一个权限项目这里接着我们上次说的来编写代码,我们这个点主要讲的是接口请求全局异常处理, 接下来跟我一起看我编写的代码如何实现的,首先我们要定义一个全局异常的处理类,在common包下建一个类SpringExceptionResolver: package cn.oyc.common; import cn.oyc.exception.ParamException; import cn.oyc.exception.PermissionException; import lombok.exte

Linux用户体系和文件权限总结

一.           Linux系统用户和用户组相关文件 1.  /etc/passwd文件 这个passwd文件是Linux用户信息文件.文件格式说明如下: root:x:0:0:root:/root:/bin/bash bin:x:1:1:bin:/bin:/sbin/nologin -----------------.. -----------------.. hadoop:x:500:500::/home/hadoop:/bin/bash 文件中每一行是一个用户,各列以:分割,各列的