本文介紹AD的配置和常見用法。
AD基礎介紹
簡介
活動目錄AD(Active Directory)是微軟Windows Server中負責架構中大型網路環境的集中式目錄管理服務,可以管理域內的電腦、使用者服務、網路資源、資源許可權等。
基於網路端點能力,您無需開放公網連接埠即可實現AD的資料同步和委託認證。
綁定AD
在快速入門或身份提供方中,單擊綁定AD,即可開始綁定AD流程。
第一步:串連AD
在第一步中,您需要在IDaaS中填寫以下資訊:
顯示名稱:使用者在登入、使用IDaaS時可能看到。
網路端點:如果您希望只有IDaaS可以請求該AD,請在伺服器中配置IP白名單。共用端點使用共用的、固定的公網出口IP,專屬端點使用專屬的、自訂的私網出口IP和公網出口IP。通過專屬端點,IDaaS可以通過私網訪問您的阿里雲VPC,從而免開公網連接埠訪問您的AD,詳見:網路端點。
伺服器位址:AD所在的伺服器位址,AD一般使用389連接埠,如127.0.0.1:389。開啟ldaps或StartTLS時一般使用636連接埠。
ldaps或StartTLS:開啟後可以大幅提高串連的安全性,推薦開啟。請在AD安全性配置中瞭解如何開啟。
管理員賬戶:IDaaS使用該AD管理員賬戶讀取AD資訊來完成資料同步或委託認證,該賬戶需要至少擁有讀取許可權,支援使用UPN格式(example@example.com)和DN格式(cn=admin,ou=技術部,dc=example,dc=com)。
管理員密碼:該賬戶的登入密碼。
第二步:選擇情境
在第二步中,選擇希望和AD實現的情境能力。
能力說明
同步方向:同步來源所選的AD的使用者或組織資料將會匯入到IDaaS的這個節點之下。來源節點需要填寫AD節點的DN,AD根節點的DN一般為dc=example,dc=com(即您的域)。
目前僅支援入方向AD的同步,暫不支援出方向。
增量同步處理:IDaaS將監聽AD的使用者或組織資料,每10分鐘左右執行一次同步,將有變動的資料匯入到IDaaS中。如果單次增量同步處理的資料量較大,可能會延遲處理。建議定期執行一次全量同步,以確保對齊兩邊資料。
您可以在欄位對應中設定映射標識,使用IDaaS賬戶的某個欄位(如手機號)與AD使用者的某個欄位(如手機號)進行匹配,如果匹配成功,將綁定並覆蓋更新;否則將建立IDaaS賬戶。
在首次進行增量同步處理時,將自動執行一次全量同步。
如果單條賬戶資料無法匯入,不影響其他資料匯入。
失敗資訊可在同步處理記錄中查看。
需要開啟AD資源回收筒才可接收AD刪除類型的事件的訊息。請在增量同步處理中瞭解如何開啟。
委託認證:使用者可以使用AD使用者或密碼登入到IDaaS,
自動更新密碼:使用者通過AD委託認證到IDaaS時,如果IDaaS賬戶的密碼為空白,則更新為AD使用者的密碼。AD密碼需滿足IDaaS密碼原則的要求,否則將無法自動更新。
進階配置
使用者或組織
ObjectClass
:通過ObjectClass
可以定義哪種類型的對象是使用者或組織,例如將查詢結果中ObjectClass=user
的對象視作使用者。一般無需修改。使用者登入標識:使用者在使用AD委託認證登入IDaaS時,IDaaS將根據這些屬性去AD中查詢使用者並匹配密碼,密碼正確則允許使用者登入IDaaS。可以使用半形逗號對多個屬性進行分割,此時為或關係,即可以使用任一屬性登入。請確保多個屬性對應同一個AD使用者,否則將無法登入。
使用者filter過濾:如果您需要篩選分散在不同組織中的部分使用者同步到IDaaS,您可以自訂
filter
語句,只有滿足條件的使用者才可同步到IDaaS。filter
語句預設包含且關係的ObjectClass
條件,您可以單擊查看詳情查看完整的語句。更多注意事項和常見用法請查看Filter過濾。
第三步:欄位對應
如果您在IDaaS中已存在存量資料,需要AD使用者或組織以及IDaaS賬戶或組織進行綁定,或者希望使用AD中使用者的某些欄位資料作為IDaaS賬戶的資料,例如將AD使用者的手機號作為IDaaS賬戶的賬戶名,則需要在第三步配置欄位對應。如需使用映射標識能力,需手動單擊啟用,如下圖的手機欄位。
更多欄位對應的說明請查看文檔欄位對應。
AD安全性配置
預設情況下,LDAP在傳輸資料時不加密且不受保護,存在明文資料被竊取的風險。使用ldaps或StartTLS可以有效提高資料轉送的安全性。在AD中配置認證後,即可在IDaaS中使用ldaps或StartTLS,強烈建議您開啟。
在伺服器管理員中完成安裝角色、升級為網域服務器、添加認證(簽名演算法請使用SHA256)等流程後,即可完成認證的配置。
在配置完認證後,您可以在IDaaS中一鍵擷取認證指紋,建立IDaaS對AD認證的信任關係,降低偽造認證的風險。
如果需要快速判斷在AD介面上看到的和IDaaS一鍵擷取的是同一個認證指紋,可以運行以下指令碼
openssl s_client -connect server_host:port | openssl x509 -noout -pubkey | openssl pkey -pubin -outform DER | openssl dgst -sha256
AD個人化配置
ObjectClass
AD中的ObjectClass
是attribute的集合,每個對象都必須擁有ObjectClass
。可以通過ObjectClass
定義一個對象是使用者、組織或電腦等,例如針對下圖的使用者,通過過濾語句objectclass=person
、objectclass=user
都可以找到該使用者。在AD對象的屬性中可以查看ObjectClass
。
登入標識
使用者在使用AD委託認證登入IDaaS時,IDaaS將根據這些屬性去AD中查詢使用者並匹配密碼,密碼正確則允許使用者登入IDaaS。
一般可以使用userPrincipalName、sAMAccountName、手機號、郵箱、工號等屬性用於登入,如有需要可在建立時或委託認證中定義。如果使用多個屬性,請確保屬性的唯一併對應同一個AD使用者,否則使用者將無法使用委託認證。
Filter過濾
修改ObjectClass
和filter
將影響AD的過濾條件,在執行全量同步時將刪除不符合過濾條件的IDaaS賬戶和組織。建議在修改前調整同步保護限額,並充分測試過濾結果是否符合預期(例如使用另一個 IDaaS執行個體進行測試)。
基礎介紹
如果您需要篩選分散在不同組織中的部分使用者同步到IDaaS,您可以自訂filter
語句,只有滿足條件的使用者才可同步到IDaaS。filter
語句預設包含且關係的ObjectClass
條件,您可以單擊查看詳情查看完整的語句。
以下是AD filter
常用的文法和語句。
常用文法
運算子 | 含義 | 樣本 |
= | 相等 | (cn=Alice) |
>= | 大於等於 | (pwdLastSet>=1319563845000000000) |
<= | 小於等於 | (sAMAccountName<=a) |
& | 且關係,必須滿足全部條件 | (&(cn=CN*)(memberOf=cn=Test,ou=HQ,dc=Domain,dc=com)) |
| | 或關係,必須滿足任一條件 | (|(cn=Test*)(cn=Admin*)) |
! | 非關係,必須不滿足全部條件 | (!(memberOf=cn=Test,ou=HQ,dc=Domain,dc=com)) |
常用語句
情境 | 樣本 |
使用者名稱以“CN”開頭 | (cn=CN*) |
指定郵箱的使用者 | (|(proxyAddresses=*:alice@example.com)(mail=alice@example.com)) |
指定組的使用者 | (memberOf=cn=Test,ou=HQ,dc=Domain,dc=com) |
AD同步配置
擷取Base DN
Base DN是AD中某個節點的路徑標識,IDaaS只會在該節點下執行查詢和資料同步等操作。您可以在同步方向中設定來源節點的Base DN。
DN的格式為:ou=某組織,dc=example,dc=com,根節點的DN 一般為dc=example,dc=com(即您的域)。您也可以在AD管理中心中直接查看節點的DN,如下圖所示:
另外,當節點的路徑有變化時,節點的Base DN也會有變化,為避免節點路徑調整導致AD資料同步出錯,您在IDaaS中配置同步來源節點的Base DN時,IDaaS也會將該節點的ObjectGuid
作為節點指紋,當節點的Base DN有變動導致和節點指紋不匹配時,將阻斷資料同步行為。重新設定來源節點後即可正常同步。
增量同步處理
IDaaS將監聽AD的使用者或組織資料,每10分鐘左右執行一次同步,將有變動的資料匯入到IDaaS中。如果單次增量同步處理的資料量較大,可能會延遲處理。建議定期執行一次全量同步,以確保對齊兩邊資料。
由於AD增量同步處理的限制,IDaaS需要通過AD資源回收筒才可擷取刪除類型的事件的訊息,您需要在AD管理中心中開啟資源回收筒功能(Windows Server 2012以上版本支援)。