針對 SaltStack Config 建立新 SAML 組態之前,請閱讀這些步驟以確保您熟悉設定程序。
預先設定步驟
在 SaltStack Config 中設定 SAML 之前:
- 安裝 SAML 身分識別提供者 (IdP) 並確保其正在執行。本主題不提供用於安裝任何 IdP 的指示。請連絡 IdP 管理員以取得支援。
- 確保您具有 IdP 所提供認證和組態資料的存取權。此外,請參閱以下有關建立服務提供者憑證的章節。
建立服務提供者憑證
您需要產生憑證,以新增 SaltStack Config 作為經過 IdP 核准的服務提供者。您的 SaltStack Config 服務提供者需要 RSA 金鑰配對。為 SaltStack Config 設定 SAML 時,可以在多個位置輸入私密金鑰和公開金鑰值。
建立憑證:
- 使用下列命令產生稱為 cert.perm 的私密金鑰:
openssl genrsa -out cert.pem 2048
- 建立與剛剛在上一步驟中建立之私密金鑰相關聯的公開金鑰。下列命令可引導您完成此程序:
openssl req -new -x509 -key cert.pem -out cert.pub -days 1825
- 執行此命令時,請根據需要回答提示,例如您的:
- 國家/地區名稱
- 州/省名稱
- 位置或城市名稱
- 組織或公司名稱
- 組織單位名稱
- 伺服器主機名稱
- 電子郵件地址
現在,您具有將在 SAML 組態中使用的公開金鑰和私密金鑰配對。記錄這些公開金鑰和私密金鑰配對,以便在執行其餘的設定程序時輕鬆存取。如需有關設定 SAML 組態的指示,請繼續前往下一節。
設定 SAML 組態
完成本節中的步驟之前,請確保已為服務提供者 SaltStack Config 產生公開金鑰和私密金鑰。如需更多指示,請參閱〈建立服務提供者憑證〉。
在 SaltStack Config 中使用組織的慣用 IdP 設定 SAML SSO:
- 按一下側邊功能表上的管理 > 驗證。
- 按一下建立。
- 從組態類型功能表中,選取 SAML。
工作區會顯示 SAML 組態類型支援的設定。
- 在設定索引標籤的以下欄位中,填寫 SaltStack Config 安裝的相關資訊:
- 名稱
- 基礎 URI
- 實體識別碼
- 公司名稱
- 顯示名稱
- 網站
備註: 如需這些欄位的說明,請參閱 〈SAML 資訊欄位〉。 - 在私密金鑰欄位中,複製為 SaltStack Config 建立服務提供者憑證時所產生的私密金鑰。如需詳細資訊,請參閱〈建立服務提供者憑證〉。
- 在公開金鑰欄位中,複製為 SaltStack Config 建立服務提供者憑證時所產生的公開金鑰。
- 在以下欄位中填寫相關連絡資訊:
- 技術連絡人
- 支援連絡人
- 在提供者資訊區段的以下欄位中,填寫有關身分識別提供者 (IdP) 的中繼資料:
- 實體識別碼
- 使用者識別碼
- 電子郵件
- 使用者名稱
- URL
- x509 憑證
備註: ADFS、Azure AD 和 Google SAML 是一般身分識別提供者的範例。您將在這些欄位中填寫 IdP 所提供的資訊。如需有關這些欄位的詳細資訊,請參閱 〈SAML 資訊欄位〉。 - 可選:如果您希望 SaltStack Config 檢查 SAML 屬性聲明是否包含使用者設定檔,請勾選屬性聲明檢查方塊。依預設會勾選此選項。
- 按一下儲存。
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 中預先註冊這些使用者。
手動新增使用者:
- 在 [驗證] 工作區中,從驗證組態清單中選取您的 SAML 組態以開啟組態設定。
- 在組態設定中,按一下使用者索引標籤。
- 按一下建立按鈕。
- 在使用者名稱欄位中,輸入要新增之使用者的認證。此使用者名稱必須與其指派的 SAML 使用者名稱相同。
備註: 確保此使用者名稱正確無誤。使用者建立完成後,將無法變更或重新命名其使用者名稱。
- 在角色欄位中,選取要將使用者新增到的任何角色。依預設,會將所有新使用者新增至「使用者」角色。如需詳細資訊,請參閱〈設定適用於 SAML 的 RBAC〉。
- 按一下儲存。
備註: 手動建立使用者後,只能在首次登入之前將其刪除。使用者初次登入後,刪除按鈕在此工作區中仍然可用,但不再起作用。
對組態進行疑難排解和驗證
在 SaltStack Config 中設定 SSO 後,請嘗試以一般使用者身分登入,以確保登入程序如預期般運作並且角色和權限正確無誤。
若要對潛在錯誤進行疑難排解,請嘗試:
- 使用 SAML 追蹤工具,該工具可用於 Firefox 和 Chrome 網頁瀏覽器。
- 檢視
/var/log/raas/raas
記錄訊息。