写点什么

使用 ADMT 迁移本地 AD 用户到 AWS Microsoft AD

  • 2019-10-21
  • 本文字数:2074 字

    阅读完需:约 7 分钟

使用 ADMT 迁移本地 AD 用户到 AWS Microsoft AD

AWS Managed Microsoft AD 介绍:

AWS Managed Microsoft AD 在 AWS 云中创建一个完全托管的 Microsoft Active Directory,采用 Windows Server 2012 R2 并在 2012 R2 功能级别上操作。AWS Managed Microsoft AD 可以与 Microsoft SharePoint、Microsoft SQL Server Always On Availability Groups 和多种 .NET 应用程序配合使用。它还支持 AWS 托管的应用程序和服务,包括 Amazon WorkSpaces、Amazon WorkDocs、Amazon QuickSight、Amazon Chime、Amazon Connect 和 Amazon Relational Database Service for Microsoft SQL Server (RDS for SQL Server)。


在本文中,我们主要讨论使用微软提供的 ADMT (Active Directory Migration Tool) 来实现将用户从本地 AD 迁移到 AWS Managed Microsoft AD。需要注意的是: AWS Managed Microsoft AD 采用 Windows Server 2012 R2 并在 2012 R2 功能级别上操作,如果和本地域功能级别不同,在迁移的时候有可能会出现一些属性无法同步的情况。

先决条件:

  1. 在迁移之前,可以根据自己的业务场景使用 VPN 或者 Direct Connect 将本地数据中心和 AWS VPC 网络打通。

  2. 建立本地 DC 和 AWS Managed AD 的信任关系

  3. 在本地 DC 上安装 pwdmig(Password Export Server) 用于密码迁移

操作步骤:

  1. 在 AWS 上创建一个托管 Microsoft AD,本次示例中 AWS 托管 AD 的目录名字为 mad.com ,创建好之后 AWS 会自动在指定的子网中创建 2 个域控制器.



  1. 修改 VPC DHCP Options,使 VPC DNS 指向 AWS Managed AD DNS 服务器(在先前创建的目录服务中可找到 DNS address )



  1. 创建一个 Windows EC2 ,在配置实例的时候,选择之前新建的目录,以及选择一个 IAM Role 使 EC2 实例自动加入到托管 AD 中,IAM Role 至少要有 AmazonEC2RoleforSSM 权限。



  1. EC2 实例启动之后,可以通过在 AWS Managed AD 中创建的 admin 用户登录,登录成功之后安装 AD 管理工具.


使用 PowerShell 安装命令如下:_Add-WindowsFeature RSAT-AD-PowerShell,RSAT-AD-AdminCenter_


  1. 在 VPC 安全组界面,搜索之前创建的 Managed AD 的 Directory ID,格式为:d-xxxxxxxxxx,找到之后,修改出站流量,允许本地 DC 所在 CIDR 的所有流量.



  1. 在本地 DC 设置与 AWS Managed AD 林级别的信任,并添加 Managed AD 和本地 onpremise.com 的双向信任,在条件转发器中输入 onpremise.com 的 DNS 地址。如果信任建立失败,请检查 AWS Managed AD 的安全组出站策略以及本地数据中心的防火墙设置.




  1. 在 EC2 实例上安装 ADMT 工具(安装的时候需要指定 SQL Server 数据库,也可以在本地安装SQL Server Express 版) 。ADMT 默认安装路径为: C:\Windows\ADMT\,安装成功之后需要使用 ADMT 生成一个 Encryption File,用于源域控制器配置 pwdmig(Password Export Server).


_admt key /option:create /sourcedomain:SOURCEDOMAIN.com /keyfile:c:\key.pes /keypassword:KEYPASS_



  1. 将上一步生成的 key.pes 文件拷贝到本地域控制器,在本地域控制器上安装 pwdming 并指定 key.pes 文件,安装之后重启服务器。

  2. 同时在本地 AD 上打开 services.msc ,找到 Password Export Server Service,在 Logon 中修改用户为 AWS Managed AD 的管理员 admin,并将此服务启动。

  3. 另外在本地 AD 中,将 AWS Managed AD 的管理员添加到本地 AD 的 administrators 组中(如果不添加,在使用 ADMT 迁移密码的时候会报错提示访问被拒绝)


  4. 在 EC2 (连接到目标域控制器的实例)上打开 ADMT 工具开始准备迁移,右键选择 “User Account Migration Wizard”


  5. 选择源 AD 和目标 AD


  6. 手动选择要迁移的用户


  7. 选择要迁移到的 OU


  8. 迁移密码


  9. 不要勾选“Migrate user SIDs to target domain”。Sid 迁移需要在 AWS Managed AD 启用 SID History,但由于 AWS Managed AD 是一个托管服务,无法修改此属性,因而无法迁移用户的 sid.


  10. 之后根据提示点击下一步开始迁移工作,迁移完成之后,可以查看迁移报告,如果有用户迁移失败,可以点击 View Log 按钮查看报错日志。


  11. 经测试: 在迁移用户的过程中,如果用户隶属于某个组,可以实现在迁移用户的过程中自动将组也迁移过去。迁移后的用户默认勾选 “User must change password at next logon”,可以通过 PowerShell 脚本取消勾选:

  12. _Set-ADUser localuser001 -ChangePasswordAtLogon $false_

  13. 如果要批量修改某一个 OU 下的所有用户的属性,可以参考下面的循环语句:

  14. _Get-ADUser -Filter * -SearchBase "OU=testOU,OU=MAD,DC=mad,DC=com" | % {Set-ADUser $_ -ChangePasswordAtLogon $false}_


更多资料请参考:


https://docs.aws.amazon.com/zh_cn/directoryservice/latest/admin-guide/ms_ad_tutorial_setup_trust.html


https://docs.microsoft.com/en-us/previous-versions/windows/it-pro/windows-server-2008-R2-and-2008/cc974332(v=ws.10)


作者介绍:


刘翔


亚马逊 AWS 解决方案架构师,负责基于 AWS 的云计算方案架构的咨询和设计。在加入架构师团队之前,在 AWS Support 团队有 2 年半的工作经验,对 AWS 底层服务有深入的理解和认识。


本文转载自 AWS 技术博客。


原文链接:


https://amazonaws-china.com/cn/blogs/china/admt-aws-microsoft-ad/


2019-10-21 08:00979

评论

发布
暂无评论
发现更多内容

AngularJS进阶(三十二)书海拾贝之特殊的ng-src和ng-href

No Silver Bullet

AngularJS 12月月更 启动过程

2 小时开发《点球射门游戏》,动画演示思路(下),代码已开源

非喵鱼

Java 开源 游戏 12 月 PK 榜 世界杯足球游戏

我把Idea给改了,看看有没有你常用的功能,没有,你告诉我,我给你造了

非喵鱼

Java 开源 IDEA springboot 12 月 PK 榜

Linux平台用什么HA软件好?咨询电话多少?

行云管家

高可用 HA软件

百度爱番番基于图技术、流式计算的实时CDP建设实践

NebulaGraph

数据库 flink 流计算 图数据库

IPQ8074 Qualcomm Embedded Board Offers MU-MIMO 802.11ax WiFI 6//industrial wifi6 moudle

wallysSK

IPQ8074 ip8072

MYSQL-INNODB索引构成详解

京东科技开发者

MySQL innodb 索引 B+树 InnoDB存储引擎

免费试用的云管平台哪里有?可以试用多久?

行云管家

云计算 云管平台 云管理 自动化运维

chatGPT辣么火,你却不会注册!

程序员小毕

Java 程序员 程序员人生 后端 摸鱼

借用FinClip把小程序游戏运行到自有App中

Onegun

小游戏 小游戏开发 微信小游戏

ZBC登录iZUMi Finance双挖池APY高达189%,极致通缩的典范

西柚子

PCB制造常用的13种测试方法,你掌握了几种?

华秋PCB

测试 PCB PCB设计

AngularJS进阶(三十三)书海拾贝之简介AngularJS中使用factory和service的方法

No Silver Bullet

service AngularJS 12月月更 factory

云边协同下的统一应用管理: 基于 OpenYurt 和 KubeVela 的解决方案

阿里巴巴云原生

阿里云 开源 云原生 KubeVela openyurt

容量测试解决了什么问题?

老张

性能测试 容量测试 容量保障

软硬协同:基于倚天的视频云编码性能升级

阿里云CloudImagine

云计算 视频云

【DBA100人】网联客CEO隋海峰:把握好职业生涯最重要的两个5年

OceanBase 数据库

数据库 oceanbase

软件测试 | 版本控制神器GitHub的基本使用与踩坑

测试人

GitHub 软件测试 自动化测试 测试开发

Idea居然还有比Navicat、Datagrid工具还好用、还快的插件,效率又可提升一倍了

非喵鱼

Java MySQL redis IDEA 12 月 PK 榜

CTPN+CRNN算法端到端实现文字识别的实战开发

华为云开发者联盟

人工智能 华为云 文字识别 12 月 PK 榜

大幅优化《英雄联盟》游戏体验,英特尔显卡驱动更新

科技之家

LiteOS-A内核中的procfs文件系统分析

OpenHarmony开发者

OpenHarmony

模块一 实战营作业

peter

「架构实战营」

美团四面:如何保障 MySQL 和 Redis 的数据一致性?

Java永远的神

Java MySQL 数据库 redis 后端

NineData核心技术揭秘

NineData

数据库 备份恢复 备份策略 数据源 备份 & 恢复

阿里国际站-唤端技术的探索与演进

阿里技术

前端 用户增长

区块链“入局”证券市场,未来前景有多大?

旺链科技

区块链 产业区块链 证券行业 12 月 PK 榜

得物云原生全链路追踪Trace2.0-采集篇

得物技术

架构 云原生 APM Trace OpenTelemetry

教你如何进行数仓字符串、二进制、十六进制互转

华为云开发者联盟

数据库 后端 字符串 华为云 12 月 PK 榜

设备管理|锂电材料工厂混合设备的维护与保养

PreMaint

设备管理 新能源行业 锂电材料工厂

使用 ADMT 迁移本地 AD 用户到 AWS Microsoft AD_语言 & 开发_亚马逊云科技 (Amazon Web Services)_InfoQ精选文章