Ansible Tower權(quán)限管理使用技術(shù)手冊_第1頁
Ansible Tower權(quán)限管理使用技術(shù)手冊_第2頁
Ansible Tower權(quán)限管理使用技術(shù)手冊_第3頁
Ansible Tower權(quán)限管理使用技術(shù)手冊_第4頁
Ansible Tower權(quán)限管理使用技術(shù)手冊_第5頁
已閱讀5頁,還剩17頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)

文檔簡介

1、 Ansible Tower 權(quán)限管理使用技術(shù)手冊 【摘要】本文介紹了Ansible Tower的權(quán)限管理及其使用方法,先從Ansible Tower的權(quán)限管理使用對象和權(quán)限控制對象介紹入手,通過引入一個場景,實戰(zhàn)演示了Ansible Tower的權(quán)利管理邏輯及使用方法,文章末尾總結(jié)了Ansible Tower權(quán)限管理的要點,適用于熟悉Ansible但還不太了解AnsibleTower的讀者。一、Ansible tower介紹Ansible Tower是企業(yè)級的自動化運維平臺,ansible自動化工具的改良和升級版,具有許多ansible自身并沒有的如web圖形化展示,權(quán)限管理,REST AP

2、I,日志審計,計劃任務(wù)等功能和特性。Ansible Tower的特點:一鍵執(zhí)行任務(wù)和計劃任務(wù)通過Tower的Web界面可以點擊鼠標(biāo)來輕松觸發(fā)任務(wù)的運行?;诮巧脑L問控制不同用戶擁有不同的訪問資源的權(quán)限,可以設(shè)置某些項目為自己可見。所有的用戶密碼等信任關(guān)系都是加密保存。任務(wù)面板實時顯示Tower的面板提供ansible任務(wù)的實時運行信息。顯示當(dāng)前有多少項目、主機、任務(wù)模板,統(tǒng)計展示。強大的 RESTful API和 CLI工具Tower所支持的RESTful API可以覆蓋所有的功能。Tower 提供詳細(xì)的REST API 文檔。Tower還包含CLI工具,可以完成Tower的管理,比如創(chuàng)建用

3、戶,更改密碼等。Ansible Tower相比與ansible多進行了一層軟件封裝,把nginx, celery,rabbit mq, postgresql等組件進行了一次集成封裝,提供ansible tower集成服務(wù)。二、Ansible Tower權(quán)限管理簡述Ansible可以解決日常批量運維中的自動化問題,而Ansible Tower則是解決如何管理ansible的問題。而管理好ansible的關(guān)鍵則在于對ansible的使用人員進行權(quán)限劃分,對操作ansible tower的人員實現(xiàn)最小化權(quán)限管理。在AnsibleTower中對于使用對象的劃分有三層,Organizations,Tea

4、ms,Users。Users是使用對象的最小劃分,即一個Ansible Tower的賬號對應(yīng)一個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是相互隔離的,誰也不知道誰的信息,這六個元素在創(chuàng)建時也必須指定一個organization才可以。下圖展示了organization的管轄范圍。 而對于權(quán)限的控制對象則有Job Templates,Workflow Templates,Projects,inventories,credentials這幾類。而不同的控制對象的權(quán)限管理則有所不同,其中通用的權(quán)限只有一個admin,表示對該類控制對象具有全部控制權(quán)。JobTemplates具有admin和execute兩項權(quán)限,分別代表管理員權(quán)限和僅執(zhí)行權(quán)限。WorkflowTemplates

6、具有admin,execute,read三項權(quán)限,分別代表管理員權(quán)限,僅執(zhí)行權(quán)限和只讀權(quán)限。Projects具有admin,use,update三項權(quán)限,分別代表管理員權(quán)限,使用權(quán)限(只讀權(quán)限)和更新權(quán)限(修改寫權(quán)限)。Inventories具有admin,use,ad hoc,update四項權(quán)限,分別代表管理員權(quán)限,使用權(quán)限(只讀權(quán)限),ad hoc權(quán)限(可運行adhoc命令權(quán)限)和update權(quán)限(修改寫權(quán)限)。Credentials具有admin和use兩項權(quán)限,分別代表管理員權(quán)限和使用權(quán)限(只讀權(quán)限)。對于新創(chuàng)建的用戶來說,用戶則也分為Normal User,System Audit

7、or,System Administrator三個類型。分別代表普通用戶,全局系統(tǒng)審計員,全局系統(tǒng)管理員。普通用戶具有最低權(quán)限,全局系統(tǒng)審計員則具有對所有元素的只讀權(quán)限,全局系統(tǒng)管理員則具有對所有元素的修改權(quán)限。下面是官方給出的對這三種用戶類型的解釋。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代表組織審計員,具有對該組織內(nèi)的所有元素具有只讀權(quán)限,Admin代表組織管理員,具

10、有對該組織內(nèi)的所有元素具有修改權(quán)限,Member代表成員,具有該組織內(nèi)的最低權(quán)限。對于AnsibleTower的管理者而言,特權(quán)用戶必須要局限在一個可控的范圍內(nèi),否則將會失去權(quán)限管理的意義。三、創(chuàng)建User和Organization管理由于Organizations是使用對象的最大劃分,為了便于理解和操作使用,從該章節(jié)開始引入一個實際場景描述Ansible Tower的權(quán)限管理方式。某公司在全國各地都有機房部署,每個地方的機房管理方式不同,運維方式,運維對象也都不同。上海機房作為總部負(fù)責(zé)管理Ansible Tower的服務(wù)器及Zabbix agent的部署工作,其余四地西安,南京,深圳,武漢分

11、別管理不同的業(yè)務(wù)系統(tǒng)。上海地區(qū)擁有三名經(jīng)驗豐富的一線工程師,一名管理員,兩名實習(xí)生負(fù)責(zé)運維,其余各地均有一名管理員負(fù)責(zé)主管本地機房的運維,各地機房自治管理,跨地區(qū)機房不能操作管理異地的服務(wù)器。那針對于這種場景則可以在總部部署一套Ansible Tower用于全國所有機房的管理,但各地的實際環(huán)境不同,則可以把各地機房分別定義成各自的organization,這樣可以實現(xiàn)各地機房的自治管理。由于該公司需要把各地機房各定義為organization,為了方便統(tǒng)一管理,在總部設(shè)置一個管理員組的organization,為了演示方便這里只創(chuàng)建上海機房和管理員組兩個organization,后續(xù)使用均以上

12、海機房organization為主。在使用Ansible Tower之前需要使用System Administrator用戶建立Organizations和Users。創(chuàng)建Users,Teams,Organizations和credentials均是在設(shè)置里面進行的,我們可以在這個地方先創(chuàng)建組織和幾個用戶。在設(shè)置里面點擊Organizations創(chuàng)建組織,輸入Name點擊SAVE即可創(chuàng)建,我們分別創(chuàng)建上海機房和管理員組兩個organization。在創(chuàng)建好的organization上點擊user可以設(shè)置哪些用戶屬于該organization,在User那也可以設(shè)置。點擊users進入用戶設(shè)置頁

13、面,繼續(xù)點擊Add創(chuàng)建用戶,將星號部分填好SAVE即可創(chuàng)建出一個用戶,其中username即為用戶登錄使用的用戶名,密碼為用戶登錄的密碼。注意在user type項選擇Normal User,這里創(chuàng)建一個上海管理員的用戶,并將該用戶的組織指向上海。在關(guān)鍵字NEW USER字段下面有幾個選項可以設(shè)置user所屬的organizations,teams以及permissions。在用戶創(chuàng)建完成后這幾個按鈕會變亮,后面會提到在這里也可以設(shè)置該用戶的權(quán)限?;氐絆rganizations頁面,點擊組織名下面的user可以添加和管理該組織的用戶有哪些,我們把各地的管理員用戶加到管理員組中。添加用戶時可以設(shè)

14、置該用戶在該組織中的角色是怎樣的,下拉菜單里也能看到Auditor,Admin和Member三個選項,這里把上海管理員用戶設(shè)置為管理員組的admin。同理也把上海管理員用戶設(shè)為上海機房的Admin。后續(xù)操作均使用上海管理員用戶操作。四、User和Team管理在創(chuàng)建好上海機房和管理員組兩個organization之后,我們繼續(xù)添加用戶,把全國的管理員建立好,再針對于上海機房的實際使用情況創(chuàng)建幾個特殊的用戶。其中南京管理員,上海管理員,深圳管理員,武漢管理員,西安管理員均屬于管理員組organization,我們再把上海管理員也設(shè)置為管理員組的admin,這樣上海管理員即為兩個organizati

15、on的admin。除了上海管理員之外,上海機房還有五名工作人員,其中小李,小劉,小王為一線運維工程師,小秦和小張則為實習(xí)生,這樣上海機房組里就有6個用戶了?,F(xiàn)在開始創(chuàng)建Team,對于組也有相應(yīng)的權(quán)限劃分,對于上海機房而言我們根據(jù)職位進行劃分,因為一線運維工程師需要對運維環(huán)境做很多復(fù)雜的實際操作,而對于實習(xí)生來說他們只需要做一些簡單的事就行了。在設(shè)置里點擊Teams創(chuàng)建組,輸入Name,選擇上海機房organization保存即可,這里我們創(chuàng)建一線運維組和二線學(xué)習(xí)組兩個team。創(chuàng)建完team之后,Team名稱下的users選項會變亮,點擊users可以把用戶關(guān)聯(lián)到該組中,關(guān)聯(lián)時用戶可以多選。我

16、們把小李,小劉,小王加入一線運維組,并把小王設(shè)置成admin。同理把小張和小秦加入二線學(xué)習(xí)組,加入之后可以看到二線學(xué)習(xí)組里有兩個member。至此,我們把ansible tower中的organization,user和team三層使用對象建立完畢,接下來將創(chuàng)建權(quán)限管理的控制對象inventories,credentials,projects,templates,通過對控制對象指定不同的權(quán)限,加深對Ansible Tower權(quán)限管理的理解。五、Inventories和Credentials管理inventory和credential是AnsibleTower控制對象的兩個不可或缺的部分,inv

17、entory決定了Ansible Tower所管理的對象是哪些服務(wù)器,而credential則決定了這些服務(wù)器的認(rèn)證方式。由于不同的Ansible Tower版本創(chuàng)建inventory的鏈接位置有所不同,我這里的3.2.5版本的inventory在上沿,點擊INVENTORIES,輸入inventory名稱,選擇organization即可創(chuàng)建完成。這里我們創(chuàng)建5個inventory,其中全國全量服務(wù)器屬于管理員組,其余inventory均屬于上海機房組,這樣劃分的結(jié)果就是管理員組里的成員看不到上海機房組里有哪些inventory,并且上海機房組里的成員也并不知道管理員組里的inventory

18、是怎樣的。屬于上海機房的四個inventory則可以根據(jù)運維工程師的管轄范圍進一步去區(qū)分。點擊inventory名稱進入inventory詳情頁面,點擊details邊上的permissions設(shè)定對該inventory的權(quán)限。對于上海全量服務(wù)器inventory,我們可以直接使用組劃分權(quán)限,點擊TEAMS設(shè)置組權(quán)限,對于一線運維組我們把其角色設(shè)置為update,表示可以更新該inventory,若有日常運維需要也可以把ad-hoc權(quán)限追加到一線運維組中;對于二線學(xué)習(xí)組我們只能給其use權(quán)限,不能讓實習(xí)生們隨意修改或刪除該inventory中的數(shù)據(jù)。對于上海全量服務(wù)器inventory我們可以

19、使用組進行大范圍的賦權(quán)操作,但對于其他更細(xì)的服務(wù)器列表則必須把權(quán)限限制到指定用戶。拿上海Ansible Tower服務(wù)器inventory舉例,上海小劉負(fù)責(zé)Ansible Tower的運維工作,而其實習(xí)生徒弟小秦也跟著小劉負(fù)責(zé)Ansible Tower,對于上海Ansible Tower服務(wù)器inventory來說權(quán)限必須控制在這兩個人之內(nèi)。我們給一線運維工程師小劉賦予admin權(quán)限,讓其可以添加或者修改該inventory,而小秦則只能擁有use權(quán)限。對于小秦而言,他對上海全量服務(wù)器inventory和上海Ansible Tower服務(wù)器而言均只有use權(quán)限,使用小秦登錄Ansible To

20、wer之后可以看到上海全量服務(wù)器inventory可修改的部分均是灰色只讀的。上面也提到過,inventory決定管理對象是哪些服務(wù)器,而credential則決定了這些服務(wù)器的認(rèn)證方式。對于不同的inventory也需要不同credential去認(rèn)證管理,credential的權(quán)限管理同樣重要。我們點擊設(shè)置中的credentials創(chuàng)建credential,輸入name上海服務(wù)器認(rèn)證,選擇organization上海機房,credential type選擇machine即可創(chuàng)建。這里credential type可根據(jù)實際情況選擇,在type details輸入服務(wù)器認(rèn)證的用戶名密碼,或者在

21、下方粘貼認(rèn)證私鑰,Ansible Tower會將credential信息以加密的形式存入數(shù)據(jù)庫中。創(chuàng)建完成后點擊details旁邊的permissions設(shè)置對該credential的權(quán)限,對于credential的權(quán)限設(shè)置更要細(xì)致,我們先將二線學(xué)習(xí)組賦予use權(quán)限。對于一線運維工程師而言,也不是所有一線運維工程師都需要去修改該credential,基于權(quán)限管理最小化原則,我們把上海小王賦予admin權(quán)限,僅允許小王可修改,而小李和小劉也只能擁有use權(quán)限。同理,我們再創(chuàng)建全國服務(wù)器認(rèn)證和git倉庫權(quán)限認(rèn)證兩個credential,其中g(shù)it倉庫認(rèn)證則是用于后面projects認(rèn)證。由于不同的

22、organization之間是隔離的,處于上海機房組的成員是無法看到全國服務(wù)器認(rèn)證credential的,反之一樣。六、Projects和Templates管理對于projects和templates可以理解為項目和執(zhí)行計劃,project只是一個靜態(tài)的項目,而templates則是關(guān)聯(lián)了inventory,credential,project的一個可執(zhí)行任務(wù)。點擊inventory左側(cè)的project來創(chuàng)建項目,我們創(chuàng)建一個部署zabbix agent的項目,隸屬于上海機房,SCM Type選擇git,輸入git的url,選擇SCM credential為剛才創(chuàng)建的Git倉庫權(quán)限認(rèn)證即可。實

23、際運維中SCM Type可根據(jù)實際需要自行選擇,同樣操作,我們再創(chuàng)建一個查看服務(wù)器中的錯誤日志的project,為這個project把控權(quán)限。創(chuàng)建完成后點擊details旁邊的permissions設(shè)置該項目的權(quán)限,由于該項目的常用性,我們還可以對用戶和組同時設(shè)置權(quán)限,只需要勾選就可以。我們給一線運維組均賦予update更新權(quán)限;對于實習(xí)生小秦來說,他還需要使用這個project去做一些Ansible Tower的排錯工作,所以單獨給小秦賦use權(quán)限;資深老員工小李作為兼顧項目管理工作自然需要該project的admin權(quán)限。創(chuàng)建完projects之后,要想讓projects真正運行起來需要依

24、靠執(zhí)行計劃。我們繼續(xù)創(chuàng)建兩個job template對應(yīng)剛創(chuàng)建的兩個project。Job Template需要的參數(shù)比較多,輸入Name任務(wù)名稱查找Ansible Tower中的錯誤日志,Job Type選擇Run,inventory則選擇上海Ansible Tower服務(wù)器,project選擇剛創(chuàng)建的查看服務(wù)器中的錯誤日志,playbook則選擇項目中需要執(zhí)行的哪一個yaml文件,credential選擇上海服務(wù)器認(rèn)證,verbosity使用默認(rèn)輸出,其他選項根據(jù)實際需求添加,保存即可創(chuàng)建好該job template。同樣操作我們創(chuàng)建另一個更新zabbix agent版本的job temp

25、late,創(chuàng)建完成后我們對查找Ansible Tower中的錯誤日志賦權(quán)限,點擊details旁邊的permissions進行賦權(quán)。由于小李是上海Ansible Tower項目的主要負(fù)責(zé)人,需要該job template的admin權(quán)限,而實習(xí)生小秦則只需要在有問題的時候幫忙收集下日志,故只需要給小秦賦execute執(zhí)行權(quán)限即可。至此,整個Ansible Tower運維流程中的權(quán)限管理設(shè)置均已完畢,我們切換到小秦用戶,在dashboard頁面可以正??吹叫∏乜梢钥吹降臋?quán)限,下方也能看到小秦的執(zhí)行記錄。使用小秦用戶執(zhí)行Ansible Tower中的錯誤日志Job也完全正常運行,只是這里的上海An

26、sible Tower服務(wù)器是空的,沒有跑出來項目的實際結(jié)果而已。最后我們再切換到深圳管理員用戶,可以看到深圳管理員所在的管理員組organization與上海機房是完全隔離的,屬于上海機房organization的元素在深圳管理員的dashboard上完全看不到。七、用戶權(quán)限的其他設(shè)置方法上面按照實際使用Ansible Tower的過程中,舉例說明了Ansible Tower的權(quán)限管理辦法,隨著Ansible Tower使用過程中inventories,projects以及job template的增多,不可能還是停留在從控制元素的維度去設(shè)置用戶權(quán)限,其實Ansible Tower也可以選擇

27、從User或Team的維度去設(shè)置哪個用戶或組擁有對哪些控制元素的權(quán)限,這樣在Ansible Tower上每新增一個用戶,就只需要在用戶上設(shè)置一次權(quán)限賦值即可。點擊設(shè)置,點擊User,點擊details旁邊的organizations可以設(shè)置該用戶屬于哪個組織,點擊Teams可以設(shè)置該用戶屬于哪個組。點擊permissions可以設(shè)置該用戶的權(quán)限,這里我們可以看到一個用戶可以對Job Templates,Workflow Templates,Projects,Inventories,Credentials和Organization設(shè)置歸屬權(quán)限。在organizations中可以設(shè)置該用戶可以歸屬于哪個organization,在該頁面選擇任意一個控制元素項可以看到該賦權(quán)用戶里有哪些可以賦權(quán)的項目,選擇某一項比如j

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論