為 SaltStack Config 設定以 SAML 為基礎的驗證系統時,需要填寫各種資訊欄位。也可以使用 API 設定以 SAML 為基礎的系統,但不建議這樣做。
SAML 資訊欄位
所有 SAML 驗證資訊欄位為必填。輸入 SAML 驗證組態的資訊,如下所示。
如果在設定連線時需要協助,請連絡管理員。
基本
欄位 |
說明 |
---|---|
名稱 |
SSE 所使用的驗證連線的名稱。當您登入 [驗證] 工作區時,此名稱將顯示在側邊欄中,如果要設定多個組態,此名稱應是唯一的。初始建立後,無法變更此名稱。 範例:Acme SSO |
基礎 URI |
您的組織在 SaltStack Config 中所使用的基底 URL,亦稱為主機伺服器位址。其格式為 FQDN 或 IP 位址,例如 範例: |
實體識別碼 |
此 SaltStack Config 服務提供者的唯一識別碼。雖然其 SAML 傳統是使用類似 URL 的字串,但任何類型的字串均可使用。相較於您組織所使用的其他 SAML 應用程式,它必須是唯一的。將 SaltStack Config 登錄為應用程式時,請確保使用相同的識別碼。 範例: |
組織資訊
欄位 |
說明 |
---|---|
公司名稱 |
組織的名稱。 |
顯示名稱 |
顯示為組織名稱的名稱。 |
網站 |
組織網站的 URL。此 URL 可以是任何內容,並且對 SSO 功能沒有任何影響。 |
私密金鑰 |
已產生的私密金鑰,也稱為 cert.pem。此金鑰應採用 PEM 格式。如需詳細資訊,請參閱〈建立服務提供者憑證〉。 |
公開金鑰 |
已產生的公開金鑰和憑證,也稱為 cert.pub。此金鑰應採用 PEM 格式。如需詳細資訊,請參閱〈建立服務提供者憑證〉。 |
技術連絡人
欄位 |
說明 |
---|---|
名稱 |
主要負責組織中應用程式的員工名稱。此資訊是 SAML 通訊協定的必要資訊,將會傳遞至 SAML 提供者。SaltStack Config 不會直接使用此資訊。 |
電子郵件 |
技術連絡人的電子郵件地址。 |
支援連絡人
欄位 |
說明 |
---|---|
名稱 |
在無法聯繫應用程式的主要技術連絡人時可以連絡的員工名稱。此資訊是 SAML 通訊協定的必要資訊,將會傳遞至 SAML 提供者。SaltStack Config 不會直接使用此資訊。 |
電子郵件 |
支援連絡人的電子郵件地址。 |
提供者資訊
欄位 |
說明 |
---|---|
實體識別碼 |
身分識別提供者 (IdP) 的實體識別碼。 Azure AD 實體識別碼的範例: |
使用者識別碼 |
將包含永久使用者識別碼的已對應 SAML 屬性的參考。 |
電子郵件 |
將包含電子郵件地址的已對應 SAML 屬性的參考。 |
使用者名稱 |
將包含使用者名稱的已對應 SAML 屬性的參考。 |
URL |
用於存取身分識別提供者之 SAML 端點的 URL。 |
x509 憑證 |
X.509 格式的憑證,具有透過身分識別提供者系統產生的內嵌式公開金鑰。此金鑰必須採用 PEM 格式。 |
安全性檢查
欄位 |
說明 |
---|---|
屬性聲明檢查 |
如果您希望 SaltStack Config 檢查使用者設定檔的 SAML 屬性聲明,請勾選此方塊。 |
透過命令列 (CLI) 設定 SAML
本指南強烈建議使用 SaltStack Config 使用者介面設定 SAML,而不是使用命令列進行設定。包括這些指示以供參考。
使用 CLI 設定大多數組態標準:
- 以 RaaS 使用者身分登入:
sudo su raas
- 可選:僅在手動安裝了 SaltStack Config 的情況下必須執行此步驟。在 RaaS 伺服器上,安裝安裝程式檔案中包括的 OpenSSL .xml 檔案。使用以下命令:
yum install xmlsec1-openssl
備註:在任何預設存放庫中,RedHat 都沒有現成的 xmlsec1。一種可行的因應措施是,從 CentOS 機器下載 RPM 並將其傳輸至 RedHat。
- 導覽至打算儲存組態檔的目錄。任何目錄路徑都可接受。
- 建立包含身分識別服務提供者所需的必要組態資訊的 YAML 檔案。如需有關如何格式化這些組態檔的範例,請參閱〈組態檔範例〉。
備註:
如需各個欄位的說明,請參閱〈SAML 資訊欄位〉。
- 使用以下命令執行組態檔:
raas save_sso_config <filepath>
組態檔範例
適用於 Google 的 SAML 組態檔範例
將以下範例中的預留位置文字取代為 IdP 提供的資訊:
name: Google backend: social_core.backends.saml.SAMLAuth settings: base_uri: https://example.com saml_sp_entity_id: raas saml_org_info: en-US: name: Name of Your Organization displayname: Display Name for Your Organization url: https://example.com saml_technical_contact: givenName: Name of Your Technical Contact emailAddress: email@my_technical_contact.com saml_support_contact: givenName: Name of Your Support Contact emailAddress: email@my_support_contact.com saml_enabled_idps: saml: entity_id: https://accounts.google.com/o/your_organization_id attr_user_permanent_id: Your organization's permanent ID attr_email: email@my_email_with_identity_provider.com attr_username: Your organization's username for the IdP url: https://accounts.google.com/o/saml2/your_organization_id x509cert: | -----BEGIN CERTIFICATE----- Insert certificate block of text here -----END CERTIFICATE----- saml_sp_private_key: | -----BEGIN PRIVATE KEY----- Insert private key block of text here -----END PRIVATE KEY----- saml_sp_public_cert: | -----BEGIN CERTIFICATE----- Insert certificate block of text here -----END CERTIFICATE-----
適用於 Okta 的 SAML 組態檔範例
將以下範例中的預留位置文字取代為 IdP 提供的資訊:
name: Okta backend: social_core.backends.saml.SAMLAuth settings: base_uri: https://example.com saml_sp_entity_id: https://example.com/auth/complete/saml saml_org_info: en-US: name: Name of Your Organization displayname: Display Name for Your Organization url: https://example.com saml_technical_contact: givenName: Name of Your Technical Contact emailAddress: email@my_technical_contact.com saml_support_contact: givenName: Name of Your Support Contact emailAddress: email@my_support_contact.com saml_security_config: wantAttributeStatement: False saml_enabled_idps: okta: entity_id: https://www.okta.com/your_organization_id attr_user_permanent_id: Your organization's permanent ID attr_email: email@my_email_with_identity_provider.com attr_username: Your organization's username for the IdP url: https://example.okta.com/app/your_organization_id x509cert: | -----BEGIN CERTIFICATE----- Insert certificate block of text here -----END CERTIFICATE----- saml_sp_private_key: | -----BEGIN PRIVATE KEY----- Insert private key block of text here -----END PRIVATE KEY----- saml_sp_public_cert: | -----BEGIN CERTIFICATE----- Insert certificate block of text here -----END CERTIFICATE-----
適用於 Google 的 OIDC 組態檔範例
將以下範例中的預留位置文字取代為 IdP 提供的資訊:
name: Name of Your Organization backend: social_core.backends.google_openidconnect.GoogleOpenIdConnect settings: base_uri: example.com google_openidconnect_key: your_id.apps.googleusercontent.com google_openidconnect_secret: your_secret
透過命令列 (CLI) 更新 SSO 組態
透過 CLI 更新組態標準:
- 以 RaaS 使用者身分登入:
sudo su raas
- 導覽至已儲存組態檔的目錄。請根據需要更新組態檔。
- 使用以下命令儲存組態檔:
raas save_sso_config <filepath>
透過命令列 (CLI) 刪除 SSO 組態
如果可以存取 SaltStack Config 使用者介面,則建議透過使用者介面刪除 SSO 組態。但是,如果需要,可以使用 API (RaaS) 刪除 SSO 組態。
若要刪除 SSO 組態,需要找到已指派給要刪除之組態的動態資料欄位。動態資料欄位是群組名稱的表示,以破折號 -
分隔並且所有字母均為小寫。例如,此動態資料欄位可能為 name-of-your-organization。針對適用於 Google 的 SAML,此動態資料欄位為 google
。
- 在 API (RaaS) 中,使用以下命令產生 SSO 後端的清單:
client.api.settings.get_sso_backends()
- 從 SSO 後端清單中,找到要刪除的組態所對應的動態資料欄位。然後,輸入以下命令,將預留位置文字取代為您的組態動態資料欄位:
client.api.settings.delete_sso_config('slug-for-your-configuration')