使用Microsoft Exchange自建電子郵件系統的企業,AD系統作為電子郵件系統的認證平臺。作為辦公環境的信息中心,AD賬號已經關聯諸多應用,可謂牽一發而動全身。實現AD賬號同步創建對應的阿里郵箱組織架構,郵件系統實現平滑遷移并保持AD賬號認證登入阿里郵箱,以實現統一的賬號管理。
一、同步規則和注意點
1. 同步對象為部門OU、賬號user、郵箱組distribution group、以及郵件組內成員group user;
2. 同步支持DC或OU。如只同步某根OU,不需要同步的對象請勿放置根OU下,或通過給OU的url打上nombx字符標記,AD user的WWWHomePage打上nombx字符標記,安全組的WWWHomePage打上nombx字符標記,OU下的通訊組都同步不支持單個不同步。
3. 同步只做新增、禁用、更新操作,無法執行同步刪除郵箱賬號、郵件組、部門的操作(如更改sAMAccountName值等于和原郵箱賬號解除同步關系,且會根據新的sAMAccountName值新建出郵箱賬號)。
4. cn在阿里側是“默認昵稱”對內的,發給同域的賬號收件人會看到來信賬號顯示名為“姓名(默認昵稱)”; displayname在阿里側是“自定義昵稱”對外的,發給外部郵件收件人會看到來信賬號顯示名為設置的 “自定義昵稱”。
域管需要添加超過兩個賬號別名的情況下不建議做mail同步,因為同步AD mail后即以AD為基準,郵箱側添加的別名會被mail覆蓋刪除,只保留AD mail同步過來的別名地址;
郵箱需要用到多個獨立域名的,做AD同步前請先在域管添加上其他的多域子域,然后新建一個多域賬號,最后再做AD同步。已先做AD同步后添加多域子域的,如賬號刪除了無法進行恢復,如有歷史數據需要備份,請通過郵件轉移實現,郵件轉移操作請參考什么是賬號回收站;
同步周期一般為分鐘級別,最長同步周期為 1 小時/ 次, 1000賬號大概5分鐘左右同步完成,確保您的AD服務器的時間是準確的。如多臺AD服務器之間也有同步,請確保用于直接同步阿里郵箱的那臺AD服務器上的生效時間,以保證增量同步至阿里側的時效性。
為保證離職員工郵箱及時凍結,強烈建議維護離職員工 OU,對離職的 AD 賬號做禁用操
作,后期統一做刪除維護。這樣可以保證郵箱賬號及時凍結,即使離職員工郵箱 app 處于登入態,也可以保證其郵件收發處于禁用狀態。
當 AD 中刪除了賬號又新建同一個賬號時,郵箱同步為了防止重復賬號發生,會先檢查原
郵箱是否存在,存在則做賬號重命名-賬號_backup 操作,再同步新建的 AD 賬號對應的郵箱。
例如:刪除 AD 賬號 user@a.com, 又在 AD 中新建 user@a.com,則郵箱會先生成一個
user_backup@a.com 的郵箱,再同步生成 user@a.com 郵箱。
同步支持的字段 1、如下是默認支持同步的字段,除賬號名外,其他字段支持自定義,可選擇AD任意屬性字段進行同步; 2、可自定義的這些字段也支持不同步,如無需同步請提前告知。 | |
AD側 | 郵箱側 |
cn | 姓名 |
sAMAccountName | 賬號名,默認郵箱地址@前綴 |
title | 職位 |
telephoneNumber | 工作電話 |
mobile | 手機 |
域別名/賬號別名/獨立多域賬號 | |
displayname | 自定義昵稱(你發到公司外的郵件,發件人將顯示自定義昵稱) |
暫無默認對應屬性字段 | 默認昵稱(企業內賬號間可見) |
暫無默認對應屬性字段 | 工號 |
組同步特殊說明 | |
通訊組 | 安全組 |
sAMAccountName要符合郵箱賬號名格式 | sAMAccountName要符合郵箱賬號名格式 |
Name可以中文 | Name可以中文 |
Mail要符合郵箱地址格式 | Mail要符合郵箱地址格式 |
組作用域可以全局或通訊 | 組作用域可以全局或通訊 |
組內成員可以同步 | 組內成員可以同步 |
外域組員需填寫mail值 | 外域組員需填寫mail值 |
二、認證規則和注意點
做完認證原本的鑒權中心會從郵箱切到了AD系統,即當用戶在客戶端或網頁端輸入賬號密碼的時候,通過標準LDAP協議查詢到企業的AD賬號服務,由AD系統校驗賬號和密碼的正確性,如果正確則返回給阿里郵箱告知可以登錄。
1. 請務必在AD側創建postmaster賬號,且postmaster的userPrincipalname屬性值必須填寫與郵箱側postmaster一樣的地址,否則認證后將無法登錄管理員郵箱。
2. AD服務器地址和端口需要在公網以供阿里郵箱調用。為保證AD服務的安全性,AD服務可以設置acl來源ip: 115.124.XX.XX 、59.82.XX.XX進行訪問控制。
一旦選擇通過AD賬號認證登入阿里郵箱,那么所有關于登入鑒權及密碼的修改操作均在您的AD服務器上實現。若AD系統宕機則無法繼續登錄郵箱。阿里支持主備AD進行認證,避免一臺機器宕機后無法繼續登錄郵箱。
三、實現場景對比
支持的三類場景:只做同步不做認證、只做認證不做同步、既做同步又做認證。三類場景略有區別,且有需要特別注意的地方。
場景 | 區別 |
只做同步 | 1. user的userPrincipalname可以與登錄的郵箱地址不一致。 2. 不能同步密碼,同步后郵箱賬號是沒有密碼的,需要在郵箱域管進行密碼設置才能登錄阿里郵箱。 重要 切換場景時需要特別注意,如原本AD同步認證都做,后續改成不認證只同步,請事先做好準備。 |
只做認證 | 1. 要求AD中所有需要認證登錄的user中userPrincipalname(如有)字段有 email 地址值, 且該值與登錄的郵箱地址保持一致。 重要 切換場景時需要特別注意,如原本AD同步和認證都做,后續改成不同步只認證,請事先做好準備。 2. 登錄郵箱需使用AD賬號密碼,郵箱側設置的密碼無法登錄郵箱。 |
同步認證都做 | 1. 除了postmaster其他user的userPrincipalname可以與登錄的郵箱地址不一致。 2. 登錄郵箱需使用AD賬號密碼,郵箱側設置的密碼無法登錄郵箱。 |
四、屬性獲取
打開“Active Directory 用戶和計算機”,勾選上查看中的“高級功能”,否側無法看到AD對象的屬性。
部門或用戶或郵件組對象,右鍵-屬性-屬性編輯器,找到所需的相關屬性。
ps:點擊任意屬性鍵盤輸入需要查找的屬性首字母,可以快速找到所查屬性。
五、小技巧
如果同步出現較嚴重延遲,過了很久部門賬號或郵件組都沒同步至郵箱側,建議刷新AD對象的任意非同步認證相關的關鍵屬性值來觸發同步。如果涉及到對象比較多,也可以通過如下指令進行批量操作。
方案1:直接打開cmd命令框
csvde -f C:\Users\Administrator\Desktop\20210908.csv -r "(objectClass=user)" -d "OU=小OU,OU=大OU,DC=xxx,DC=com" -l "SamAccountName,Mail"
ps:有一些特殊的值也不能直接導出,如 wWWHomePage,如果要修改可以參考方案2的 import-Csv 命令
方案2:通過PowerShell 的 AD模塊實現
在管理工具中打開用于Windows PowerShell的ActiveDirectory 模塊命令行窗口或打開命令提示符窗口輸入PowerShell回車再輸入import-module activedirectory 導入AD模塊。
批量修改導出的csv中賬號的相關屬性
Import-Csv -Path C:\Users\Administrator\Desktop\20210908.csv | foreach {Get-ADUser -Identity $_.SamAccountName |Set-ADUser -email $_.mail -HomePage $_.wWWHomePage }