搭配 Keycloak 的 SAML

Keycloak 是一個開放原始碼平台,可用作使用者目錄來儲存使用者資料,同時作為單一登入的 IdP。

  1. 在 Keycloak 中設定 SAML (身分提供者)。
  2. 在 Metabase 中設定 SAML (服務提供者)。

如需更多資訊,請查看我們的 使用 SAML 進行驗證 指南。

在 Keycloak 主控台中工作

  1. 前往 Keycloak 管理主控台,並以管理員身分登入。
  2. 管理 > 使用者 建立使用者。您需要填寫電子郵件、名字和姓氏欄位。
  3. 一旦您至少建立一個使用者,導覽標籤就會出現在 使用者 頁面頂端。前往 憑證 以設定使用者的密碼。
    • 關閉 臨時 切換開關。
    • 按一下 設定密碼 以儲存變更。
  4. 管理 > 用戶端 > 建立 建立新的 SSO 用戶端

    • 用戶端 ID:輸入小寫的 metabase
    • 用戶端類型:從下拉式選單中選取 SAML
    • 按一下 下一步
    • 有效重新導向 URI:您託管 Metabase 執行個體的 URL,後面接著斜線 (/) 和星號 (_)。例如,如果您在本機託管 Metabase (網址為 https://127.0.0.1:3000),則 URL 會是 https://127.0.0.1:3000/_
    • 首頁 URL:在您的 Metabase 中,前往 管理設定 > 驗證 > SAML。您會在 IdP 應重新導向回的 URL 欄位中找到您的首頁 URL。
    • 按一下 儲存
  5. (選用) 停用 SSO 用戶端的金鑰簽署。請參閱 簽署 SSO 要求的設定

    • 按一下 金鑰 標籤。
    • 用戶端簽名為必要項目: 關閉。
  6. 將使用者屬性從 Metabase 對應至 SSO 用戶端。
  7. 設定 > 領域設定 設定服務提供者 (Metabase)。
    • 端點 選取「SAML 2.0 身分提供者中繼資料」。
    • XML 檔案將在新分頁中開啟。
    • 保留此檔案以供參考,我們將在下一節中使用它來設定 Metabase。

將欄位從 Keycloak 對應至 Metabase

  1. 前往您的 Metabase 管理設定 > 驗證 > SAML
  2. 從上方步驟 7 的 XML 檔案
    • SAML 身分提供者 URL:插入緊接在下列字串後方顯示的 URL:Binding="urn:oasis:names:tc:SAML:2.0:bindings:HTTP-POST" Location=
    • SAML 身分提供者簽發者:插入緊接在 entityID= 後方顯示的 URL。
    • SAML 身分提供者憑證:輸入在 <X509Certificate> 標籤之後顯示的長字串。插入此字串時請小心:如果新增或遺漏任何字母或特殊字元,設定將無法運作。
    • SAML 應用程式名稱metabase
  3. 按一下 儲存變更
  4. 檢查頁面頂端的 SAML 驗證 是否已切換為 開啟

將 Keycloak 中使用者的屬性對應至 Metabase

Keycloak 預設可以匯入四個使用者屬性:名稱、姓氏、電子郵件和角色。

假設我們想要在用戶端 (Metabase) 和驗證伺服器 (Keycloak) 之間傳遞電子郵件、名稱和姓氏。

  1. 從主控台右側的核取方塊中選取「X500 電子郵件」、「X500 givenName」和「X500 姓氏」。
  2. 按一下 新增選取項目
  3. 按一下每個屬性旁的 編輯,並進行下列變更
    • SAML 屬性名稱:Metabase 預期收到的名稱。
    • SAML 屬性名稱格式:從下拉式選單中選取「基本」。

您可以從 Metabase 管理設定 > 驗證 > SAML > 屬性 編輯屬性值。

疑難排解 SAML 問題

如需常見問題,請前往 SAML 疑難排解

閱讀其他 Metabase 版本 的文件。