DataWorks的資料同步功能目前僅支援Kerberos認證,配置kerberos認證後,可以僅對受信任的應用和服務提供認證,使得只有經過認證的應用和服務才能訪問資料資源。本文為您介紹Kerberos的認證機制。
背景資訊
Kerberos協議主要用於電腦網路的身份鑒別(Authentication),其特點是使用者只需輸入一次身分識別驗證資訊就可以憑藉此驗證獲得的票據(Ticket-Granting Ticket,網路授權憑證)訪問多個服務,即SSO(Single Sign On,單點登入)。使用Kerberos協議時,會在每個Client和Service之間建立共用密鑰,服務之間使用密鑰進行通訊,避免不受信任的服務或應用訪問資料資源,因此該協議具有較高的安全性。
使用限制
Kerberos認證功能僅支援CDH叢集6.X版本,其他版本或者自建叢集未經過Kerberos認證測試,可能會導致認證失敗。
Kerberos認證功能僅支援HBase、HDFS和Hive資料來源(後續會逐步支援其他資料來源類型,敬請期待)。
Kerberos認證功能僅支援在獨享Data Integration資源群組上使用。
Kerberos認證原理
Kerberos是一種基於對稱金鑰的第三方認證協議,用戶端和伺服器均是依賴KDC(Kerberos的服務端程式,即密鑰分發中心)來進行身份認證。有關Kerberos的詳細介紹請參見概述。
如上圖所示,在DataWorks上進行Kerberos認證分為如下四個階段:
用戶端請求TGT:當用戶端使用者(Principal)訪問已開啟Kerberos認證的資料來源時,會先向KDC請求頒發一個認證憑證TGT,作為用戶端向KDC請求特定服務的身份證明。
KDC發放TGT:KDC收到請求後,先對用戶端進行身份認證,認證通過後,KDC會以加密形式為用戶端發放一個有使用到期日的認證憑證TGT。
用戶端請求訪問伺服器:用戶端擷取TGT後,會根據需要訪問的服務名稱向伺服器請求訪問特定服務資源。
伺服器認證用戶端:伺服器收到請求後,先對用戶端進行身份認證,認證通過後,才會允許用戶端正常訪問服務資源。
Kerberos認證過程中需要使用keytab認證檔案和krb5.conf設定檔完成認證行為,其中krb5.conf檔案主要用於儲存KDC伺服器的相關配置,keytab檔案用於儲存資源主體的身分識別驗證憑據,包含prinncipals和加密princiall key。使用Kerberos認證前,需要先將這兩個檔案上傳到認證檔案管理頁面,並在資料來源配置頁面完成認證檔案引用和配置,即可使用Kerberos認證。上傳認證檔案和不同資料來源類型的Kerberos配置參考請參見第三方認證檔案管理和支援Kerberos認證的資料來源。
支援Kerberos認證的資料來源
Kerberos支援的資料來源類型及配置指引如下所示:
資料來源類型 | 配置指引 |
HBase | |
HDFS | |
Hive |