一、行云管家中如何实现精细化的权限管理
行云管家是一种基于团队协作的工作模式,很自然的,我们需要通过权限控制来约束团队成员的行为,以实现安全运维的需要。行云管家采用基于角色、部门、成员的访问控制模型来实现权限控制,具体来说,是将授权模型划分为功能授权和资源授权两个维度,在两个维度基础上进行对象授权(角色、部门、成员),将这两种权限授权给团队中的某成员或他所在的角色、部门时,该成员便自动拥有了所被授予的各项权限。
1.1、授权对象原理
行云管家采用角色、部门、成员来作为授权对象,对功能、资源等进行授权。可以把成员加入到角色或者组织架构的相关部门里,然后基于这三种授权对象进行功能、资源授权。成员最终拥有的权限为该成员所在的角色、部门以及成员自身拥有的权限的总和。
1.2、功能权限原理
除了可以授权给团队成员,在基于角色、部门的访问控制模型中,我们还可以把功能权限赋予角色或部门,再把该成员加入到相关角色或部门里。以角色为例,团队成员和角色,角色和功能权限都是多对多的关系。团队成员拥有的功能权限等于该成员所在的角色持有功能权限之和。
1.3、资源权限原理
在行云管家中,资源授权中资源指的是导入到行云管家中的主机/服务器、数据库、对象存储Bucket、CDN加速域名等资源,在授权时,用户可以非常灵活的进行资源授权,既可以云账户(什么是云账户?)为单位进行整体授权,也可以云账户下某个区域/专有网络以物理网络的形态进行授权,甚至将云账户下的部分资源放到一个分组中,对该分组进行授权。和功能授权一样,我们把资源权限赋予授权对象。团队成员拥有的资源权限等于该成员所在的角色、所在的部门以及成员自身持有资源权限之和。
(1)云账户授权
一个角色、部门或成员如果获得了某个云账户(可以理解为整个局域网)授权后,将默认拥有该云账户中所有资源的权限,在获得导入主机、数据库的功能权限前提下,可以向该云账户中导入主机、数据库;
(2)物理网络授权
物理网络(可以理解为局域网内的某个网段,或者公有云下的VPC)授权只能获得云账户中某个区域/专有网络中的资源权限,如果网络中有新资源导入,可以动态的自动获得新资源的权限;
(3)主机、数据库授权
可以对云账户以及物理网络中的每台主机、数据库进行单独资源授权;
(4)分组授权(推荐使用)
分组授权是非常精细的资源授权,分组由管理员手工创建,可以将云账户中的部分物理网络、主机资源、数据库资源、CDN、Bucket添加到这个分组中。通过分组授权就可以将某几台主机/服务器或数据库授权给某几个团队成员。
我们已经初步了解行云管家的精细化权限管理模型,现在来学习一下具体的操作攻略吧!
二、资源授权操作
我们前面已经了解了服务器、数据库授权可以分成云账户、物理网络、主机/数据库以及主机/数据库分组等多层授权体系。因此,我们在进行资源授权前,需要对资源授权做一个规划,确保授权逻辑是准确的。在这里推荐使用分组授权进行资源授权管理。
2.1、资源授权
进入“团队管理/权限管理”,点击“资源授权”,如图,默认情况下,在一个“云账户”里,分为“云账户”授权、“物理网络”授权以及“主机”或“数据库”授权;
选择一个云账户、物理网络或主机,点击右侧的“设置”,和功能授权一样,在对话框中选择对应的角色、部门或成员后点击“确定”即完成该云账户或物理网络或主机/数据库的资源授权管理。
(1)授权云账户:
如图,这里有两个云账户(相当于纳管了两个机房),云账户“LAN-QA”以及“阿里云QA”,其中“LAN-QA”有三个物理网络(相当于三个网段)。
此时我们只把云账户“LAN-QA”授权给用户“运维Joe”:
我们可以在“主机管理”菜单页面看到,“运维Joe”只能看到云账户“LAN-QA”下三个物理网络的全部主机,但看不到云账户“阿里云QA”里的全部主机;
(2)授权某个物理网络:
我们只把云账户“LAN-QA”下的物理网络“192.168.6.*”授权给用户“运维Joe”:
我们可以在“主机管理”菜单页面看到,“运维Joe”只能看到云账户“LAN-QA”下物理网络“192.168.111.*”的全部主机,但看不到云账户“LAN-QA”下的其他物理网络里的主机,以及看不到云账户“阿里云QA”里的全部主机;
(3)授权某台主机:
我们只把“运维主机B”、“192.168.111.11”、“A_Win2008_HN1”这三台主机授权给用户“运维Joe”:
我们可以在“主机管理”菜单页面看到,“运维Joe”只能看到“运维主机B”、“192.168.111.11”、“A_Win2008_HN1”这三台主机,但看不到其他主机;
2.2、分组授权(推荐使用)
通过分组授权实现主机维度的权限管理模型,从上述我们可以看到,授权“云账户”以及授权“物理网络”,用户都能看到“云账户”或某个“物理网络”里的所有主机、数据库,那么如果我们需要授权只看到“云账户”或某个“物理网络”里的某几台主机或数据库,而不是所有主机/数据库,就需要按下述进行授权操作了。
行云管家资源授权是以云账户或物理网络为基本隔离单元,但是通常情况下,用户在导入主机、数据库时,一般是将一个云厂商账号或局域网中的所有主机、数据库都归到一个云账户中,那么在资源授权时,只能把该云账户或物理网络下的所有主机、数据库都授权给某个角色、部门或成员,很显然这种方式是无法满足主机维度的精细化授权需求的,那么这种情况下,我们就需要通过分组授权来实现主机、数据库维度的权限管理模型。
(1)创建分组
如果您是第一次进入“分组授权”页面进行授权,请点击“分组授权”里的“创建分组”来创建分组;
(2)分组管理
在这里可以看到我们刚创建的分组,此时我们可以对该分组进行“名称编辑”、“删除”、“添加主机、数据库、物理网络、CDN加速域名、对象存储Bucket”、“创建子分组”以及对授权对象进行“授权”等操作了;
(3)添加资源
在分组里,我们可以将需要进行精细化授权的物理网络、主机、数据库、CDN加速域名、对象存储Bucket添加进来,点击“添加主机”或“添加主机”旁的下拉按钮即可;
- a)添加物理网络:
- b)添加主机:
- c)添加CDN加速域名:
- d)添加对象存储Bucket:
- e)添加数据库:
(4)添加授权对象
像云账户授权一样,添加需要授权的对象;
(5)创建子分组
在分组授权这里,我们还支持分组的“子分组”管理与级联授权;您可以将分组按照您的业务维度进行划分,并授权相关用户进行管理;
(6)分组排序
最终我们可以看到分组授权列表如下:
(7)分组授权后,即可进行分组视图管理
2.3、延伸阅读
三、导出资源权限明细
在“权限管理”这里,我们还可以导出资源权限明细,点击导出后可以在“任务中心”图标中点击查看,点击“下载”,来下载该明细报告,报告为excel格式文件;