使用Microsoft Exchange 自建电子邮件系统的企业,AD 系统作为电子邮件系统的认证平台。作为办公环境的信息中心,AD账号已经关联诸多应用,可谓牵一发而动全身。实现 AD 账号同步创建对应的阿里邮箱组织架构,邮件系统实现平滑迁移并保持 AD 账号认证登入阿里邮箱,以实现统一的账号管理。
1. 同步对象为部门OU、账号user、组distribution group、以及组内成员group user;
同步只做新增、禁用、更新对象的操作,无法执行同步删除,需要删除的请AD删除或停止对象的同步后于邮箱侧手动删除;
同步支持DC和OU。1)如只实施OU同步,需要同步的部门、账号和组请放置某一个根OU下,不需要同步的对象请勿放置根OU下。或通过给OU的 url 打上 nombx 字符标记,AD user 的 WWWHomePage 打上 nombx 字符标记,安全组的 WWWHomePage 打上 nombx 字符标记(OU下的通讯组都同步不支持单个不同步),来停止指定对象的同步。2)如实施DC同步,即DC下所有的对象默认都同步,DC下不需要同步的部门、账号、安全组请按照上述方法打上nombx 字符标记;
cn在阿里侧是“默认昵称”对内的:发给同域的账号收件人会看到来信账号显示名为“姓名(默认昵称)”,且同域账号在通讯录里可以看到“姓名(昵称)”; displayname在阿里侧是“自定义昵称”对外的:发给外部邮件收件人会看到来信账号显示名为设置的“自定义昵称”。
同步周期一般为分钟级别,最长同步周期 为 1 小时/ 次, 1000 账号大概 5 分钟左右同步完成。确保您的AD服务器的时间是准确的,以保证增量同步的时效性。
邮箱侧需要添加两个及以上账号别名的情况下不建议做AD mail同步,因为同步AD mail后即以AD为基准,又因为AD侧mail里只支持填写一个邮箱地址,即便后续在邮箱侧单独添加其他别名也会被同步覆盖而删除,最终只保留AD mail同步过来的别名地址。
同步支持的字段 | |
邮箱侧 | AD侧 |
姓名 | cn |
默认邮箱地址 | sAMAccountName |
职位 | title |
工作电话 | telephoneNumber |
手机 | mobile |
域别名/账号别名/独立多域账号 | |
自定义昵称 | displayname |
默认昵称 | 任意AD属性 |
工号 | 任意AD属性 |
组同步特殊说明 | |
通讯组 | 安全组 |
sAMAccountName必须英文无空格 | sAMAccountName必须英文无空格 |
Name可以中文 | Name可以中文 |
Mail必须英文无空格 | Mail必须英文无空格 |
组作用域可以全局或通讯 | 组作用域可以全局或通讯 |
组内成员可以同步 | 组内成员可以同步 |
外域组员需填写mail值 | 外域组员需填写mail值 |
做完认证原本的鉴权中心会从邮箱切到了AD系统,即当用户在客户端或webmail输入账号密码的时候,通过标准LDAP 协议查询到企业的 AD 账号服务,由AD系统校验账号和密码的正确性,如果正确则返回给阿里邮箱告知可以登录。
请务必在AD侧创建postmaster账号,且postmaster的userPrincipalname属性值必须填写与邮箱侧postmaster一样的地址,否则认证后将无法登录管理员邮箱。
AD 服务器地址和端口:ip:389,并将 ip 和端口暴露在公网以供阿里邮箱调用,为保证AD 服务的安全性,AD 服务可以设置 acl 来源 ip: 115.124.20.0/24 进行访问控制。
一旦选择通过 AD 账号认证登入阿里邮箱,那么所有关于登入鉴权及密码的修改操作均在您的AD 服务器上实现。若AD系统宕机则无法继续登录邮箱。阿里支持主备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 }