版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、 Ansible Tower 权限管理使用技术手册 【摘要】本文介绍了Ansible Tower的权限管理及其使用方法,先从Ansible Tower的权限管理使用对象和权限控制对象介绍入手,通过引入一个场景,实战演示了Ansible Tower的权利管理逻辑及使用方法,文章末尾总结了Ansible Tower权限管理的要点,适用于熟悉Ansible但还不太了解AnsibleTower的读者。一、Ansible tower介绍Ansible Tower是企业级的自动化运维平台,ansible自动化工具的改良和升级版,具有许多ansible自身并没有的如web图形化展示,权限管理,REST AP
2、I,日志审计,计划任务等功能和特性。Ansible Tower的特点:一键执行任务和计划任务通过Tower的Web界面可以点击鼠标来轻松触发任务的运行。基于角色的访问控制不同用户拥有不同的访问资源的权限,可以设置某些项目为自己可见。所有的用户密码等信任关系都是加密保存。任务面板实时显示Tower的面板提供ansible任务的实时运行信息。显示当前有多少项目、主机、任务模板,统计展示。强大的 RESTful API和 CLI工具Tower所支持的RESTful API可以覆盖所有的功能。Tower 提供详细的REST API 文档。Tower还包含CLI工具,可以完成Tower的管理,比如创建用
3、户,更改密码等。Ansible Tower相比与ansible多进行了一层软件封装,把nginx, celery,rabbit mq, postgresql等组件进行了一次集成封装,提供ansible tower集成服务。二、Ansible Tower权限管理简述Ansible可以解决日常批量运维中的自动化问题,而Ansible Tower则是解决如何管理ansible的问题。而管理好ansible的关键则在于对ansible的使用人员进行权限划分,对操作ansible tower的人员实现最小化权限管理。在AnsibleTower中对于使用对象的划分有三层,Organizations,Tea
4、ms,Users。Users是使用对象的最小划分,即一个Ansible Tower的账号对应一个User。Teams次之,Organizations是使用对象的最大划分。在官方说明中An Organization is a logical collection of Users, Teams, Projects,and Inventories, and is the highest level in the Tower object hierarchy。也清楚的表达了这一点。一个Organization拥有users,teams,inventories,projects,jobtemplate
5、s,admins六个元素。不同的Organization是相互隔离的,谁也不知道谁的信息,这六个元素在创建时也必须指定一个organization才可以。下图展示了organization的管辖范围。 而对于权限的控制对象则有Job Templates,Workflow Templates,Projects,inventories,credentials这几类。而不同的控制对象的权限管理则有所不同,其中通用的权限只有一个admin,表示对该类控制对象具有全部控制权。JobTemplates具有admin和execute两项权限,分别代表管理员权限和仅执行权限。WorkflowTemplates
6、具有admin,execute,read三项权限,分别代表管理员权限,仅执行权限和只读权限。Projects具有admin,use,update三项权限,分别代表管理员权限,使用权限(只读权限)和更新权限(修改写权限)。Inventories具有admin,use,ad hoc,update四项权限,分别代表管理员权限,使用权限(只读权限),ad hoc权限(可运行adhoc命令权限)和update权限(修改写权限)。Credentials具有admin和use两项权限,分别代表管理员权限和使用权限(只读权限)。对于新创建的用户来说,用户则也分为Normal User,System Audit
7、or,System Administrator三个类型。分别代表普通用户,全局系统审计员,全局系统管理员。普通用户具有最低权限,全局系统审计员则具有对所有元素的只读权限,全局系统管理员则具有对所有元素的修改权限。下面是官方给出的对这三种用户类型的解释。Normal User: Normal Users have read and write access limited to theresources (such as inventory, projects, and job templates) for which that userhas been granted the appropri
8、ate roles and privileges.System Auditor: Auditors implicitly inherit the read-only capabilityfor all objects within the Tower environment.System Administrator: A Tower System Administrator (also known asSuperuser) has full system administration privileges for Tower with full readand write privileges
9、 over the entire Tower installation. A System Administratoris typically responsible for managing all aspects of Tower and delegatingresponsibilities for day-to-day work to various Users. Assign with caution!对于Organization中的角色则有Auditor,Admin和Member三个角色。Auditor代表组织审计员,具有对该组织内的所有元素具有只读权限,Admin代表组织管理员,具
10、有对该组织内的所有元素具有修改权限,Member代表成员,具有该组织内的最低权限。对于AnsibleTower的管理者而言,特权用户必须要局限在一个可控的范围内,否则将会失去权限管理的意义。三、创建User和Organization管理由于Organizations是使用对象的最大划分,为了便于理解和操作使用,从该章节开始引入一个实际场景描述Ansible Tower的权限管理方式。某公司在全国各地都有机房部署,每个地方的机房管理方式不同,运维方式,运维对象也都不同。上海机房作为总部负责管理Ansible Tower的服务器及Zabbix agent的部署工作,其余四地西安,南京,深圳,武汉分
11、别管理不同的业务系统。上海地区拥有三名经验丰富的一线工程师,一名管理员,两名实习生负责运维,其余各地均有一名管理员负责主管本地机房的运维,各地机房自治管理,跨地区机房不能操作管理异地的服务器。那针对于这种场景则可以在总部部署一套Ansible Tower用于全国所有机房的管理,但各地的实际环境不同,则可以把各地机房分别定义成各自的organization,这样可以实现各地机房的自治管理。由于该公司需要把各地机房各定义为organization,为了方便统一管理,在总部设置一个管理员组的organization,为了演示方便这里只创建上海机房和管理员组两个organization,后续使用均以上
12、海机房organization为主。在使用Ansible Tower之前需要使用System Administrator用户建立Organizations和Users。创建Users,Teams,Organizations和credentials均是在设置里面进行的,我们可以在这个地方先创建组织和几个用户。在设置里面点击Organizations创建组织,输入Name点击SAVE即可创建,我们分别创建上海机房和管理员组两个organization。在创建好的organization上点击user可以设置哪些用户属于该organization,在User那也可以设置。点击users进入用户设置页
13、面,继续点击Add创建用户,将星号部分填好SAVE即可创建出一个用户,其中username即为用户登录使用的用户名,密码为用户登录的密码。注意在user type项选择Normal User,这里创建一个上海管理员的用户,并将该用户的组织指向上海。在关键字NEW USER字段下面有几个选项可以设置user所属的organizations,teams以及permissions。在用户创建完成后这几个按钮会变亮,后面会提到在这里也可以设置该用户的权限。回到Organizations页面,点击组织名下面的user可以添加和管理该组织的用户有哪些,我们把各地的管理员用户加到管理员组中。添加用户时可以设
14、置该用户在该组织中的角色是怎样的,下拉菜单里也能看到Auditor,Admin和Member三个选项,这里把上海管理员用户设置为管理员组的admin。同理也把上海管理员用户设为上海机房的Admin。后续操作均使用上海管理员用户操作。四、User和Team管理在创建好上海机房和管理员组两个organization之后,我们继续添加用户,把全国的管理员建立好,再针对于上海机房的实际使用情况创建几个特殊的用户。其中南京管理员,上海管理员,深圳管理员,武汉管理员,西安管理员均属于管理员组organization,我们再把上海管理员也设置为管理员组的admin,这样上海管理员即为两个organizati
15、on的admin。除了上海管理员之外,上海机房还有五名工作人员,其中小李,小刘,小王为一线运维工程师,小秦和小张则为实习生,这样上海机房组里就有6个用户了。现在开始创建Team,对于组也有相应的权限划分,对于上海机房而言我们根据职位进行划分,因为一线运维工程师需要对运维环境做很多复杂的实际操作,而对于实习生来说他们只需要做一些简单的事就行了。在设置里点击Teams创建组,输入Name,选择上海机房organization保存即可,这里我们创建一线运维组和二线学习组两个team。创建完team之后,Team名称下的users选项会变亮,点击users可以把用户关联到该组中,关联时用户可以多选。我
16、们把小李,小刘,小王加入一线运维组,并把小王设置成admin。同理把小张和小秦加入二线学习组,加入之后可以看到二线学习组里有两个member。至此,我们把ansible tower中的organization,user和team三层使用对象建立完毕,接下来将创建权限管理的控制对象inventories,credentials,projects,templates,通过对控制对象指定不同的权限,加深对Ansible Tower权限管理的理解。五、Inventories和Credentials管理inventory和credential是AnsibleTower控制对象的两个不可或缺的部分,inv
17、entory决定了Ansible Tower所管理的对象是哪些服务器,而credential则决定了这些服务器的认证方式。由于不同的Ansible Tower版本创建inventory的链接位置有所不同,我这里的3.2.5版本的inventory在上沿,点击INVENTORIES,输入inventory名称,选择organization即可创建完成。这里我们创建5个inventory,其中全国全量服务器属于管理员组,其余inventory均属于上海机房组,这样划分的结果就是管理员组里的成员看不到上海机房组里有哪些inventory,并且上海机房组里的成员也并不知道管理员组里的inventory
18、是怎样的。属于上海机房的四个inventory则可以根据运维工程师的管辖范围进一步去区分。点击inventory名称进入inventory详情页面,点击details边上的permissions设定对该inventory的权限。对于上海全量服务器inventory,我们可以直接使用组划分权限,点击TEAMS设置组权限,对于一线运维组我们把其角色设置为update,表示可以更新该inventory,若有日常运维需要也可以把ad-hoc权限追加到一线运维组中;对于二线学习组我们只能给其use权限,不能让实习生们随意修改或删除该inventory中的数据。对于上海全量服务器inventory我们可以
19、使用组进行大范围的赋权操作,但对于其他更细的服务器列表则必须把权限限制到指定用户。拿上海Ansible Tower服务器inventory举例,上海小刘负责Ansible Tower的运维工作,而其实习生徒弟小秦也跟着小刘负责Ansible Tower,对于上海Ansible Tower服务器inventory来说权限必须控制在这两个人之内。我们给一线运维工程师小刘赋予admin权限,让其可以添加或者修改该inventory,而小秦则只能拥有use权限。对于小秦而言,他对上海全量服务器inventory和上海Ansible Tower服务器而言均只有use权限,使用小秦登录Ansible To
20、wer之后可以看到上海全量服务器inventory可修改的部分均是灰色只读的。上面也提到过,inventory决定管理对象是哪些服务器,而credential则决定了这些服务器的认证方式。对于不同的inventory也需要不同credential去认证管理,credential的权限管理同样重要。我们点击设置中的credentials创建credential,输入name上海服务器认证,选择organization上海机房,credential type选择machine即可创建。这里credential type可根据实际情况选择,在type details输入服务器认证的用户名密码,或者在
21、下方粘贴认证私钥,Ansible Tower会将credential信息以加密的形式存入数据库中。创建完成后点击details旁边的permissions设置对该credential的权限,对于credential的权限设置更要细致,我们先将二线学习组赋予use权限。对于一线运维工程师而言,也不是所有一线运维工程师都需要去修改该credential,基于权限管理最小化原则,我们把上海小王赋予admin权限,仅允许小王可修改,而小李和小刘也只能拥有use权限。同理,我们再创建全国服务器认证和git仓库权限认证两个credential,其中git仓库认证则是用于后面projects认证。由于不同的
22、organization之间是隔离的,处于上海机房组的成员是无法看到全国服务器认证credential的,反之一样。六、Projects和Templates管理对于projects和templates可以理解为项目和执行计划,project只是一个静态的项目,而templates则是关联了inventory,credential,project的一个可执行任务。点击inventory左侧的project来创建项目,我们创建一个部署zabbix agent的项目,隶属于上海机房,SCM Type选择git,输入git的url,选择SCM credential为刚才创建的Git仓库权限认证即可。实
23、际运维中SCM Type可根据实际需要自行选择,同样操作,我们再创建一个查看服务器中的错误日志的project,为这个project把控权限。创建完成后点击details旁边的permissions设置该项目的权限,由于该项目的常用性,我们还可以对用户和组同时设置权限,只需要勾选就可以。我们给一线运维组均赋予update更新权限;对于实习生小秦来说,他还需要使用这个project去做一些Ansible Tower的排错工作,所以单独给小秦赋use权限;资深老员工小李作为兼顾项目管理工作自然需要该project的admin权限。创建完projects之后,要想让projects真正运行起来需要依
24、靠执行计划。我们继续创建两个job template对应刚创建的两个project。Job Template需要的参数比较多,输入Name任务名称查找Ansible Tower中的错误日志,Job Type选择Run,inventory则选择上海Ansible Tower服务器,project选择刚创建的查看服务器中的错误日志,playbook则选择项目中需要执行的哪一个yaml文件,credential选择上海服务器认证,verbosity使用默认输出,其他选项根据实际需求添加,保存即可创建好该job template。同样操作我们创建另一个更新zabbix agent版本的job temp
25、late,创建完成后我们对查找Ansible Tower中的错误日志赋权限,点击details旁边的permissions进行赋权。由于小李是上海Ansible Tower项目的主要负责人,需要该job template的admin权限,而实习生小秦则只需要在有问题的时候帮忙收集下日志,故只需要给小秦赋execute执行权限即可。至此,整个Ansible Tower运维流程中的权限管理设置均已完毕,我们切换到小秦用户,在dashboard页面可以正常看到小秦可以看到的权限,下方也能看到小秦的执行记录。使用小秦用户执行Ansible Tower中的错误日志Job也完全正常运行,只是这里的上海An
26、sible Tower服务器是空的,没有跑出来项目的实际结果而已。最后我们再切换到深圳管理员用户,可以看到深圳管理员所在的管理员组organization与上海机房是完全隔离的,属于上海机房organization的元素在深圳管理员的dashboard上完全看不到。七、用户权限的其他设置方法上面按照实际使用Ansible Tower的过程中,举例说明了Ansible Tower的权限管理办法,随着Ansible Tower使用过程中inventories,projects以及job template的增多,不可能还是停留在从控制元素的维度去设置用户权限,其实Ansible Tower也可以选择
27、从User或Team的维度去设置哪个用户或组拥有对哪些控制元素的权限,这样在Ansible Tower上每新增一个用户,就只需要在用户上设置一次权限赋值即可。点击设置,点击User,点击details旁边的organizations可以设置该用户属于哪个组织,点击Teams可以设置该用户属于哪个组。点击permissions可以设置该用户的权限,这里我们可以看到一个用户可以对Job Templates,Workflow Templates,Projects,Inventories,Credentials和Organization设置归属权限。在organizations中可以设置该用户可以归属于哪个organization,在该页面选择任意一个控制元素项可以看到该赋权用户里有哪些可以赋权的项目,选择某一项比如j
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 《基于压电变压器的小型高压电源研究》
- 《东海北部鱼类群落多样性和结构特征变化研究》
- 《个性化人文关怀护理对老年冠心病患者感知控制的影响研究》
- 《全长锚固系统力学行为及承载特性研究》
- 《城投债信用风险防控的法律问题研究》
- 《初中数学概念课课堂小结特征研究》
- 《大班幼儿前书写教育研究》
- 2024风险代理合同版样板
- 2024解除劳动合同协议书模板
- 2025届吉林省长春市高三年级上册质量监测(一)英语试题
- 2024年江苏省环保集团招聘笔试参考题库含答案解析
- 《笔袋自己理》-小学一年级综合实践课件
- 《故都的秋》《荷塘月色》联读课件 统编版高中语文必修上册
- 电气基础知识考试题库(完整版)
- 计算机辅助设计AutoCAD绘图-课程教案
- 医药信息工程职业生涯规划书
- 《世说新语》两则《咏雪》、《陈太丘期友》
- 培训课程开发流程管理SOP(完整版)
- 物业客服交房流程图
- OKR与KPI区别分析课件
- 兵种介绍之空军-军事知识教学课件
评论
0/150
提交评论