Hadoop(二十二)CM Kerberos基本原理

一年都在冬眠發表於2024-09-19

基於CDP的CM維護Hadoop生態元件

CDP

  • Cloudera Data Platform(CDP)是Cloudera公司推出的一個全面的資料平臺,它支援在多雲環境中部署和管理資料
  • CDP提供了一種統一的方法來管理資料和分析工作負載,無論是在本地、公有云還是私有云環境中
  • CDP包括多種服務和工具,如Cloudera Data Hub(CDH)、Cloudera Data Warehouse(CDW)、Cloudera Data Science(CDS)、Cloudera Operational DB(COD)和Cloudera DataFlow(CDF)等

CM

  • CDP透過Cloudera Manager(CM)來管理和監控Hadoop生態系統中的元件
  • CM是一個強大的工具,它提供了一個集中的介面來配置、管理和監控Hadoop叢集

在維護Hadoop生態元件方面,CM提供了以下功能

  • 服務監控:CM可以監控叢集中服務的狀態,包括HDFS、YARN、Hive、HBase等,並提供實時的效能指標和日誌資訊
  • 配置管理:CM允許管理員透過一箇中央介面來配置和管理叢集中的所有服務,無需直接登入到各個節點。
  • 自動化部署:CM支援自動化部署新服務和元件,簡化了叢集的擴充套件和升級過程。
  • 安全和合規性:CM提供了安全功能,如Kerberos認證、資料加密和訪問控制,以確保資料的安全性和合規性。
  • 故障排查和診斷:當叢集出現問題時,CM提供了診斷工具和日誌分析功能,幫助管理員快速定位和解決問題。
  • 高可用性和災難恢復:CM支援配置高可用性(HA)叢集,確保關鍵服務在節點故障時仍然可用。
  • 整合開發和測試環境:CM可以與Cloudera的IDE整合,為開發人員提供沙箱環境,以便他們可以開發和測試新的資料處理流程。

Kerberos基本原理

  • Kerberos是一種網路認證協議,它透過使用票務系統和金鑰分發中心(KDC)來在不安全的網路環境中對使用者和服務進行身份驗證,確保資料的安全性。在Kerberos中,使用者首先向認證伺服器(AS)證明自己的身份,然後獲得一個Ticket Granting Ticket (TGT),隨後使用TGT向票據授權伺服器(TGS)請求特定服務的票據,最後使用該服務票據向目標服務請求服務,整個過程涉及加密和解密操作以保證通訊的安全性,同時票據通常具有時間限制以防止重放攻擊。

身份驗證過程

  • 使用者想要訪問一個服務(例如,一個網路服務或應用程式)
  • 使用者透過輸入使用者名稱和密碼向認證伺服器(AS)證明自己的身份

票務系統

  • 認證伺服器驗證使用者的身份後,會發放一個票據稱為Ticket Granting Ticket (TGT)
  • TGT是一個加密的票據,它包含了使用者的身份資訊和一些服務票據請求的許可權,只有認證伺服器才能解密

服務票據請求

  • 使用者使用TGT向票據授權伺服器(TGS)請求一個特定服務的票據
  • TGS驗證TGT的有效性後,會發放一個服務票據給使用者

訪問服務

  • 使用者使用服務票據向目標服務請求服務
  • 服務會驗證票據的有效性,如果驗證透過,服務會為使用者提供所需的資源或資料

金鑰分發中心(KDC)

  • KDC通常包含認證伺服器(AS)和票據授權伺服器(TGS),它們共同負責處理認證和票據發放

安全性

  • 所有的票據都是使用服務的金鑰進行加密的,確保只有對應的服務可以解密和驗證票據
  • 票據通常有一個時間限制,過期後將不再有效,這增加了安全性

防止重放攻擊

  • 票據中包含時間戳和其他唯一識別符號,以確保票據不會被重複使用

跨域認證

  • Kerberos還支援跨域認證,允許使用者在不同的域之間進行無縫的身份驗證

透過shell進行kerberos鑑權

獲取票據

  • 首先,需要使用kinit命令獲取Kerberos票據,通常需要輸入Kerberos密碼
kinit <username>@<REALM>
  • 或者有密碼檔案(如~/.k5login或/etc/k5login),可以直接執行:
kinit

檢視票據

  • 使用klist命令檢視當前獲取的Kerberos票據
klist

使用票據進行鑑權

  • 一旦有了票據,就可以使用它來對服務進行鑑權。例如,嘗試訪問HDFS,可以使用以下命令,這個命令將使用Kerberos票據來鑑權,並列出HDFS根目錄的內容
hdfs dfs -ls /

票據續期

  • Kerberos票據通常有一個有效期,需要定期續期,可以使用kinit命令與-renew選項來續期票據
kinit -renew

刪除票據

  • 完成操作後,可以使用kdestroy命令來刪除票據
kdestroy

相關文章