全部產品
Search
文件中心

Identity as a Service:綁定OpenLDAP

更新時間:Sep 07, 2024

本文介紹OpenLDAP的配置和常見用法。

OpenLDAP基礎介紹

簡介

OpenLDAP是LDAP(輕量型目錄存取通訊協定)的開源實現,常用於管理企業內的使用者、電腦、網路等資源。由於被廣泛使用,OpenLDAP也常被簡稱為LDAP。

說明

基於網路端點能力,您無需開放公網連接埠即可實現LDAP的資料同步和委託認證。

綁定OpenLDAP

身份提供方中,單擊綁定OpenLDAP,即可開始綁定OpenLDAP流程。

image

第一步:串連OpenLDAP

在第一步中,您需要在IDaaS中填寫以下資訊:

image.png

  • 顯示名稱:使用者在登入、使用IDaaS時可能看到。

  • 網路端點:如果您希望只有IDaaS可以請求該LDAP,請在伺服器中配置IP白名單。共用端點使用共用的、固定的公網出口IP,專屬端點使用專屬的、自訂的私網出口IP和公網出口IP。通過專屬端點,IDaaS可以通過私網訪問您的阿里雲VPC,從而免開公網連接埠訪問您的LDAP,詳見:網路端點

  • 伺服器位址:LDAP所在的伺服器位址,LDAP預設使用389連接埠,如127.0.0.1:389。開啟ldaps或StartTLS時一般使用636連接埠。

  • ldaps/StartTLS:開啟後可以大幅提高串連的安全性,推薦開啟。請在LDAP安全性配置中瞭解如何開啟。

  • 管理員賬戶:IDaaS使用該LDAP管理員賬戶讀取LDAP資訊來完成資料同步或委託認證,該賬戶需要至少擁有讀取許可權,需使用DN格式(cn=admin,ou=技術部,dc=example,dc=com)。

  • 管理員密碼:該賬戶的登入密碼。

第二步:選擇情境

在第二步中,選擇希望和LDAP實現的情境能力。

image.png

能力說明

  • 同步方向:同步來源所選的LDAP的使用者/組織資料將會匯入到IDaaS的這個節點之下。來源節點需要填寫LDAP節點的DN,LDAP根節點的DN 一般為dc=example,dc=com(即您的域)。

說明

目前僅支援入方向LDAP的同步,暫不支援出方向。

  • 定時校正:由於LDAP不支援查詢增量資料,IDaaS將於每日淩晨自動全量同步LDAP來源節點下的全量資料。

    • 您可以在欄位對應中設定映射標識,使用IDaaS賬戶的某個欄位(如手機號)與LDAP使用者的某個欄位(如手機號)進行匹配,如果匹配成功,將綁定並覆蓋更新;否則將建立IDaaS賬戶。

    • 如果需要及時同步資料,請手動觸發全量同步。

    • IDaaS內建了同步保護能力, 當30個以上的賬戶或10個以上的組織需要被刪除時,自動取消同步任務,以防止資料被誤刪除。建議根據企業規模調整同步保護設定。image

    • 如果單條賬戶資料無法匯入,不影響其他資料匯入。

    • 失敗資訊可在同步處理記錄中查看。

  • 委託認證:使用者可以使用LDAP使用者/密碼登入到IDaaS,

  • 自動更新密碼:使用者通過LDAP委託認證到IDaaS時,如果IDaaS賬戶的密碼為空白,則更新為LDAP賬戶的密碼。LDAP密碼需滿足IDaaS密碼原則的要求,否則將無法自動更新。

進階配置

  • 使用者/組織ObjectClass:通過ObjectClass可以定義哪種類型的對象是使用者/組織,例如將查詢結果中ObjectClass=user 的對象視作使用者。

重要

LDAP有靈活的自訂能力,如果您自訂了使用者/組織的ObjectClass,請確保ObjectClass的一致,以免同步到IDaaS的資料不符合您的預期。

  • 使用者登入標識:使用者在使用LDAP委託認證登入IDaaS時,IDaaS將根據這些屬性去LDAP中查詢使用者並匹配密碼,密碼正確則允許使用者登入IDaaS。可以使用半形逗號對多個屬性進行分割,此時為或關係,即可以使用任一屬性登入。請確保多個屬性對應同一個LDAP使用者,否則將無法登入。

  • 使用者filter過濾:如果您需要篩選分散在不同組織中的部分使用者同步到IDaaS,您可以自訂filter語句,只有滿足條件的使用者才可同步到IDaaS。filter語句預設包含且關係的ObjectClass條件,您可以單擊查看詳情查看完整的語句。更多注意事項和常見用法請查看filter過濾

image.png

第三步:欄位對應

如果您在IDaaS中已存在存量資料,需要LDAP使用者/組織和IDaaS賬戶/組織綁定,或者希望使用LDAP中使用者的某些欄位資料作為IDaaS賬戶的資料,例如將LDAP使用者的手機號作為IDaaS賬戶的賬戶名,則需要在第三步配置欄位對應。如需使用映射標識能力,需手動單擊啟用,如下圖的手機欄位。

image.png

更多欄位對應的說明請查看文檔欄位對應

LDAP安全性配置

預設情況下,LDAP在傳輸資料時不加密且不受保護,存在明文資料被竊取的風險。使用ldaps或StartTLS可以有效提高資料轉送的安全性。在LDAP中配置認證後,即可在IDaaS中使用ldaps或StartTLS,強烈建議您開啟。

在配置完認證後,您可以在IDaaS中一鍵擷取認證指紋,建立IDaaS對LDAP認證的信任關係,降低偽造認證的風險。

image.png

LDAP個人化配置

ObjectClass

LDAP中的ObjectClass是attribute的集合,每個對象都必須擁有ObjectClass。可以通過ObjectClass定義一個對象是使用者、組織或電腦等,例如針對下圖的對象,在IDaaS中設定使用者ObjectClass為“inetOrgPerson,posixAccount,top”時,IDaaS即會將對象視作為使用者。在LDAP中編輯對象時即可看到ObjectClass

image

重要

LDAP有靈活的自訂能力,如果您自訂了使用者/組織的ObjectClass,請確保ObjectClass的一致,以免同步到IDaaS的資料不符合您的預期。

登入標識

使用者在使用LDAP委託認證登入IDaaS時,IDaaS將根據這些屬性去LDAP中查詢使用者並匹配密碼,密碼正確則允許使用者登入IDaaS。

一般可以使用uid、手機號、郵箱、工號等屬性用於登入,如有需要可在建立時或委託認證中定義。如果使用多個屬性,請確保屬性的唯一併對應同一個LDAP使用者,否則使用者將無法使用委託認證。

Filter過濾

重要

修改ObjectClassfilter將影響LDAP的過濾條件,在執行全量同步時將刪除不符合過濾條件的IDaaS賬戶和組織。建議在修改前調整同步保護限額,並充分測試過濾結果是否符合預期(例如使用另一個 IDaaS執行個體進行測試)。

基礎介紹

如果您需要篩選分散在不同組織中的部分使用者同步到IDaaS,您可以自訂filter語句,只有滿足條件的使用者才可同步到IDaaS。filter語句預設包含且關係的ObjectClass條件,您可以單擊查看詳情查看完整的語句。

image.png

您可在LDAP Admin工具中輸入filter語句,檢查過濾後的結果。

image.png

以下是LDAP Filter常用的文法和語句。

常用文法

運算子

含義

樣本

=

相等

(cn=Alice)

>=

大於等於

(pwdLastSet>=1319563845000000000)

<=

小於等於

(employeeNumber<=1000)

&

且關係,必須滿足全部條件

(&(cn=CN*)(title=RD))

|

或關係,必須滿足任一條件

(|(cn=Test*)(cn=Admin*))

!

非關係,必須不滿足全部條件

(!(cn=Test*)(cn=Admin*))

常用語句

情境

樣本

使用者名稱以“CN”開頭

(cn=CN*)

指定郵箱的使用者

(mail=alice@example.com)

LDAP同步配置

擷取Base DN

Base DN是LDAP中某個節點的路徑標識,IDaaS只會在該節點下執行查詢和資料同步等操作。您可以在同步方向中設定來源節點的Base DN。

DN的格式為:ou=某組織,dc=example,dc=com,根節點的DN一般為dc=example,dc=com(即您的域)。您也可以在LDAP中直接查看節點的DN,如下圖所示:

image

另外,當節點的路徑有變化時,節點的Base DN也會有變化,為避免節點路徑調整導致LDAP資料同步出錯,您在IDaaS中配置同步來源節點的Base DN時,IDaaS也會將該節點的ObjectGuid作為節點指紋,當節點的Base DN有變動導致和節點指紋不匹配時,將阻斷資料同步行為。重新設定來源節點後即可正常同步。

定時校正

由於LDAP不支援查詢增量資料,IDaaS將於每日淩晨自動全量同步LDAP來源節點下的全量資料。如果需要及時同步資料,請手動觸發全量同步。

IDaaS內建了同步保護能力, 當30個以上的賬戶或10個以上的組織需要被刪除時,自動取消同步任務,以防止資料被誤刪除。建議根據企業規模調整同步保護設定。

image.png