基於 SAML 的驗證

SAML 驗證僅適用於 ProEnterprise 方案(包括自架主機和 Metabase Cloud)。

將您的 SSO 與 Metabase 整合後,您可以

  • 在有人登入 Metabase 時,佈建 Metabase 帳戶。
  • 自動將使用者屬性從您的 SSO 傳遞至 Metabase,以便支援資料沙箱
  • 讓人員無需重新驗證即可存取 Metabase。

確認您的 Metabase 管理員帳戶密碼

在設定 SAML 之前,請確認您知道 Metabase 管理員帳戶的密碼。如果您在設定過程中遇到任何問題,您可以透過登入畫面上的「管理員備份登入」選項登入。

在 Metabase 中設定 SAML 與您的 IdP

一旦您確認您的 Metabase 管理員帳戶的密碼,請前往管理面板的 設定 區段,然後按一下 驗證 索引標籤。按一下驗證頁面 SAML 區段中的 設定 按鈕,您就會看到此表單

SAML form

此表單包含三個區段

  1. 您必須輸入至您的身分提供者 (IdP) 的 Metabase 資訊.
  2. 您需要告知 Metabase 的 IdP 資訊.
  3. 簽署 SSO 請求(選用).

SAML 指南

首先,您需要確定您的 IdP 已正確設定。每個 IdP 處理 SAML 設定的方式都不同。

我們撰寫了一些適用於最常見提供者的指南

如果您在此處看不到您的 IdP

  • 請參閱 IdP 關於設定 SAML 的參考文件。您會尋找類似此OneLogin SAML 指南的內容。
  • 使用在 Metabase SAML 表單上找到的資訊,填寫您的 IdP 的 SAML 表單。
  • 如需更多資訊,請參閱關於一般 SAML 設定的下一節。

使用者佈建

預設情況下,Metabase 將會為尚未擁有 Metabase 帳戶但能夠透過 SAML SSO 登入的人員建立帳戶。

如果您已設定使用 SCIM 進行使用者佈建,您會想要關閉此設定,讓 Metabase 不會為任何成功驗證身分的使用者自動建立新帳戶,因為您可能想要使用 SCIM 來判斷誰可以和誰無法在 Metabase 中建立帳戶。

一般 SAML 設定

Metabase 中 SAML 表單的頂部部分包含您填寫 IdP 的 SAML 表單所需的資訊,並提供按鈕讓您輕鬆複製資訊。

Metabase SAML 表單中欄位的名稱不一定會與您的 IdP 使用的名稱相符。我們在下方提供了每個欄位的說明,以協助您將資訊從一個位置對應到另一個位置。

IdP 應該重新導向回的 URL

重新導向 URL 是人員在使用您的 IdP 登入後將被傳送到的網址。若要將人員重新導向至您的 Metabase,您的重新導向 URL 應該是您的 Metabase 網站 URL,結尾加上 /auth/sso

例如,如果您的 Metabase 網站 URL 是 https://metabase.yourcompany.com,您將使用

https://metabase.yourcompany.com/auth/sso

作為您 IdP 的 SAML 表單中的重新導向 URL。

不同的 IdP 對於重新導向 URL 使用不同的名稱。以下是一些常見範例

提供者 名稱
Auth0 應用程式回呼 URL
Okta 單一登入 URL
OneLogin ACS (消費者) URL

使用者屬性

Metabase 將會自動登入已通過您的 SAML 身分提供者驗證身分的人員。為了執行此動作,身分提供者的 SAML 回應中傳回的第一個判斷提示必須包含每個人的名字、姓氏和電子郵件的屬性。

大多數 IdP 預設已包含這些判斷提示,但某些 IdP(例如 Okta)必須設定為包含這些判斷提示。

一般而言,您需要將這些使用者屬性(名字、姓氏和電子郵件)貼到標示為「名稱」、「屬性」或「參數」的欄位中。

如果您允許人員編輯其電子郵件地址:請務必更新 Metabase 中對應的帳戶電子郵件。讓電子郵件地址保持同步將會保護人員免於遺失其帳戶的存取權。

用於簽署 SSO 請求的設定(選用)

這些是您可以填寫的其他設定,以簽署 SSO 請求,確保這些請求不會遭到竄改。

在 Metabase 中啟用 SAML 驗證

Metabase 現在需要知道一些關於您的 IdP 的資訊。以下是每個設定的細分

SAML 身分提供者 URL

Metabase 將會將登入請求重新導向至身分提供者 URL,人員將會前往該處以使用 SSO 登入。

不同的 IdP 對於身分提供者 URL 使用不同的名稱。以下是一些常見範例

提供者 名稱
Auth0 身分提供者登入 URL
Okta 身分提供者單一登入 URL
OneLogin SAML 2.0 端點 (HTTP)

SAML 身分提供者簽發者

SAML 身分提供者簽發者是 IdP 的唯一識別碼。您也可能會看到「簽發者」稱為「實體 ID」。來自 IdP 的判斷提示將會包含此資訊,而 Metabase 將會驗證簽發者是否與您設定的值相符。

我們建議您設定此值,以讓您的 SAML 組態更安全。

提供者 名稱
Auth0 身分提供者登入 URL
Okta 身分提供者簽發者
OneLogin 簽發者 URL

SAML 身分提供者憑證

SAML 身分提供者憑證是一個編碼憑證,Metabase 將在連線至 IdP URI 時使用。憑證看起來會像一大塊文字,您會想要仔細複製並貼上 — 間距非常重要!

您的 IdP 可能會讓您將此憑證下載為檔案(通常為 .cer.pem),然後您需要以文字編輯器開啟,才能複製內容,然後貼到 Metabase 中的方塊。

請注意,您的憑證文字可能包含看起來像 -----BEGIN CERTIFICATE----------END CERTIFICATE----- 的標頭和頁尾註解。將您的憑證文字貼到 Metabase 中時,應包含這些註解。

提供者 名稱
Auth0 簽署憑證
Okta X.509 憑證
OneLogin X.509 憑證

用於簽署 SSO 請求的設定(選用)

若要簽署請求,使其無法遭到竄改,您需要提供其他設定。

如果您的 IdP 加密 SAML 回應,您需要確保已填寫此區段。

如果您變更任何這些設定(無論是在初始設定期間或是在編輯現有值之後),您都需要重新啟動 Metabase,因為金鑰儲存庫檔案的讀取方式。

  • SAML 金鑰儲存庫路徑: 用於簽署 SAML 請求的金鑰儲存庫檔案的絕對路徑。
  • SAML 金鑰儲存庫密碼: 將開啟金鑰儲存庫的神奇咒語。
  • SAML 金鑰儲存庫別名: Metabase 應用於簽署 SAML 請求的金鑰別名。

SAML 單一登出 (SLO)

Metabase 支援 SAML 的單一登出 (SLO)。

SLO 的端點: /auth/sso/handle_slo

因此,如果您的 Metabase 在 metabase.example.com 提供服務,則登出服務 POST 繫結 URL 將會是

https://metabase.example.com/auth/sso/handle_slo

將群組成員資格與您的 IdP 同步

此設定可讓您根據 IdP 中使用者的屬性,將使用者指派給 Metabase 群組。此設定可能與您的 IdP 提供的群組功能無關;您可能需要建立個別的使用者屬性來設定人員的 Metabase 群組,例如 metabaseGroups

首先,您需要建立一個 SAML 使用者屬性,您將使用該屬性來指示人員應加入哪些 Metabase 群組。此建立的使用者屬性可以是 XML 字串或 XML 字串清單。不同的 IdP 具有不同的處理方式,但您可能需要編輯您的使用者設定檔,或尋找方法將使用者的群組對應至 Metabase 群組名稱清單。

在 Metabase 中設定群組結構描述

一旦您在 SAML 提供者中完成所有設定,您需要在 Metabase 中設定群組結構描述。

  1. 開啟 同步群組成員資格 設定。
  2. 按一下 編輯對應
  3. 按一下 建立對應
  4. 輸入您在 metabaseGroups 屬性值中輸入的其中一個群組名稱,然後點擊新增按鈕。
  5. 點擊在「群組」標題下出現的下拉式選單,以選取應將具有此特定 metabaseGroups 值的用戶新增至其中的 Metabase 群組。
  6. 點擊儲存
  7. 之後,輸入您在 SAML 提供者中新增的使用者屬性名稱。在本例中,我們告知 Okta metabaseGroups 屬性應命名為 MetabaseGroupName,因此我們將在 Metabase 的「群組屬性名稱」欄位中輸入此名稱。

Group schema

使用 SSO 建立 Metabase 帳戶

付費方案會針對每個額外帳戶收費

新的 SSO 登入將自動建立一個新的 Metabase 帳戶。

使用外部身分提供商登入建立的 Metabase 帳戶沒有密碼。使用 IdP 註冊 Metabase 的人員必須繼續使用 IdP 登入 Metabase。

停用密碼登入

避免將自己鎖在 Metabase 之外! 關閉密碼登入適用於所有 Metabase 帳戶,包括您的 Metabase 管理員帳戶。在關閉密碼登入之前,請確保您可以使用 SSO 登入您的管理員帳戶。

若要要求人們使用 SSO 登入,請從管理設定 > 驗證停用密碼驗證。關閉啟用密碼驗證切換鈕。

Password disable

新帳戶通知電子郵件

當人們首次透過 SSO 登入 Metabase 時,Metabase 將自動為他們建立一個帳戶,這將觸發電子郵件通知給 Metabase 管理員。如果您不希望發送這些通知,您可以從「驗證」頁面底部關閉它們。

使用 SAML 的範例程式碼

您可以在 SSO 範例儲存庫中找到使用 SAML 驗證的範例程式碼。

SAML 問題疑難排解

閱讀其他版本的 Metabase 文件