資料連結 Kerberos 認證

1. 概述

1.1 版本

FineBI 版本
功能變動
6.0-
6.0.2
優化 Kerberos 認證方式,可在前端直接上傳相關檔案

1.2 功能簡介

1)Kerberos 認證 是 Hadoop 生態的一種通用的認證方式。

2)配置 Kerberos 認證的方式有兩種:

  • 直接使用資料連結配置介面中的 Kerberos 認證:主要用於 Hive、HBase 等驅動的認證連結。

  • 配置 JVM 參數後再進入資料連結配置介面進行認證:主要用於按要求填寫資料連結配置介面認證成功,建立連結依然拋錯的情況,比如 CDH 的 Impala 等資料庫。

1.3 支援的資料庫

支援的資料庫類型如下,進行 Kerberos 認證的資料庫,需要更換專用的驅動,URL 格式也要有所改變,詳情請參見:Kerberos驅動整理

  資料庫
  Apache Impala
  Hadoop Hive
  Spark
  Transwarp Inceptor(星環)
  Apache Phoenix
  HBase

1.4 資料連結前的準備工作

1)下載環境上的配置檔案 krb5.conf、XXX.keytab、principal 。

2)principal 為註冊過 KDC 的使用者端名稱。

3) XXX.keytab 為金鑰表檔案,需要在提供 Kerberos 服務的應用伺服器上找到該檔案的對應位置。在不同伺服器上 keytab 的檔案名稱可能不一樣,這裏用 XXX 代替。

2. 操作方式

這裏以 Hve 為例。

2.1 配置 hosts 檔案

配置本地 hosts 檔案,例如在路徑C:\Windows\System32\drivers\etc\hosts下配置遠端映射:192.168.5.127  quickstart.cloudera 。映射格式為「 IP  機器名」。如下圖所示:

1725439090731471.png

2.2 設定資料連結

1)參考 Kerberos驅動整理 找到對應驅動,更改 URL 為對應格式,切換認證方式為 Kerberos。如下圖所示:

1725439256512884.png

2)上傳「keytab」檔案和「krb5.conf」檔案。如下圖所示:

1725439324758180.png

3)點選「測試連結」,連結成功如下圖所示:

1725439450998831.png

3. 注意事項

3.1 檢查伺服器及認證資訊

檢查內容要求
檢查 FineBI 伺服器所在機器和資料庫伺服器的系統時間差通常要求時間差小於 5 分鐘

檢查配置 FineBI 伺服器所在機器的 hosts 檔案

需確認能透過主機名/域名 ping 通資料庫伺服器
FineBI 自帶的 zookeeper 包與資料庫服務端的 zookeeper 版本需要匹配例如:華為 HD 平台連結可能會出現此類報錯
檢查 principal 名稱是否正確

principal 的格式通常為帳號/部門@公司,確認 principal 是否正確的方式是在資料庫服務端 shell 執行klist 或者 kinit -k -t /path/to/keytab name_of_principal。或直接透過 beeline、impala-shell 等工具連結開啟認證的服務,並查看對應的 principal 資訊

例如:Hive 服務對應 principal 為 hive /bigdata@XXX.COM,而 Impala 服務對應的 principal為impala/bigdata@XXX.COM

檢查 FineBI 的工程路徑確定不帶有空格(如 tomcat 9),因為 Kerberos 認證不支援帶有空格路徑。

3.2 無法連結處理方式

1)若連結失敗,可與平台資料庫管理者確認相關服務的安全認證配置是否正確,並聯系帆軟技術支援並提供相關報錯日誌(提新增 JVM 安全除錯參數,如下所示),資料平台資料庫版本、對應驅動 JAR 包、相關連結資訊、Java 認證連結測試程式碼或者能連結認證資料庫的 shell 工具等。

jvm 安全除錯日誌參數:

-Djava.security.debug=gssloginconfig,configfile,configparser,logincontext
-Djava.security.krb5.debug=true

2)特殊情況下,如果 Windows 系統下無法連結,可以把 FineBI 測試伺服器部署在 Linux 系統上。需保證該伺服器能透過相關 shell 工具連上資料庫,透過 klist 能看到已快取的 kgt 資訊。

3.3 報錯

3.3.1 Unable to obtain Principal Name for authentication

問題描述:

cdh 連結拋錯:Unable to obtain Principal Name for authentication 

原因分析:

JDK 預設安裝的 JCE 不能處理超過 128 位的對稱金鑰。

解決方案:

更新 JRE 的 JCE 擴展包。

JCE 安裝詳情參見:擴展包安裝連結 。通常直接到第 4 步即可,下載解壓得到 JCE 擴展 JAR 包,然後到 JRE 的指定目錄更換檔案即可。

3.3.2 GSS initiate failed

問題描述:

Transwarp Inceptor(星環)資料庫報錯 GSS initiate failed 。

排查步驟:

驅動本身做了靜態全局的操作,kerberos 中心重新整理後,驅動內部的靜態全局還殘留,故資料連結連不上。重啟 BI 伺服器查看是否依舊有該報錯。若仍然有,採取下面的排查步驟:

  • (密碼錯誤)keytab 檔案與使用者不匹配,可以在使用者端伺服器中kinit-k-t keytab使用者進行檢查。

  • 本地伺服器和遠端伺服器的(時鐘偏移)時間不匹配,請檢查ntp到遠端伺服器。

  • (aes256不支援)預設情況下aes256不支援jdk/jre,需要從/opt/huawei/Bigdata/jdk/jre/lib/security路徑中的遠端伺服器複製local_policy.jarUS_export_policy.jar

  • (無規則)主體格式預設不支援,需要新增屬性hadoop.security.auth_to_local(在core site.xml中)值規則:[1:$1]規則:[2:$1]。

  • (逾時)無法連結到kdc伺服器或網路中存在防火牆。

附件列表


主题: 資料準備
  • 有帮助
  • 没帮助
  • 只是浏览
  • 圖片不清晰
  • 用語看不懂
  • 功能說明看不懂
  • 操作說明太簡單
  • 內容有錯誤
中文(繁體)

滑鼠選中內容,快速回饋問題

滑鼠選中存在疑惑的內容,即可快速回饋問題,我們將會跟進處理。

不再提示

10s後關閉

獲取幫助
線上支援
獲取專業技術支援,快速幫助您解決問題
工作日9:00-12:00,13:30-17:30在线
頁面反饋
針對當前網頁的建議、問題反饋
售前咨詢
業務咨詢
電話:0933-790886或 0989-092892
郵箱:taiwan@fanruan.com
頁面反饋
*問題分類
不能為空
問題描述
0/1000
不能為空

反馈已提交

网络繁忙