RDS SQL Server实例接入自建域

重要

本文中含有需要您注意的重要提示信息,忽略该信息可能对您的业务造成影响,请务必仔细阅读。

当您需要将RDS SQL Server实例集成到企业的身份认证体系中时,可参考本文教程在ECS实例中配置域控服务器,并将RDS SQL Server实例接入自建域中,帮助您实现资源的集中权限管理和身份验证。

背景信息

Microsoft AD即Active Directory(活动目录),是微软提供的面向Windows Standard Server、Windows Enterprise Server以及Microsoft SQL Server等产品的目录服务。目录是一种分层结构,用于存储同一局域网络上对象的信息。例如,AD存储有关用户账号的信息,例如名称、密码、电话号码等,并允许同一局域网络上的其他授权用户访问此信息。

AD是Windows生态体系下的重要组成单元。诸多大型企业,会通过域控来实现统筹的集中式访问管理,是企业内部长期依赖的原生管理方式。在上述背景下,当您从自建环境迁移整体服务至云上或使用混合云架构时,往往也需要在云上体系中支持AD服务,以便于全局管理。具体至SQL Server数据库,作为微软生态体系下的重要一环,大型企业在搬迁上云时AD的支持成为最基础的要素。

基于上述情况,RDS SQL Server提供实例接入自建域功能,帮助您完善业务生态体系。

警告

开通并配置了AD域功能后,您可以通过AD自建域创建账号,并授予相应的权限,使得该账号可以登录RDS SQL Server并对数据库进行相应的操作。

但由于超级权限账号(System Admin)或主机账号所拥有的操作权限已超出了RDS控制的范围,因此对于通过AD自建域功能所创建的该类型账号的RDS实例,我们无法保证SLA

前提条件

  • RDS实例需满足如下条件:

    • 实例系列:基础系列、集群系列、高可用系列

    • 实例规格:通用型、独享型(不支持共享型)

    说明

    您可以前往实例基本信息页面查看以上信息。

  • 登录账号必须为阿里云主账号

  • RDS和域控服务器所在ECS在相同VPC。

  • ECS安全组放通RDS的内网IP。详情请参见添加安全组规则

  • ECS实例系统防火墙放通RDS的内网IP。ECS实例系统防火墙默认关闭,如果您开启过,需要放通RDS的内网IP。

  • 域账号属于Domain Admins组(由于客户端主动加域需要高权限)。

  • 域控服务器与DNS是相同IP。

注意事项

加入或退出AD域的操作都需要重启Windows操作系统,为避免对正在进行的业务造成中断影响,请您尽量在业务低峰期执行此类操作。

使用限制

加入AD域的实例不支持升级数据库大版本升级内核小版本迁移可用区操作。

Windows版本选择

域控服务器需要建立在Windows Server操作系统之上,创建ECS实例时,系统最低版本为Windows Server 2012 R2,建议使用Windows Server 2016及以上版本,语言选择英文,本文将以Windows Server 2016为例指导您建立可供RDS使用的域控服务器。

步骤一:ECS实例系统配置域控服务器

  1. 登录ECS管理控制台

  2. 在左侧导航栏,选择实例与镜像 > 实例

  3. 在页面左侧顶部,选择目标资源所在的资源组和地域。地域

  4. 实例列表页面中,单击目标实例ID。

  5. 远程登录ECS的Windows Server 2016系统。

  6. 搜索Server Manager并打开。

  7. 单击Add roles and features,进行如下设置。

    页面名称

    设置说明

    Installation Type

    保持默认设置。

    Server Selection

    保持默认设置。

    Server Roles

    • 选中Active Directory Domain Services,并在弹出的对话框中单击Add Features

    • 选中DNS Server,并在弹出的对话框中单击Add Features。如果提示您电脑不是固定IP,建议您修改电脑为固定IP,防止IP自动变更导致DNS服务器无法使用。

    Server Roles

    Features

    保持默认设置。

    AD DS

    保持默认设置。

    DNS Server

    保持默认设置。

    Confirmation

    单击Install进行安装。

  8. 等待安装完成后,单击Close关闭页面。

  9. 在左侧导航栏单击AD DS,然后在右上方单击More

    More

  10. 单击Promote this server to a domain...,进行如下设置。

    Promote

    页面名称

    设置说明

    Deployment Configuration

    选择Add a new forest,设置域名。new forest

    Domain Controller Options

    设置恢复模式密码。恢复模式密码

    DNS Options

    取消Create DNS delegation选项的取消选项

    Additional Options

    保持默认设置。

    Paths

    保持默认设置。

    Review Options

    保持默认设置。

    Prerequisites Check

    单击Install进行安装。

    说明

    安装完成后系统会重启。

  11. 等待系统重启,再次搜索Server Manager并打开。

  12. 在左侧导航栏单击AD DS,然后在右侧目标域控服务器上单击鼠标右键,选择Active Directory Users and Computers,进入AD用户管理模块。

    ad用户管理

  13. testdomain.net > Users上单击鼠标右键,选择New > User

    创建新用户

  14. 设置登录的用户名称,然后单击Next

    用户名

  15. 设置登录密码,并设置密码永不过期,然后单击NextFinish完成创建。

    设置密码

  16. 双击新创建的用户,将该用户加入Domain Admins管理员组。

    加入管理员组添加成功

步骤二:配置ECS实例安全组

  1. 登录ECS管理控制台

  2. 在左侧导航栏,选择实例与镜像 > 实例

  3. 在页面左侧顶部,选择目标资源所在的资源组和地域。地域

  4. 实例列表页面中,单击目标实例ID。

  5. 在上方导航栏中选择安全组,然后单击安全组操作列下的配置规则

  6. 入方向页签内单击手动添加,允许如下端口访问ECS实例。

    放通RDS访问ECS

    协议类型

    端口范围

    说明

    TCP

    88

    Kerberos认证协议端口。

    TCP

    135

    远程过程调用协议(RPC)端口。

    TCP/UDP

    389

    轻型目录访问协议(LDAP)端口。

    TCP

    445

    通用互联网文档系统协议(CIFS)端口。

    TCP

    3268

    Global Catalog端口。

    TCP/UDP

    53

    DNS端口。

    TCP

    49152~65535

    连接的默认动态端口范围。输入格式为:49152/65535。

步骤三:配置RDS实例AD域服务

  1. 访问RDS实例列表,在上方选择地域,然后单击目标实例ID。
  2. 在左侧导航栏单击账号管理

  3. 单击AD域服务信息页签,然后单击配置AD域服务

    image..png

  4. 在弹出的配置AD域服务对话框中,设置如下参数,并选中我已阅读并知晓配置AD域服务对《RDS 服务等级协议》的影响。

    警告

    开通并配置了AD域功能后,您可以通过AD自建域创建账号,并授予相应的权限,使得该账号可以登录RDS SQL Server并对数据库进行相应的操作。

    但由于超级权限账号(System Admin)或主机账号所拥有的操作权限已超出了RDS控制的范围,因此对于通过AD自建域功能所创建的该类型账号的RDS实例,我们无法保证SLA

    image..png

    参数

    说明

    域名

    创建活动目录时(Deployment Configuration页面)指定的域名。例如本文设置的是testdomian.net。

    IP地址

    域控服务器所在ECS的IP,可以在ECS中使用ipconfig获取,也可以在阿里云ECS控制台中查看。查看私网IP

    域账号

    之前创建的用户名。

    域密码

    用户名对应的密码。

  5. 单击确定,等待AD域配置完成。

    添加完成

相关操作

使用API查看或修改AD域关联信息、退出所在AD域,请参见:

常见问题

RDS使用什么权限用户加入域?如何控制其权限?

建议您使用域管理员权限的账号让RDS加入域,如果不希望使用域管理员权限,可以按照下面方法使用最小权限,但使用最小权限账号退出域时,需要在域控服务器中手动删除对应的计算机对象,否则将同一RDS再次加入本域时会报错。

  1. 创建新用户并确认用户属于Domain Users组后,在Computers > Delegate Control...页面添加刚才创建的新用户。控制权限1控制权限2

  2. 在创建的用户上单击右键,选择Create a custom task to delegate,然后单击Next

  3. 选择Only the following objects in the folder,按下图所示进行选中,然后单击Next控制权限3

  4. 按下图所示进行选中,然后单击Next直至完成。控制权限4