可以使用 [驗證] 工作區,透過 LDAP 通訊協定為 SaltStack Config 設定目錄服務。此通訊協定可用於連線至 Active Directory 或 Microsoft Azure 等服務。

備註: 如果需要,可以在 SaltStack Config 中一次使用多個系統來驗證使用者。例如,您可以使用以 SAML 為基礎的 IdP 或以 LDAP 為基礎的 IdP,同時以原生方式將某些使用者認證儲存在 RaaS 伺服器上。但是, SaltStack Config 不允許同時設定兩個以上的 SAML 提供者或兩個以上的 LDAP 提供者。

驗證程序

SaltStack Config 使用以下後端程序驗證 LDAP 型系統:

  • 預覽 - 預覽連線設定時,SaltStack Config 會從 LDAP 伺服器中擷取使用者和群組的範例清單,以便能夠確認您輸入的組態參數是否正確。
  • 登入 - 當使用者在 SaltStack Config 登入表單中輸入認證時,後端伺服器會檢查此時資料庫中是否存在相符項。接著,起始多步驟查閱程序,然後在找到相符項後驗證使用者。鑑於此查閱程序,已啟用群組中已啟用的個別使用者在首次登入後才會顯示在 [角色] 工作區中。
  • 背景工作 - SaltStack Config 會定期執行背景工作以查詢目錄服務連線中的每個連結群組和使用者,以確保其仍然存在。如果該群組或使用者已移除,後端伺服器會在資料庫中停用其連結。
  • 已封存的群組和使用者 - 將會封存從目錄服務連線中移除的任何群組。即使這些群組處於非作用中狀態且使用者無法登入,其仍顯示在 [角色] 工作區中並且可供選取。對於先前在 [角色] 工作區中顯示的任何已移除使用者來說,這一點也同樣適用。
  • 巢狀群組 - 使用巢狀群組時,啟用父系群組後,依預設也將啟用所有子系群組。

設定 LDAP 連線

若要設定 LDAP,請先建立一個連線,然後啟用特定的 LDAP 使用者和群組以向 SaltStack Config 進行驗證。啟用群組或使用者後,可以定義其角色型存取控制 (RBAC) 設定。

可以選擇在欄位中預先填入根據目錄服務 (例如 Active Directory 或 OpenLDAP) 自訂的預設設定。

備註: 下列步驟應由瞭解整體 LDAP 系統配置的資深 LDAP 或 Active Directory 管理員完成。請連絡管理員以尋求協助。

設定 LDAP 目錄服務:

  1. (可選) 設定 LDAP 之前,使用第三方工具測試您的連線和查詢可能很有用。對於 AD 使用者,可以使用 LDP 或 ADSI Edit。對於 Linux 使用者,建議使用 ldapsearch
    備註: 如需有關使用這些工具進行測試的詳細資訊,請參閱支援中心的 如何對目錄服務連線進行驗證和疑難排解
  2. 按一下側邊功能表上的管理 > 驗證
  3. 按一下建立
  4. 組態類型功能表中,選取 LDAP
  5. (可選) 在設定下,按一下預先填入預設值,然後從下拉式清單中選取您的目錄服務。

    將根據您的選擇填入預設項目。但是,某些項目 (例如使用者搜尋 DN) 不完整。請務必確認項目與目錄服務架構相符,並且將預留位置文字取代為適用於您服務的正確值。

  6. 輸入或驗證 LDAP 連線的資訊。

    基本

    欄位 說明
    名稱 LDAP 連線的名稱。由於此名稱僅為顯示名稱,因此輸入任何名稱都有助於區分此驗證後端與其他驗證後端。
    主機 LDAP 主機伺服器位址,格式為 FQDN 或 IP 位址。
    連接埠 設定 LDAP 伺服器的連接埠。預設連接埠為 389 (對於未加密的 LDAP) 和 636 (對於 LDAP over SSL)。
    背景同步 SaltStack Config 將以此處定義的設定間隔 (以分鐘為單位) 針對驗證後端驗證所有使用者和群組。
    SSL
    啟用 SSL
    選取此項可使用 RaaS 伺服器設定中指定的憑證,透過定安全通訊端層 (SSL) 連線至 LDAP 伺服器。如果未提供組態,將使用系統憑證存放區驗證 SSL 連線。如需有關設定 RaaS 伺服器的詳細資訊,請參閱《安裝和設定 SaltStack Config》指南中的 〈設定 SSL 憑證〉
    重要: 最佳做法是選取 [啟用 SSL]。如果此選項保持未選取狀態, SaltStack Config 會透過不安全的連線以純文字形式傳輸資訊。
    驗證憑證
    選取此項可確保在連線時驗證 SSL 憑證。保持未選取狀態會略過驗證,例如,使用自我簽署憑證時 (不建議用於生產環境)。

    驗證

    欄位 說明
    驗證基本 DN

    基本 LDAP 辨別名稱。這是從中查詢群組和使用者的位置,例如 DC=sse,DC=example,DC=com

    備註: LDAP 詳細資料頁面包括 人員物件類別帳戶屬性名稱群組類別群組屬性名稱同步排程的單獨輸入欄位,如下所述。因此,請勿在 [基本 DN] 欄位中包括這些物件。
    管理員繫結 DN 為 LDAP 伺服器設定的管理員 DN。SaltStack Config 可使用此項向目錄進行驗證,以便查閱使用者和群組。根據以下語法進行輸入:cn=Administrator,cn=Users,dc=example,dc=com
    管理員繫結 DN 密碼

    管理員的個別密碼。

    將以加密方式儲存在資料庫中,而不會以純文字形式儲存。

    驗證繫結 DN 篩選器

    套用此篩選器可選取特定使用者。此搜尋的結果為使用者 DN,SaltStack Config 將使用此項繫結至目錄並授與使用者對 SaltStack Config 的存取權。這對於限制從指定搜尋傳回的結果數量非常有用。

    備註: 由於篩選器語法會變得非常複雜,因此最佳做法是使用 LDP、 ldapsearch 或類似工具測試項目,以驗證項目並做出任何調整,然後再填寫此欄位。

    下列範例篩選器僅傳回與所提供的屬於 DevOps 或層級 II 群組之使用者名稱相符的帳戶。

    (&(objectclass=user)(sAMAccountName={username})(|(memberOf=CN=DevOps,OU=Groups,OU=TestCompanyHQ,DC=adtest,DC=com)(memberOf=LevelII,OU=Groups,DC=adtest,DC=com)))

    如果您要使用預先填入的預設值,請務必將預留位置文字取代為適合您目錄服務的正確值。

    備註: 設定樹系結構時,將此欄位保留空白。
    遠端唯一識別碼屬性名稱 用於識別唯一項目的值的名稱。這是所有項目的唯一識別碼屬性。在 AD 中,此為 ObjectGUID

    群組

    欄位 說明
    群組搜尋 DN 群組的搜尋基礎。例如,在 AD 中可能為 cn=Groups,dc=example,dc=com。指出目錄中要搜尋群組的位置。與以下 [群組搜尋範圍] 一同使用。
    群組搜尋範圍

    指出從 [群組搜尋 DN] 中所指示基礎進行的目錄搜尋深度,可包括以下四個值之一:

    baseObject
    值 0,通常稱為 base。使用此項會僅搜尋此物件,而不搜尋其他物件。
    singleLevel
    值 1,通常稱為 one。使用此項會僅考慮基礎項目的直接子系是否存在相符項。
    wholeSubtree
    值 2 (或 ldap3 中的 SUBTREE),通常稱為 sub。使用此項會搜尋到基礎及其任何深度的所有下層。
    subordinateSubtree
    值 3,通常稱為 subordinates。這與 wholeSubtree 相同,但會忽略基礎搜尋項目。
    群組搜尋 DN 篩選器 用於從目錄擷取群組的搜尋篩選器。這通常為 (objectClass=group),但在某些 AD 組態中,可能為 (objectCategory=group)。與 [群組類別] 一起使用,以進一步實現細微度。
    群組類別 用於定義群組的物件類別名稱,例如 groupOfNames
    群組名稱屬性 要用於群組名稱的屬性的名稱。輸入單一值屬性,而非多重值屬性。
    群組成員資格屬性 使用者項目中包含群組名稱的屬性的名稱,例如 memberOf

    使用者

    欄位 說明
    使用者搜尋 DN 使用者的搜尋基礎,例如,cn=Users,dc=example,dc=com (在 AD 中) 或 cn=people,cn=accounts,dc=example,dc=com (在其他目錄服務中)。指出目錄中要搜尋使用者的位置。與以下 [使用者搜尋範圍] 一同使用。
    使用者搜尋範圍 指出從 [使用者搜尋 DN] 中所指示基礎進行的目錄搜尋深度,可包括以下四個值之一。請參閱 [群組搜尋範圍] 中所述的四個值。
    使用者搜尋 DN 篩選器 用於從目錄擷取使用者的搜尋篩選器。這通常為 (objectClass=person),但在某些 AD 組態中,可能為 (objectCategory=user)
    人員類別 包含要允許登入之使用者的目錄服務類別名稱。大多數系統 (包括 Active Directory) 使用 person,但某些系統可能偏好使用 userinetOrgPerson
    使用者識別碼屬性 使用者帳戶屬性的唯一名稱。對於 AD,此為 sAMAccountName。對於其他服務,通常為 uidmemberUid
    使用者成員資格屬性 包含使用者名稱之群組項目中的屬性名稱。可能的範例包括 memberuniquemember
  7. 若要預覽設定而不儲存,請按一下更新預覽

    預覽視窗會顯示針對您的連線選取的使用者和群組。可以選取群組使用者索引標籤,以根據需要預覽與服務相關聯的使用者和群組。

    如果無法成功預覽連線,請參閱疑難排解以取得相關提示。

  8. 按一下儲存

    您的 LDAP 組態已儲存。若要確認組態是否正確,您可能要嘗試透過測試使用者帳戶登入 SaltStack Config。如果無法成功登入,請參閱疑難排解以取得相關提示。

    備註: 對於 LDAP 組態, SaltStack Config 會儲存包括已識別的群組和使用者在內的連線設定。它僅在您定義的範圍內擷取群組和使用者,並且不會同步整個目錄。如需有關運作方式的詳細資訊,請參閱 驗證程序

    經過一段時間後,您可能需要重新整理或重新同步 LDAP 目錄。例如,如果您已在 SaltStack Config 中新增使用者並且想要將其啟用,則應更新目錄。