本文介紹如何為身份提供方綁定出方向的企業 OpenLDAP,實現 IDaaS 組織/賬戶同步到 OpenLDAP、使用 OpenLDAP 身份登入IDaaS 或應用。
OpenLDAP基礎介紹
OpenLDAP是LDAP(輕量型目錄存取通訊協定)的開源實現,常用於管理企業內的使用者、電腦、網路等資源。由於被廣泛使用,OpenLDAP也常被簡稱為LDAP。
基於網路端點能力,您無需開放公網連接埠即可實現LDAP的資料同步和委託認證。
綁定OpenLDAP
步驟一:串連OpenLDAP
登入IDaaS控制台,選擇對應的IDaaS執行個體,單擊操作列的访问控制台。
單擊,隨後在列表中找到OpenLDAP,單擊添加。

在綁定 OpenLDAP面板中,請填寫以下內容。

显示名称:使用者在登入、使用IDaaS時可能看到。
网络端点:如果您希望只有IDaaS可以請求該LDAP,請在伺服器中配置IP白名單。共用端點使用共用的、固定的公網出口IP,專屬端點使用專屬的、自訂的私網出口IP和公網出口IP。通過專屬端點,IDaaS可以通過私網訪問您的阿里雲VPC,從而免開公網連接埠訪問您的LDAP,詳見:網路端點。
服务器地址:LDAP所在的伺服器位址,LDAP預設使用389連接埠,如127.0.0.1:389。開啟ldaps或StartTLS時一般使用636連接埠。
開啟StartTLS:開啟後可以大幅提高串連的安全性,推薦開啟。請在LDAP安全性配置中瞭解如何開啟。
管理员账户:IDaaS使用該LDAP管理員賬戶讀取LDAP資訊來完成資料同步或委託認證,該賬戶需要至少擁有讀取許可權,需使用DN格式(cn=admin,ou=技術部,dc=example,dc=com)。
管理员密码:該賬戶的登入密碼。
資訊確認無誤後,單擊下一步。
步驟二:选择场景
在选择场景配置頁面,配置希望LDAP實現的情境能力。

基礎配置
同步方向:
同步來源所選的IDaaS的節點資料將會匯入到LDAP的使用者或組織之下。來源節點需要填寫IDaaS的節點,目標節點需要填寫LDAP節點的DN,LDAP根節點的DN 一般為dc=example,dc=com(即您的域)。
增量同步:
即時匯出 IDaaS 中有變動的資料。
定时校验:
定時校正是定時的全量同步,讓 IDaaS 資料和LDAP資料盡量保持一致。
委托认证:
使用者可以使用 LDAP 賬戶登入到 IDaaS。
自动更新密码:
向 LDAP 同步處理的使用者時,也將 IDaaS 賬戶的密碼同步化到 LDAP。需使用 SSL 串連,且 IDaaS 賬戶的密碼符合 LDAP密碼的需求。
進階配置
用户ObjectClass、组织ObjectClass:
通過
ObjectClass可以定義哪種類型的對象是使用者或組織,例如將查詢結果中ObjectClass=user的對象視作使用者。一般無需修改。使用者 RDN、組織 RDN:
如果您自訂了 LDAP 中對象的RDN,可以在此處配置寫入標識。例如 IDaaS 將賬戶同步到 LDAP 時,將 ou 作為組織的 RDN。
用户登录标识:
使用者在使用LDAP委託認證登入IDaaS時,IDaaS將根據這些屬性去LDAP中查詢使用者並匹配密碼,密碼正確則允許使用者登入IDaaS。可以使用半形逗號對多個屬性進行分割,此時為或關係,即可以使用任一屬性登入。請確保多個屬性對應同一個LDAP使用者,否則將無法登入。
步驟三:字段映射
如果您在LDAP的使用者/組織中已存在存量資料,需要為LDAP賬戶和IDaaS賬戶進行綁定,或者希望使用IDaaS賬戶的某些欄位資料作為LDAP賬戶的資料,例如將 IDaaS 賬戶的手機號作為 LDAP 使用者的使用者名稱,則需要配置字段映射。如需使用映射标识能力,需手動單擊啟用,如下圖的手機欄位。

配置完成後,單擊保存并同步會觸發資料同步,將匯入 IDaaS 來源節點內的全量資料,共置於 LDAP 目標節點下。如果僅需儲存配置,請單擊仅保存。
更多欄位對應的說明請查看文檔欄位對應。
LDAP安全性配置
預設情況下,LDAP在傳輸資料時不加密且不受保護,存在明文資料被竊取的風險。使用ldaps或StartTLS可以有效提高資料轉送的安全性。在LDAP中配置認證後,即可在IDaaS中使用ldaps或StartTLS,強烈建議您開啟。
在配置完認證後,您可以在IDaaS中一鍵擷取認證指紋,建立IDaaS對LDAP認證的信任關係,降低偽造認證的風險。

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

LDAP有靈活的自訂能力,如果您自訂了使用者/組織的ObjectClass,請確保ObjectClass的一致,以免同步到IDaaS的資料不符合您的預期。
登入標識
使用者在使用LDAP委託認證登入IDaaS時,IDaaS將根據這些屬性去LDAP中查詢使用者並匹配密碼,密碼正確則允許使用者登入IDaaS。
一般可以使用uid、手機號、郵箱、工號等屬性用於登入,如有需要可在建立時或委託認證中定義。如果使用多個屬性,請確保屬性的唯一併對應同一個LDAP使用者,否則使用者將無法使用委託認證。
LDAP同步配置
擷取Base DN
Base DN是LDAP中某個節點的路徑標識,IDaaS只會在該節點下執行查詢和資料同步等操作。您可以在同步方向中設定目標節點的Base DN。
DN的格式為:ou=某組織,dc=example,dc=com,根節點的DN一般為dc=example,dc=com(即您的域)。您也可以在LDAP中直接查看節點的DN,如下圖所示:

另外,當節點的路徑有變化時,節點的Base DN也會有變化,為避免節點路徑調整導致LDAP資料同步出錯,您在IDaaS中配置同步目標節點的Base DN時,IDaaS也會將該節點的entryUUID作為節點指紋,當節點的Base DN有變動導致和節點指紋不匹配時,將阻斷資料同步行為。重新設定目標節點後即可正常同步。
定時校正
IDaaS會根據設定的定時校正時間,自動全量同步IDaaS來源節點下的全量資料。如果需要及時同步資料,請手動觸發全量同步。