搭配 Keycloak 的 SAML
Keycloak 是一個開放原始碼平台,可用作使用者目錄來儲存使用者資料,同時作為單一登入的 IdP。
- 在 Keycloak 中設定 SAML (身分提供者)。
- 在 Metabase 中設定 SAML (服務提供者)。
如需更多資訊,請查看我們的 使用 SAML 進行驗證 指南。
在 Keycloak 主控台中工作
- 前往 Keycloak 管理主控台,並以管理員身分登入。
- 從 管理 > 使用者 建立使用者。您需要填寫電子郵件、名字和姓氏欄位。
- 一旦您至少建立一個使用者,導覽標籤就會出現在 使用者 頁面頂端。前往 憑證 以設定使用者的密碼。
- 關閉 臨時 切換開關。
- 按一下 設定密碼 以儲存變更。
-
從 管理 > 用戶端 > 建立 建立新的 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。
- 按一下 儲存。
- 用戶端 ID:輸入小寫的
-
(選用) 停用 SSO 用戶端的金鑰簽署。請參閱 簽署 SSO 要求的設定。
- 按一下 金鑰 標籤。
- 用戶端簽名為必要項目: 關閉。
- 將使用者屬性從 Metabase 對應至 SSO 用戶端。
- 按一下 用戶端範圍 標籤。
- 按一下
metabase-dedicated
。 - 按一下 新增預先定義的對應器。
- 將 Keycloak 中使用者的屬性對應至 Metabase.
- 從 設定 > 領域設定 設定服務提供者 (Metabase)。
- 從 端點 選取「SAML 2.0 身分提供者中繼資料」。
- XML 檔案將在新分頁中開啟。
- 保留此檔案以供參考,我們將在下一節中使用它來設定 Metabase。
將欄位從 Keycloak 對應至 Metabase
- 前往您的 Metabase 管理設定 > 驗證 > SAML。
- 從上方步驟 7 的 XML 檔案
- SAML 身分提供者 URL:插入緊接在下列字串後方顯示的 URL:
Binding="urn:oasis:names:tc:SAML:2.0:bindings:HTTP-POST" Location=
- SAML 身分提供者簽發者:插入緊接在
entityID=
後方顯示的 URL。 - SAML 身分提供者憑證:輸入在
<X509Certificate>
標籤之後顯示的長字串。插入此字串時請小心:如果新增或遺漏任何字母或特殊字元,設定將無法運作。 - SAML 應用程式名稱:
metabase
- SAML 身分提供者 URL:插入緊接在下列字串後方顯示的 URL:
- 按一下 儲存變更。
- 檢查頁面頂端的 SAML 驗證 是否已切換為 開啟。
將 Keycloak 中使用者的屬性對應至 Metabase
Keycloak 預設可以匯入四個使用者屬性:名稱、姓氏、電子郵件和角色。
假設我們想要在用戶端 (Metabase) 和驗證伺服器 (Keycloak) 之間傳遞電子郵件、名稱和姓氏。
- 從主控台右側的核取方塊中選取「X500 電子郵件」、「X500 givenName」和「X500 姓氏」。
- 按一下 新增選取項目。
- 按一下每個屬性旁的 編輯,並進行下列變更
- SAML 屬性名稱:Metabase 預期收到的名稱。
- SAML 屬性名稱格式:從下拉式選單中選取「基本」。
您可以從 Metabase 管理設定 > 驗證 > SAML > 屬性 編輯屬性值。
疑難排解 SAML 問題
如需常見問題,請前往 SAML 疑難排解。
閱讀其他 Metabase 版本 的文件。