OpenStack Identity(Keystone)身份服務(wù)、體系結(jié)構(gòu)與中間件講解
OpenStack Identity(Keystone)服務(wù)為運(yùn)行OpenStack Compute上的OpenStack云提供了認(rèn)證和管理用戶(hù)、帳號(hào)和角色信息服務(wù),并為OpenStack Object Storage提供授權(quán)服務(wù)。
Keystone體系結(jié)構(gòu)
Keystone 有兩個(gè)主要部件:驗(yàn)證和服務(wù)目錄
驗(yàn)證:提供了一個(gè)基于令牌的驗(yàn)證服務(wù),主要有以下幾個(gè)概念:
租戶(hù)(Tenant)
使用OpenStack相關(guān)服務(wù)的一個(gè)組織。一個(gè)租戶(hù)映射到一個(gè)Nova的“project-id”,在對(duì)象存儲(chǔ)中,一個(gè)租戶(hù)可以有多個(gè)容器。根據(jù)不同的安裝方式,一個(gè)租戶(hù)可以代表一個(gè)客戶(hù)、帳號(hào)、組織或項(xiàng)目。
用戶(hù)(User)
代表一個(gè)個(gè)體,OpenStack以用戶(hù)的形式來(lái)授權(quán)服務(wù)給它們。用戶(hù)擁有證書(shū)(credentials),且可能分配給一個(gè)或多個(gè)租戶(hù)。經(jīng)過(guò)驗(yàn)證后,會(huì)為每個(gè)單獨(dú)的租戶(hù)提供一個(gè)特定的令牌。
證書(shū)(credentials)
為了給用戶(hù)提供一個(gè)令牌,需要用證書(shū)來(lái)唯一標(biāo)識(shí)一個(gè)Keystone用戶(hù)的密碼或其它信息
令牌(token)
一個(gè)令牌是一個(gè)任意比特的文本,用于與其它OpenStack服務(wù)來(lái)共享信息,Keystone以此來(lái)提供一個(gè)central location,以驗(yàn)證訪(fǎng)問(wèn)OpenStack服務(wù)的用戶(hù)。一個(gè)令牌可以是“scoped”或“unscoped”。一個(gè)scoped令牌代表為某個(gè)租戶(hù)驗(yàn)證過(guò)的用戶(hù),而unscoped令牌則僅代表一個(gè)用戶(hù)。令牌的有效期是有限的,可以隨時(shí)被撤回。
角色(Role)
一個(gè)角色是應(yīng)用于某個(gè)租戶(hù)的使用權(quán)限集合,以允許某個(gè)指定用戶(hù)訪(fǎng)問(wèn)或使用特定操作。角色是使用權(quán)限的邏輯分組,它使得通用的權(quán)限可以簡(jiǎn)單地分組并綁定到與某個(gè)指定租戶(hù)相關(guān)的用戶(hù)。
服務(wù)目錄(Service Catalog)
Keystone為OpenStack安裝提供了一個(gè)REST API端點(diǎn)列表并以此作為決策參考。主要的概念包括:
服務(wù)(Service)
一個(gè)OpenStack服務(wù),例如nova、swift、glance或keystone。一個(gè)服務(wù)可以擁有一個(gè)或多個(gè)端點(diǎn),通過(guò)它用戶(hù)可以與OpenStack的服務(wù)或資源交互。
端點(diǎn)(Endpoint)
一個(gè)可以通過(guò)網(wǎng)絡(luò)訪(fǎng)問(wèn)的地址(典型地,一個(gè)URL),代表了OpenStack服務(wù)的API接口。端點(diǎn)也可以分組為模板,每個(gè)模板代表一組可用的OpenStack服務(wù),這些服務(wù)是跨區(qū)域(regions)可用的。
模板(Template)
一個(gè)端點(diǎn)集合,代表一組可用的OpenStack服務(wù)端點(diǎn)。
Keystone的組件
Keystone包含一個(gè)命令行接口,可以與Keystone API交互以管理keystone和相關(guān)服務(wù)。
keystone - 運(yùn)行keystone-admin和keystone-service
keystone-admin - 操作keystone的管理API
keystone-service - 用于驗(yàn)證的,面向用戶(hù)的AP
keystone-manage - 管理keystone的命令行接口
Keystone還包括WSGI中間件以為Nova和Swift提供驗(yàn)證服務(wù)。
Keystone使用一個(gè)內(nèi)置的SQLite數(shù)據(jù)庫(kù) - 為驗(yàn)證用戶(hù),將來(lái)也可能使用一個(gè)外部LDAP服務(wù)來(lái)代替存儲(chǔ)證書(shū)
中間件(Middleware)
Keystone中間件位于OpenStack服務(wù)前面,處理進(jìn)來(lái)的請(qǐng)求驗(yàn)證。中間件的設(shè)計(jì)遵循如下的規(guī)范。
中間件的源代碼位于Keystone/middleware。
中間件支持兩個(gè)接口:WSGI和REST/HTTP。
REST & HTTP API
如果進(jìn)來(lái)一個(gè)未經(jīng)認(rèn)證的調(diào)用,中間件將響應(yīng)一個(gè)401 Unautorized錯(cuò)誤。根據(jù)每HTTP的標(biāo)準(zhǔn),它也會(huì)返回一個(gè)WWW-Authenticate包頭以通知調(diào)用者支持哪個(gè)協(xié)議。對(duì)于Keystone驗(yàn)證,響應(yīng)的語(yǔ)法格式如下:
WWW-Authenticate: Keystone uri="url to Keystone server"The client can then make the necessary calls to the Keystone server, obtain a token, and retry the call with the token.
令牌使用 X-Auth-Toke包頭傳遞。
WSGI API(包頭)
當(dāng)成功驗(yàn)證后中間件經(jīng)為下行的WSGI應(yīng)用發(fā)送如下包頭:
X-Identity-Status
提供請(qǐng)求是否被驗(yàn)證的信息。
X-Tenant
提供了租戶(hù)ID(在Keystone中以URL的形式出現(xiàn))。在Keysotne轉(zhuǎn)為采用ID/Name模式之前,它為租戶(hù)提供了對(duì)任意遺留實(shí)現(xiàn)的支持。
X-Tenant-Id
唯一不變的租戶(hù)ID。
X-Tenant-Name
唯一但可變的租戶(hù)名字。
X-User
用于登錄的用戶(hù)名。
X-Roles
分配給用戶(hù)的角色。
以上所述是小編給大家介紹的OpenStack Identity(Keystone)身份服務(wù)、體系結(jié)構(gòu)與中間件 ,希望對(duì)大家有所幫助,如果大家有任何疑問(wèn)請(qǐng)給我留言,小編會(huì)及時(shí)回復(fù)大家的。在此也非常感謝大家對(duì)腳本之家網(wǎng)站的支持!
相關(guān)文章
OpenStack之虛機(jī)熱遷移的代碼詳細(xì)解析
本篇文章主要介紹了OpenStack之虛機(jī)熱遷移,有需要的朋友可以了解下。2016-11-11openstack云計(jì)算組件glance部署及操作步驟
這篇文章主要為大家介紹了openstack云計(jì)算之glance部署及操作步驟,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2022-04-04詳解OpenStack云平臺(tái)的網(wǎng)絡(luò)模式及其工作機(jī)制
這篇文章主要介紹了詳解OpenStack云平臺(tái)的網(wǎng)絡(luò)模式及其工作機(jī)制,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下。2016-12-12OpenStack 創(chuàng)建windows鏡像實(shí)現(xiàn)步驟
這篇文章主要介紹了 OpenStack 創(chuàng)建windows鏡像實(shí)現(xiàn)步驟的相關(guān)資料,需要的朋友可以參考下2016-11-11centos下最簡(jiǎn)安裝openstack——使用packstack詳解
本篇文章主要介紹了centos下最簡(jiǎn)安裝openstack——使用packstack,具有一定的參考價(jià)值,有興趣的可以了解一下。2017-01-01OpenStack手動(dòng)分布式部署Glance(Queens版)
這篇文章主要介紹了OpenStack手動(dòng)分布式部署Glance(Queens版),Glance為云平臺(tái)虛擬機(jī)提供鏡像服務(wù),例如:上傳鏡像、刪除鏡像等,需要的朋友可以參考下2023-03-03OpenStack Mitaka 版本中的 domain 和 admin詳解
這篇文章主要介紹了OpenStack Mitaka 版本中的 domain 和 admin詳解,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2017-03-03Openstack 網(wǎng)絡(luò)知識(shí)資料詳細(xì)介紹及總結(jié)
這篇文章主要介紹了Openstack 網(wǎng)絡(luò)知識(shí)資料詳細(xì)介紹及總結(jié)的相關(guān)資料,在開(kāi)發(fā)云計(jì)算的時(shí)候 Openstack 很多公司都在用,這里就整理下網(wǎng)絡(luò)知識(shí),需要的朋友可以參考下2016-12-12Openstack 節(jié)點(diǎn)維護(hù)詳細(xì)講解
這篇文章主要介紹了Openstack 節(jié)點(diǎn)維護(hù)詳細(xì)講解的相關(guān)資料,需要的朋友可以參考下2016-11-11