前文我們了解了Ceph集群存儲池操作相關話題,回顧請參考https://www.cnblogs.com/qiuhom-1874/p/16743611.html;今天我們來聊一聊在ceph上認證和授權(quán)的相關話題;
我們知道ceph作為一個分布式存儲系統(tǒng),用戶想要在其上面存儲數(shù)據(jù),首先得通過認證以后,才能正常使用ceph;那么對于ceph來講,它是怎么認證用戶的呢?除了認證,我們知道不是所有用戶都能在ceph上創(chuàng)建存儲池,刪除存儲池等;這也意味著每個用戶都有一定的權(quán)限,在自己的權(quán)限范圍內(nèi)操作,ceph才算得上是一個安全的存儲系統(tǒng);那么ceph的認證和授權(quán)到底是怎么做的呢?
CephX認證機制

文章插圖
Ceph使用cephx協(xié)議對客戶端進行身份認證,其過程大致是這樣的;每個mon都可以對客戶端進行身份驗證并分發(fā)密鑰;這意味著認證靠mon節(jié)點完成,不會存在單點和性能瓶頸;mon會返回用于身份驗證的數(shù)據(jù)結(jié)構(gòu),其中包含獲取Ceph服務時用到的session key;所謂session key就是客戶端用來向mon請求所需服務的憑證;session key是通過客戶端的密鑰進行加密傳輸;當mon收到客戶端認證請求后,首先生成session key,然后用客戶端的密鑰加密session key,然后發(fā)送給客戶端,客戶端用自己的密鑰將其解密,拿到session key;客戶端有了session key以后,它就可以用這個session key向mon請求服務,mon收到客戶端的請求(攜帶session key),此時mon會向客戶端提供一個ticket(入場卷,票據(jù))然后用session key加密后發(fā)送給客戶端;隨后客戶端用session key解密,拿著這個憑證到對應osd完成認證;
以上過程,我們需要注意,客戶端的密鑰是通過mon節(jié)點在創(chuàng)建用戶帳號時就會生成,所以mon節(jié)點有對應客戶端的密鑰,所以通過客戶端的密鑰加密,客戶端可以用自己的密鑰解密;其次mon節(jié)點生成的session key 是有記錄的,所以對于不同客戶端來說,都有不同的記錄;并且該session key是有時間限制的;過期即便是對應客戶端,也沒法正常使用;所以客戶端拿著對應session key向mon請求服務,對應mon都是認可的,所以mon會發(fā)放ticket;最后我們要知道,MON和OSD都是共享客戶端的密鑰和session key,以及mon發(fā)放的ticket,所以客戶端拿著mon發(fā)放的ticket,對應osd是認可的;這也意味著不管是那個mon節(jié)點發(fā)放的ticket,對應所有mon節(jié)點和osd都是知道的;簡單講就是集群組件之間共享同一個secret;
CephX身份驗證MDS和OSD

文章插圖
提示:簡要過程是客戶端請求創(chuàng)建用戶,mon創(chuàng)建用戶并返回與共享密鑰給客戶端;客戶端向mon發(fā)起認證,認證成功,mon會返回一個session key;在規(guī)定時效范圍內(nèi),客戶端拿著session key向mon請求ticket,mon生成ticket并用對應session加密,客戶端收到對應mon返回的數(shù)據(jù)用session key解密,拿到ticket;隨后客戶端拿著對應當ticket去mds或者osd進行數(shù)據(jù)存取操作,對應組件會被認證通過,因為mon和mds、osd之間都是共享secret;
這里需要注意,CephX身份驗正功能僅限制Ceph的各組件之間,它不能擴展到其它非Ceph組件;其次它并不解決數(shù)據(jù)傳輸加密的問題;什么意思呢?我們知道ceph的客戶端接口有rbd、cephfs和radosgw;對于ceph來講,它并不關心什么樣的客戶端通過rbd、cephfs、radosgw接口量訪問數(shù)據(jù);它只關心rbd、cephfs、radosgw這些客戶端接口程序能夠正常認證通過;簡單講就是數(shù)據(jù)最后“一公里”它不負責,至于用rbd、cephfs、radosgw這些接口的客戶端是誰,怎么傳輸數(shù)據(jù)它管不著;
認證與授權(quán)相關術語
無論Ceph客戶端是何類型,Ceph都會在存儲池中將所有數(shù)據(jù)存儲為對象;Ceph用戶需要擁有存儲池訪問權(quán)限才能讀取和寫入數(shù)據(jù);Ceph用戶必須擁有執(zhí)行權(quán)限才能使用Ceph的管理命令;
經(jīng)驗總結(jié)擴展閱讀
- 腎結(jié)石有遺傳因素嗎
- 分布式存儲系統(tǒng)之Ceph集群存儲池操作
- 陰陽師劇情收錄系統(tǒng)有什么功能
- 臺式電腦怎么裝系統(tǒng)
- 有沒有像系統(tǒng)之鄉(xiāng)土懶人的小說
- 怎么制作系統(tǒng)u盤win7
- 分布式存儲系統(tǒng)之Ceph集群存儲池、PG 與 CRUSH
- 蘋果ios14.7新功能_蘋果ios14.7系統(tǒng)怎么樣
- centos7系統(tǒng)資源限制整理
- 引擎之旅 Chapter.4 日志系統(tǒng)
