針對 SaltStack Config 建立新 SAML 組態之前,請閱讀這些步驟以確保您熟悉設定程序。

預先設定步驟

SaltStack Config 中設定 SAML 之前:

  • 安裝 SAML 身分識別提供者 (IdP) 並確保其正在執行。本主題不提供用於安裝任何 IdP 的指示。請連絡 IdP 管理員以取得支援。
  • 確保您具有 IdP 所提供認證和組態資料的存取權。此外,請參閱以下有關建立服務提供者憑證的章節。

建立服務提供者憑證

您需要產生憑證,以新增 SaltStack Config 作為經過 IdP 核准的服務提供者。您的 SaltStack Config 服務提供者需要 RSA 金鑰配對。為 SaltStack Config 設定 SAML 時,可以在多個位置輸入私密金鑰和公開金鑰值。

備註: 可在任何系統上產生此金鑰配對。不需要在 SSE 伺服器上建立。這些命令會在已安裝 openssl 公用程式的任何系統上執行。或者,您可以使用 Salt 產生自我簽署憑證。請參閱 對 TLS Salt 模組建立自我簽署憑證說明文件。

建立憑證:

  1. 使用下列命令產生稱為 cert.perm 的私密金鑰:
    openssl genrsa -out cert.pem 2048
  2. 建立與剛剛在上一步驟中建立之私密金鑰相關聯的公開金鑰。下列命令可引導您完成此程序:
    openssl req -new -x509 -key cert.pem -out cert.pub -days 1825
  3. 執行此命令時,請根據需要回答提示,例如您的:
    • 國家/地區名稱
    • 州/省名稱
    • 位置或城市名稱
    • 組織或公司名稱
    • 組織單位名稱
    • 伺服器主機名稱
    • 電子郵件地址

現在,您具有將在 SAML 組態中使用的公開金鑰和私密金鑰配對。記錄這些公開金鑰和私密金鑰配對,以便在執行其餘的設定程序時輕鬆存取。如需有關設定 SAML 組態的指示,請繼續前往下一節。

設定 SAML 組態

完成本節中的步驟之前,請確保已為服務提供者 SaltStack Config 產生公開金鑰和私密金鑰。如需更多指示,請參閱〈建立服務提供者憑證〉

SaltStack Config 中使用組織的慣用 IdP 設定 SAML SSO:

  1. 按一下側邊功能表上的管理 > 驗證
  2. 按一下建立
  3. 組態類型功能表中,選取 SAML

    工作區會顯示 SAML 組態類型支援的設定。

  4. 設定索引標籤的以下欄位中,填寫 SaltStack Config 安裝的相關資訊:
    • 名稱
    • 基礎 URI
    • 實體識別碼
    • 公司名稱
    • 顯示名稱
    • 網站
    備註: 如需這些欄位的說明,請參閱 〈SAML 資訊欄位〉
  5. 私密金鑰欄位中,複製為 SaltStack Config 建立服務提供者憑證時所產生的私密金鑰。如需詳細資訊,請參閱〈建立服務提供者憑證〉
  6. 公開金鑰欄位中,複製為 SaltStack Config 建立服務提供者憑證時所產生的公開金鑰。
  7. 在以下欄位中填寫相關連絡資訊:
    • 技術連絡人
    • 支援連絡人
  8. 提供者資訊區段的以下欄位中,填寫有關身分識別提供者 (IdP) 的中繼資料:
    • 實體識別碼
    • 使用者識別碼
    • 電子郵件
    • 使用者名稱
    • URL
    • x509 憑證
    備註: ADFS、Azure AD 和 Google SAML 是一般身分識別提供者的範例。您將在這些欄位中填寫 IdP 所提供的資訊。如需有關這些欄位的詳細資訊,請參閱 〈SAML 資訊欄位〉
  9. 可選:如果您希望 SaltStack Config 檢查 SAML 屬性聲明是否包含使用者設定檔,請勾選屬性聲明檢查方塊。依預設會勾選此選項。
  10. 按一下儲存

SaltStack Config 的 SAML 組態現已完成。如需有關使用服務提供者資訊設定 IdP 的指示,請繼續前往下一節。

使用服務提供者資訊設定 IdP

完成本節中的步驟之前,請先確保已在 SaltStack Config 中設定 SAML。如需詳細資訊,請參閱有關設定 SAML 組態的指示。

若要完成 SAML 組態,身分識別提供者需要兩項重要的資料:

  • AssertionCustomerService URL
  • SaltStack Config 建立服務提供者憑證時所產生的公開 (x509) 憑證 (公開金鑰)。如需詳細資訊,請參閱〈建立服務提供者憑證〉

AssertionCustomerService URL 是服務提供者在建立身分識別判斷提示時用來接受 SAML 訊息和構件的網址。在此情況下,SaltStack Config 是服務提供者。

以下是 AssertionCustomerService URL 的一般格式範例:https://<your-sse-hostname>/auth/complete/saml

將此資料提供給 IdP 後,如需有關建立屬性對應的指示,請繼續前往下一節。

建立屬性對應

SaltStack Config 會從輸入 SAML 判斷提示中提取使用者的相關資訊。因此,IdP 必須確保將所需值作為其他屬性進行傳送。對應這些屬性的程序特定於每個 SAML 身分識別提供者。如需建立屬性對應的相關協助,請參閱您的 IdP 說明文件或連絡管理員。

SaltStack Config 需要定義使用者的以下屬性:

  • 使用者識別碼
  • 電子郵件
  • 使用者名稱

許多組織會將所有這三個值對應至單一屬性,即使用者的電子郵件地址。通常會使用使用者的電子郵件地址,因為電子郵件地址在組織中通常是唯一的。

設定適用於 SAML 的 RBAC

SaltStack Config 支援為各種角色的使用者建立角色和權限。適用於 SAML 的 RBAC 的管理方式將與在 API (RaaS) 伺服器上的 SaltStack Config 中以原生方式儲存認證的使用者的管理方式相同。如需有關 [角色] 工作區的詳細資訊,請參閱〈角色和權限〉

建立角色後,便可以新增 SAML 使用者並為其指派角色。如需詳細資訊,請參閱以下有關新增使用者的章節。

新增使用者

依預設,只有在使用者首次使用 SAML 成功登入後,才會在 SaltStack Config 中註冊新使用者。或者,也可以手動新增使用者,以在 SaltStack Config 中預先註冊這些使用者。

手動新增使用者:

  1. 在 [驗證] 工作區中,從驗證組態清單中選取您的 SAML 組態以開啟組態設定。
  2. 在組態設定中,按一下使用者索引標籤。
  3. 按一下建立按鈕。
  4. 使用者名稱欄位中,輸入要新增之使用者的認證。此使用者名稱必須與其指派的 SAML 使用者名稱相同。
    備註: 確保此使用者名稱正確無誤。使用者建立完成後,將無法變更或重新命名其使用者名稱。
  5. 角色欄位中,選取要將使用者新增到的任何角色。依預設,會將所有新使用者新增至「使用者」角色。如需詳細資訊,請參閱〈設定適用於 SAML 的 RBAC〉
  6. 按一下儲存
    備註: 手動建立使用者後,只能在首次登入之前將其刪除。使用者初次登入後,刪除按鈕在此工作區中仍然可用,但不再起作用。

對組態進行疑難排解和驗證

SaltStack Config 中設定 SSO 後,請嘗試以一般使用者身分登入,以確保登入程序如預期般運作並且角色和權限正確無誤。

若要對潛在錯誤進行疑難排解,請嘗試:

  • 使用 SAML 追蹤工具,該工具可用於 Firefox 和 Chrome 網頁瀏覽器。
  • 檢視 /var/log/raas/raas 記錄訊息。
備註: 初始佈建且 SAML 驗證成功後,無法透過 SaltStack Config 使用者介面或使用 API 刪除使用者。