版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
課程OpenStack云計算平臺
搭建與管理人項目6認(rèn)證服務(wù)(Keystone)安裝第15講安裝Keystone認(rèn)證組件學(xué)習(xí)目標(biāo)【知識目標(biāo)】(1)了解Keystone的功能。(2)理解角色、用戶、服務(wù)、端點等專業(yè)名詞。(3)了解Keystone的組件架構(gòu)。(4)了解Keystone認(rèn)證的基本步驟?!炯寄苣繕?biāo)】(1)能夠安裝與配置Keystone組件。(2)能夠配置Web服務(wù)。(3)能夠初始化身份認(rèn)證信息。(4)能夠用命令創(chuàng)建項目、角色。(5)能夠用命令查閱用戶、域名、項目、角色等信息。引例描述
小王已經(jīng)完成了OpenStack云計算平臺基礎(chǔ)環(huán)境的部署,這類似于公司大樓已經(jīng)建好,接下來就該讓各個業(yè)務(wù)部門入駐大樓開始工作了,這里的業(yè)務(wù)部門就是OpenStack云計算平臺的各個組件。此時小王想到了一個問題,OpenStack云計算平臺的組件有很多,該先安裝哪個組件呢?項目陳述
由于OpenStack云計算平臺是由眾多組件構(gòu)成的一套復(fù)雜系統(tǒng),哪些組件被允許連入系統(tǒng)、進(jìn)入系統(tǒng)后允許使用其他哪些組件功能,都需要一個認(rèn)證單元去判斷和決定。
Keystone在OpenStack云計算平臺中就是這個認(rèn)證單元,負(fù)責(zé)各個組件的認(rèn)證工作。
本任務(wù)將在控制節(jié)點中安裝Keystone組件。Keystone的基本概念項目(project):項目是供用戶使用的資源集合,不同的項目之間的資源是隔離的。比如李四開了一個會員制網(wǎng)吧,里面有很多提供給用戶使用的資源,如電腦、游戲、咖啡、圖書等等,這個網(wǎng)吧就可以看做一個項目。Keystone的基本概念——項目Keystone的基本概念——服務(wù)與端點服務(wù)(Service):服務(wù)是項目中各個組件提供的服務(wù)。該網(wǎng)吧對外提供多種服務(wù),如上網(wǎng)區(qū)提供上網(wǎng)服務(wù),休閑區(qū)提供咖啡服務(wù),閱覽室提供圖書閱覽服務(wù)。端點(Endpoint):端點是一個用來訪問或定位某個服務(wù)的地址。每個服務(wù)都有自己的服務(wù)地址,需要某個服務(wù)就訪問某個地址。如要讀書就要去閱覽室,服務(wù)地址就是端點。用戶(User):用戶是任何擁有身份驗證信息來使用OpenStack的實體,可以是真正的使用人、其他系統(tǒng)或者某一服務(wù)。這個網(wǎng)吧(項目)里,李四、網(wǎng)管和來上網(wǎng)的人都是用戶,都可以使用該項目的服務(wù)。角色(Role):角色是預(yù)定義的權(quán)限集合。如李四的角色是老板,有查賬的權(quán)限;網(wǎng)管的角色是管理員,負(fù)責(zé)收銀和軟硬件管理;其他人的角色是顧客,只能上網(wǎng)與消費(fèi)。Keystone的基本概念——用戶與角色認(rèn)證(Authentication)、憑據(jù)(Credentials):認(rèn)證是Keystone驗證用戶身份的過程,憑據(jù)是認(rèn)證用戶身份時需要的身份驗證數(shù)據(jù)。用戶來到網(wǎng)吧(項目)以后并不是馬上就可以使用服務(wù),得把身份憑據(jù)提供出來由系統(tǒng)進(jìn)行認(rèn)證。令牌(Token):令牌是一個加密字符串,是訪問資源的“通行證”。當(dāng)通過認(rèn)證后會給用戶一個令牌,每次使用服務(wù)都要先驗證持有該令牌的用戶是否有權(quán)使用該服務(wù)(如不是VIP用戶,則不能進(jìn)入VIP區(qū))。Keystone的基本概念——認(rèn)證、憑據(jù)與令牌組(Group):組是部分用戶的集合,通過分配角色到組,可以批量向在該組中的所有用戶分配權(quán)限。如果用戶很多,給每個用戶單獨分配權(quán)限非常麻煩,可以將若干個用戶分為一組,如VIP組、戰(zhàn)隊組等,只需要給組分配權(quán)限,用戶加入某個組就自動擁有了這個組的所有權(quán)限。域(Domain):域是項目和用戶的集合。隨著業(yè)務(wù)擴(kuò)大,有其他網(wǎng)吧(不同的項目)加盟,此時其中一個網(wǎng)吧的會員可以自動成為其他網(wǎng)吧會員。為便于管理,可以把部分項目和用戶劃分到一個域中,并規(guī)定只有本域中的用戶才能使用本域中項目的資源。Keystone的基本概念——組與域域、項目、組、用戶、角色的關(guān)系模型域是用戶和項目的集合,項目是資源的集合,角色是權(quán)限的集合,組是用戶的集合。角色可以分配給用戶或者組,這個用戶和組里的所有用戶就獲得了該角色的所有權(quán)限。獲得了權(quán)限的用戶就可以使用和管理同域中的項目提供的資源。OpenStack中默認(rèn)存在的域、項目、角色、用戶域:OpenStack默認(rèn)存在“Default”域,如果沒有另外創(chuàng)建域,所有項目和用戶都將屬于“Default”域。項目:OpenStack自帶“admin”項目。角色:OpenStack自帶兩個預(yù)定義角色,即“admin”和“member”,“member”角色集合了普通用戶的訪問權(quán)限,而“admin”角色集合了對整個OpenStack進(jìn)行管理的特權(quán)。用戶:OpenStack中自帶“admin”用戶,該用戶屬于“admin”項目并且分配有“admin”角色。端點類型每個服務(wù)的端點都有如下3類。
admin-url:給admin用戶提供服務(wù)的地址。
internal-url:給內(nèi)部組件提供服務(wù)的地址。
public-url:給其他公共用戶提供服務(wù)的地址。在OpenStack(Train版)中,這3類端點地址已經(jīng)統(tǒng)一,只保留了不同的類型。如Keystone組件對外提供服務(wù)的端點都是“http://控制節(jié)點IP地址:5000/v3”。Keystone的組件架構(gòu)模塊功能令牌令牌模塊,該模塊用來生成和管理令牌目錄目錄模塊,用來存儲和管理服務(wù)以及與之對應(yīng)的端點信息驗證驗證模塊,用來管理項目、用戶、角色和提供認(rèn)證服務(wù)策略策略模塊,用來存儲和管理所有的訪問權(quán)限Keystone認(rèn)證的基本步驟用戶給Keystone提供憑證用于登錄系統(tǒng)。登錄成功后Keystone將簽發(fā)令牌給用戶。以后每次調(diào)用其他組件服務(wù)的時候都要出示令牌并由Keystone對令牌進(jìn)行驗證通過后才能繼續(xù)使用服務(wù)。第1種,判斷用戶憑證是否合法。用戶初次登錄系統(tǒng)時,需要向Keystone提交用戶名、密碼等用戶憑證信息。Keystone進(jìn)行認(rèn)證以判斷是否為合法用戶,如果是合法用戶,則給用戶頒發(fā)令牌,用于后續(xù)認(rèn)證使用。在頒發(fā)的令牌中包含用戶對服務(wù)的使用權(quán)限、令牌的失效時間等信息。第2種,判斷用戶令牌是否合法。當(dāng)用戶已經(jīng)登錄系統(tǒng)并開始使用OpenStack的任一組件服務(wù)時,都需要提交已獲得的令牌。提供服務(wù)的組件將收到的令牌轉(zhuǎn)交給Keystone判斷該令牌是否合法、是否過期、是否有權(quán)獲得服務(wù)等。只有通過了Keystone的驗證,服務(wù)才會響應(yīng)相應(yīng)的請求。Keystone認(rèn)證的種類項目實施安裝與配置Keystone——安裝Keystone軟件包以下命令安裝了Keystone組件的必要軟件包。[root@controller~]#yum-yinstallopenstack-keystonehttpdmod_wsgiKeystone實際是運(yùn)行在Web服務(wù)器上的一款支持Web服務(wù)器網(wǎng)關(guān)接口(WebServerGatewayInterface,WSGI)的Web應(yīng)用。因此這里安裝了3個軟件:“openstack-keystone”“httpd”“mod_wsgi”。其中“openstack-keystone”是Keystone的軟件包;“httpd”是阿帕奇(Apache)Web服務(wù)器的軟件包名;“mod_wsgi”是使Web服務(wù)器支持WSGI的插件。安裝與配置Keystone——創(chuàng)建Keystone的數(shù)據(jù)庫并授權(quán)第1步,用下面的方法進(jìn)入MariaDB數(shù)據(jù)庫服務(wù)器。[root@controller~]#mysql-uroot-p000000第2步,新建“keystone”數(shù)據(jù)庫。MariaDB[(none)]>CREATEDATABASEkeystone;第3步,給用戶授權(quán)使用新建數(shù)據(jù)庫。GRANTALLPRIVILEGESONkeystone.*TO'keystone'@'localhost'IDENTIFIEDBY'000000';GRANTALLPRIVILEGESONkeystone.*TO'keystone'@'%'IDENTIFIEDBY'000000';上面兩條語句把“keystone”數(shù)據(jù)庫的所有表(keystone.*)的所有權(quán)限(ALLPRIVILEGES)授予本地主機(jī)('localhost')及任意遠(yuǎn)程主機(jī)('%')中名為“keystone”的用戶,驗證密碼為“000000”。安裝與配置Keystone——創(chuàng)建Keystone的數(shù)據(jù)庫并授權(quán)檢查授權(quán)情況[root@controller~]#mysql-ukeystone-p000000[root@controller~]#mysql-ukeystone-p000000-hcontroller都要能進(jìn)入數(shù)據(jù)庫,并且用“showdatabases;”都能看到keystone數(shù)據(jù)庫。安裝與配置Keystone——修改Keystone配置文件(1)打開配置文件[root@controller~]#vi/etc/keystone/keystone.conf(2)編輯配置文件第1步,修改“[database]”部分實現(xiàn)與數(shù)據(jù)庫連接。connection=mysql+pymysql://keystone:000000@controller/keystone以上代碼配置數(shù)據(jù)庫連接信息,用“keystone”用戶和密碼“000000”去連接“controller”主機(jī)中的名為“keystone”的數(shù)據(jù)庫。第2步,修改“[token]”部分配置令牌的加密方式(注意不要改錯地方)。provider=fernet“FernetToken”是一種令牌加密格式。一個“FernetToken”是一個很長的字符串,在這個字符串中存儲了被加密的用戶信息、權(quán)限信息、過期時間信息等。安裝與配置Keystone——初始化Keystone的數(shù)據(jù)庫Keystone安裝文件提供了數(shù)據(jù)庫的基礎(chǔ)表數(shù)據(jù),此時還沒有將數(shù)據(jù)導(dǎo)入“keystone”數(shù)據(jù)庫中,需要手動將數(shù)據(jù)同步導(dǎo)入數(shù)據(jù)庫中。[root@controller~]#sukeystone-s/bin/sh-c"keystone-managedb_sync"“sukeystone”:su命令用于用戶切換。這里切換到“keystone”用戶,該用戶已經(jīng)擁有對“keystone”數(shù)據(jù)庫的管理權(quán)限。“-s/bin/sh”:-s為su命令的選項,指定用什么編譯器(Shell)來執(zhí)行命令,“/bin/sh”就是指定的編譯器?!?c”:su命令的選項,在其后引號內(nèi)的是具體執(zhí)行的命令。"keystone-managedb_sync"實現(xiàn)了數(shù)據(jù)同步到數(shù)據(jù)庫。安裝與配置Keystone——初始化Keystone的數(shù)據(jù)庫keystone-manage命令是Keystone服務(wù)的管理工具。它的基本使用方法如下。keystone-manage[選項]<操作>操作功能說明db_sync同步數(shù)據(jù)庫fernet_setup創(chuàng)建一個Fernet密鑰庫,用于令牌加密credential_setup創(chuàng)建一個Fernet密鑰庫,用于憑證加密bootstrap初始化身份認(rèn)證信息,并將這些信息存入數(shù)據(jù)庫token_flush清除過期的令牌Keystone組件初始化——初始化Fernet密鑰庫以下命令將自動創(chuàng)建“/etc/keystone/fernet-keys/”目錄,并在目錄下生成兩個Fernet密鑰。這兩個密鑰用于加密和解密令牌。[root@controller~]#keystone-managefernet_setup--keystone-userkeystone--keystone-groupkeystone以下命令將自動創(chuàng)建“/etc/keystone/credential-keys/”目錄,并在目錄下生成兩個Fernet密鑰。這兩個密鑰用于加密解密用戶憑證。[root@controller~]#keystone-managecredential_setup--keystone-userkeystone--keystone-groupkeystoneKeystone組件初始化——初始化用戶身份認(rèn)證信息用“keystone-managebootstrap”命令給“admin”用戶初始化登錄憑證,以后登錄時出示憑證與此比對就可以進(jìn)行認(rèn)證。[root@controller~]#keystone-managebootstrap--bootstrap-password000000--bootstrap-admin-urlhttp://controller:5000/v3--bootstrap-internal-urlhttp://controller:5000/v3--bootstrap-public-urlhttp://controller:5000/v3--bootstrap-region-idRegionOne參數(shù)功能說明--bootstrap-username設(shè)置登錄用戶名,如果沒有該參數(shù)則默認(rèn)登錄用戶為“admin”用戶--bootstrap-password設(shè)置“admin”用戶的密碼--bootstrap-admin-url設(shè)置“admin”用戶使用的服務(wù)端點--bootstrap-internal-url設(shè)置內(nèi)部用戶使用的服務(wù)端點--bootstrap-public-url設(shè)置公共用戶使用的服務(wù)端點--bootstrap-region-id設(shè)置區(qū)域ID名稱,用于配置集群服務(wù)Keystone組件初始化——配置Web服務(wù)(一)Keystone實際上是一個運(yùn)行在支持WSGI的Web服務(wù)器上的應(yīng)用,所以要為它先配置好Web服務(wù)。本項目采用的是Apache服務(wù)器,它是一個常見的Web服務(wù)器,它的服務(wù)名為“httpd”。(1)給Apache服務(wù)器增加WSGI支持[root@controller~]#ln-s/usr/share/keystone/wsgi-keystone.conf/etc/httpd/conf.d/該命令將“wsgi-keystone.conf”文件軟鏈接到“/etc/httpd/conf.d/”目錄。因為“/etc/httpd/conf.d/”目錄下的“conf”文件都是Apache服務(wù)器的配置文件,所以這個命令讓“wsgi-keystone.conf”成為Apache服務(wù)器的配置文件之一,讓Apache服務(wù)器能夠應(yīng)用前面安裝的“mod_wsgi”插件以支持WSGI協(xié)議。Keystone組件初始化——配置Web服務(wù)(二)(2)修改Apache服務(wù)器配置并啟動Apache服務(wù)由于Keystone本質(zhì)上是一個Web應(yīng)用,因此要借助Web服務(wù)器運(yùn)行。Apache服務(wù)器的配置文件為“/etc/httpd/conf/httpd.conf”。[root@controller~]#vi/etc/httpd/conf/httpd.conf修改“ServerName”的值為Web服務(wù)所在的域名或IP地址。ServerNamecontroller(3)重啟Apache服務(wù)首先,設(shè)置開機(jī)重啟Apache服務(wù)。[root@controller~]#systemctlenablehttpd
然后,立即啟動Apache服務(wù)。[root@controller~]#systemctlstarthttpd
模擬登錄驗證——創(chuàng)建初始化環(huán)境變量文件以上操作初始化了OpenStack用戶“admin”的登錄密碼為“000000”。那么如何通過Keystone的認(rèn)證登錄系統(tǒng)呢?通過環(huán)境變量可以傳送用戶名及密碼等憑證給Keystone,再由它進(jìn)行驗證。創(chuàng)建初始化環(huán)境變量文件[root@controller~]#viadmin-loginexportOS_USERNAME=adminexportOS_PASSWORD=000000exportOS_PROJECT_NAME=adminexportOS_USER_DOMAIN_NAME=DefaultexportOS_PROJECT_DOMAIN_NAME=DefaultexportOS_AUTH_URL=http://controller:5000/v3exportOS_IDENTITY_API_VERSION=3exportOS_IMAGE_API_VERSION=2解釋:登錄OpenStack云計算平臺的用戶名(OS_USERNAME)是“admin”,登錄密碼(OS_PASSWORD)是“000000”,用戶屬于的域(OS_USER_DOMAIN_NAME)是“Default”,項目屬于的域(OS_PROJECT_DOMAIN_NAME)是“Default”,認(rèn)證地址(OS_AUTH_URL)是“http://controller:5000/v3”,Keystone版本(OS_IDENTITY_API_VERSION)是“3”,鏡像管理組件版本(OS_IMAGE_API_VERSION)是“2”。模擬登錄驗證——導(dǎo)入環(huán)境變量進(jìn)行驗證有了身份憑證文件后,通過如下方法將它導(dǎo)入環(huán)境變量中。[root@controller~]#sourceadmin-login然后可以用以下方法查看現(xiàn)有環(huán)境變量。[root@controller~]#export-p
declare-xOS_AUTH_URL="http://controller:5000/v3"declare-xOS_IDENTITY_API_VERSION="3"declare-xOS_IMAGE_API_VERSION="2"declare-xOS_PASSWORD="000000"declare-xOS_PROJECT_DOMAIN_NAME="Default"declare-xOS_PROJECT_NAME="admin"declare-xOS_USERNAME="admin"declare-xOS_USER_DOMAIN_NAME="Default"如能看到如上結(jié)果,說明環(huán)境變量已經(jīng)導(dǎo)入成功。Keystone從環(huán)境變量中獲取相關(guān)信息并將之和數(shù)據(jù)庫中的登錄信息進(jìn)行比對,一致則通過認(rèn)證。檢測Keystone服務(wù)——創(chuàng)建項目OpenStack云計算平臺的所有對組件的操作都需要Keystone認(rèn)證后才能進(jìn)行,所以如果用OpenStack的管理命令openstack能正常執(zhí)行云計算平臺管理操作,則說明Keystone的服務(wù)運(yùn)行正常。用以下命令在默認(rèn)域中創(chuàng)建一個名為“project”的項目。#openstackprojectcreate--domaindefaultproject用以下代碼查看現(xiàn)有的項目列表。#openstackprojectlist
+--------------------------------------------------------+--------------+|ID
|Name
|+--------------------------------------------------------+--------------+|3f3fa121deae46079f27dc03d2b1e485 |project
||ed09f9f4fd19492c8eaebc2528bd3d86 |admin
|+--------------------------------------------------------+--------------+
命令的解釋:“openstackprojectcreate”:創(chuàng)建一個項目?!?-domaindefault”:該項目屬于ID為“default”的域?!皃roject”:新項目的名稱。檢測Keystone服務(wù)——創(chuàng)建角色為OpenStack云計算平臺創(chuàng)建一個名為“user”的角色。#openstackrolecreateuser+---------------+---------------------------------------------+|Field
|Value
|+---------------+---------------------------------------------+|description
|None
||domain_id
|None
||id
|50cc688a185d405e958cd3
||name
|user
||opti
溫馨提示
- 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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024年執(zhí)業(yè)藥師資格藥事管理與法規(guī)相關(guān)知識考試題庫與答案
- 2024年春季課堂:《贈劉景文》課件的創(chuàng)新實踐
- 2024年安全心理學(xué)課件在軍事訓(xùn)練中的實踐探索
- 商業(yè)銀行經(jīng)營與管理課后習(xí)題答案(1-6章)
- 2024初中數(shù)學(xué)競賽七年級競賽輔導(dǎo)講義專題19 最值問題含答案
- 第45屆世界技能大賽時裝技術(shù)項目全國選拔賽技術(shù)工作文件
- 科目一考試技巧口訣表-駕考實操
- 面向2024年的傳染病護(hù)理學(xué)教案創(chuàng)新
- 2024年體育產(chǎn)業(yè)變革:虛擬體育與電競市場
- 《削鉛筆》教案設(shè)計:2024年教育技術(shù)應(yīng)用解析
- 基礎(chǔ)管理風(fēng)險分級管控清單(雙體系)
- 醫(yī)學(xué)課件:臨床決策分析
- 江蘇開放大學(xué)2023年秋《中級會計實務(wù)(上) 050284》第4次任務(wù)參考答案
- 屋頂光伏安全專項施工方案
- 4.與食品經(jīng)營相適應(yīng)的主要設(shè)備設(shè)施布局操作流程等文件
- 四班三倒排班表
- 銀行業(yè)信息系統(tǒng)災(zāi)難恢復(fù)管理規(guī)范
- 醫(yī)院重點崗位工作人員輪崗制度
- 2023光伏發(fā)電工程項目安全文明施工方案
- 帶式輸送機(jī)膠帶安裝
- 陳育民對FLAC3D常見問題的解答概要
評論
0/150
提交評論