授权管理
资源授权

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

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

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格式文件;

3.1、主机权限

3.2、主机凭证权限

3.3、数据库权限

3.4、数据库凭证权限

3.5、应用权限