团队管理
权限管理

一、行云管家中如何实现精细化的权限管理

行云管家是一种基于团队协作的工作模式,很自然的,我们需要通过权限控制来约束团队成员的行为,以实现安全运维的需要。行云管家采用基于角色、部门、成员的访问控制模型来实现权限控制,具体来说,是将授权模型划分为功能授权和资源授权两个维度,在两个维度基础上进行对象授权(角色、部门、成员),将这两种权限授权给团队中的某成员或他所在的角色、部门时,该成员便自动拥有了所被授予的各项权限。

1.1、授权对象原理

行云管家采用角色、部门、成员来作为授权对象,对功能、资源等进行授权。可以把成员加入到角色或者组织架构的相关部门里,然后基于这三种授权对象进行功能、资源授权。成员最终拥有的权限为该成员所在的角色、部门以及成员自身拥有的权限的总和。

1.2、功能权限原理

除了可以授权给团队成员,在基于角色、部门的访问控制模型中,我们还可以把功能权限赋予角色或部门,再把该成员加入到相关角色或部门里。以角色为例,团队成员和角色,角色和功能权限都是多对多的关系。团队成员拥有的功能权限等于该成员所在的角色持有功能权限之和。

1.3、资源权限原理

在行云管家中,资源授权中资源指的是导入到行云管家中的主机/服务器、对象存储Bucket、CDN加速域名等资源,在授权时,用户可以非常灵活的进行资源授权,既可以云账户(什么是云账户?)为单位进行整体授权,也可以云账户下某个区域/专有网络以物理网络的形态进行授权,甚至将云账户下的部分资源放到一个分组中,对该分组进行授权。和功能授权一样,我们把资源权限赋予授权对象。团队成员拥有的资源权限等于该成员所在的角色、所在的部门以及成员自身持有资源权限之和。

(1)云账户授权

一个角色、部门或成员如果获得了某个云账户(可以理解为整个局域网)授权后,将默认拥有该云账户中所有资源的权限,在获得导入主机的功能权限前提下,可以向该云账户中导入主机;

(2)物理网络授权

物理网络(可以理解为局域网内的某个网段,或者公有云下的VPC)授权只能获得云账户中某个区域/专有网络中的资源权限,如果网络中有新资源导入,可以动态的自动获得新资源的权限;

(3)主机授权

主机授权可以对云账户以及物理网络中的每台主机进行单独资源授权;

(4)主机分组授权(推荐使用)

主机分组授权是非常精细的资源授权,分组由管理员手工创建,可以将云账户中的部分物理网络、主机资源、CDN、Bucket添加到这个分组中。通过主机分组授权就可以将某几台主机/服务器授权给某几个团队成员。

我们已经初步了解行云管家的精细化权限管理模型,现在来学习一下具体的操作攻略吧!

二、对象授权

无论是进行功能授权还是资源授权,最终都是授权给授权对象,在行云管家中,授权对象可以是成员,也可以是成员所在的角色,还可以是成员所在部门;

2.1、角色管理操作

在进行授权操作之前,您可以按照实际业务需求规划好相关角色,角色管理的入口位于团队管理中,进入“团队管理/权限管理”,即可查看“角色管理”。

(1)了解系统内置角色

行云管家内置了“团队拥有者”、“管理员”、“业务管理员”、“安全审计员”和“操作员”等几个基本角色,以及代表团队全部成员的“所有成员”这一特别角色,内置角色不可删除。

a)团队拥有者:团队拥有者默认拥有团队的完整管理权限,每个团队只允许拥有一个所有者,但团队拥有者可将此身份转移给其他团队成员。

  • 注意:团队拥有者默认不属于系统管理员角色,您可以把团队拥有者添加进系统管理员角色;

b)系统管理员:管理员是系统内置角色,不可删除,默认拥有大部分的业务及团队管理权限,用户也可根据需要修改该角色的授权。

c)业务管理员:业务管理员是系统内置角色,不可删除,默认拥有大部分的业务管理权限,用户也可根据需要修改该角色的授权。

d)安全审计员:安全审计员是系统内置角色,不可删除,默认可查看团队所有的审计与操作日志,用户也可根据需要修改该角色的授权。

e)操作员:操作员是系统内置角色,不可删除,默认拥有访问主机等基本操作的功能权限,用户也可根据需要修改该角色的授权。

f)所有成员:所有成员是系统内置角色,不可删除,将某个权限项授给该角色,意味着团队内所有成员都会拥有此权限

(2)查看角色成员

在角色列表中,我们可以看到每个角色均有“成员列表”,里面列出了该角色下的所有成员名单。

(3)添加角色成员

一个成员可以同时拥有多个角色身份,如果要为某个成员指定某个角色,只需用鼠标点击该角色的“添加成员”按钮,将该成员添加到该角色的成员列表中。

(4)添加新的角色

除了系统内置的几个角色外,您可以根据实际需要自定义新的角色,在“角色管理”页面点击“添加新角色”,填写角色名称及说明后,点击“添加”即可。

(5)修改和删除角色

对于用户自定义添加的角色,后期可对其进行修改和删除。将鼠标移动到角色名称所在表格的右上角,将出现修改角色名称和删除角色的图标,您可对角色进行修改或者删除操作。

(6)团队拥有者转移

行云管家允许转移团队拥有者身份,鼠标移到团队拥有者列表右上角,点击“转移身份”页签,进入编辑页面,选择需要转移的目标团队成员,点击“确定”完成身份转移。

注意:团队拥有者为整个团队的拥有者,请谨慎操作;

2.2、部门管理操作

在进行授权操作之前,您可以按照实际业务需求规划好相关部门,部门管理的入口位于“团队管理”中。

(1)开启部门管理功能

在“团队管理”的“团队成员”里,点击右上角的“组织架构视图”来开启或切换为组织架构视图。

(2)查看部门成员、添加新部门

开启组织架构视图后,可以在“团队成员”的“组织架构视图”里做以下操作:查看当前部门的成员、移动成员、添加新部门、删除部门、编辑部门名称等。

(3)部门授权管理

开启组织架构视图后,可以在“权限管理”里看到“部门授权管理”(没开启前是看不到的),可以在这里做以下操作:查看部门功能、云资源及主机分组授权情况,或在这里直接进行相关权限授权。

(4)移动部门成员

每个用户只能属于某个部门,不能同时属于多个部门,可以通过移动成员来把用户移动到其他部门;

三、功能授权操作

前文中已经介绍了行云管家授权模型原理和角色、部门等的管理操作,当您需要修改某功能项的授权时,只需在功能授权页面将相应角色、部门或成员添加到相应的功能权限项即可完成。

3.1、查看功能授权

进入“团队管理/权限管理”,点击“功能授权”页签。在这里列出了行云管家全部功能权限项,您可以通过设置操作对角色、部门或成员进行功能授权。

3.2、功能授权设置

除了“团队拥有者保留权限”之外,用户均可修改该权限项的授权。选择一个权限项,点击右侧的“设置”,打开功能授权对话框。

这里可以看到,可以授权的授权对象为角色、组织单元(部门)、团队成员。需要注意的是,如果您勾选了“所有成员”,那么整个团队里的所有成员都将会有该权限。

3.3、导航菜单权限模块

对所有导航菜单的“查看”权限进行控制;

导航菜单我们可以通过上图进行权限控制,设置授权对象能否看到这些导航菜单及页面;

四、资源授权操作

我们前面已经了解了资源/服务器授权可以分成云账户、物理网络、主机以及主机分组等多层授权体系。因此,我们在进行资源授权前,需要对资源授权做一个规划,确保授权逻辑是准确的。在这里强烈推荐使用主机分组授权进行资源授权管理。

4.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”这三台主机,但看不到其他主机;

4.2、通过主机分组授权实现主机维度的权限管理模型(强烈推荐使用)

从上述我们可以看到,授权“云账户”以及授权“物理网络”,用户都能看到“云账户”或某个“物理网络”里的所有主机,那么如果我们需要授权只看到“云账户”或某个“物理网络”里的某几台主机,而不是所有主机,就需要按下述进行授权操作了。

行云管家主机资源授权是以云账户或物理网络为基本隔离单元,但是通常情况下,用户在导入主机时,一般是将一个云厂商账号或局域网中的所有主机都归到一个云账户中,那么在主机资源授权时,只能把该云账户或物理网络下的所有主机都授权给某个角色、部门或成员,很显然这种方式是无法满足主机维度的精细化授权需求的,那么这种情况下,我们就需要通过主机分组授权来实现主机维度的权限管理模型。

(1)创建分组

如果您是第一次进入“主机分组授权”页面进行授权,请点击“主机分组授权”里的“创建分组”来创建分组;

(2)分组管理

在这里可以看到我们刚创建的分组,此时我们可以对该分组进行“名称编辑”、“删除”、“添加主机、物理网络、CDN加速域名、对象存储Bucket”、“创建子分组”以及对授权对象进行“授权”等操作了;

(3)添加资源

在分组里,我们可以将需要进行精细化授权的物理网络、主机、CDN加速域名、对象存储Bucket添加进来,点击“添加主机”或“添加主机”旁的下拉按钮即可;

  • a)添加物理网络:

  • b)添加主机:

  • c)添加CDN加速域名:

  • d)添加对象存储Bucket:

(4)添加授权对象

像云账户授权一样,添加需要授权的对象;

(5)创建子分组

在主机分组授权这里,我们还支持分组的“子分组”管理与级联授权;您可以将分组按照您的业务维度进行划分,并授权相关用户进行管理;

(6)分组排序

最终我们可以看到主机分组授权列表如下:

(7)主机分组授权后,即可进行分组视图管理

4.3、延伸阅读

如何授权指定的几台主机给用户

五、脚本任务库授权操作

在“权限管理”这里,我们还可以对自动化运维里相关的脚本库、任务库进行授权。

六、导出资源权限明细(6.2版本支持)

(1)在“权限管理”这里,我们还可以导出资源权限明细,点击导出后可以在“任务中心”图标中点击查看,点击“下载”,来下载该明细报告;

(2)报告为excel格式文件;