本文介绍如何配置ECS实例的AD域控制器,以及如何将RDS PostgreSQL实例接入域。
背景信息
活动目录AD(Active Directory),是微软提供的目录服务。目录是一种分层结构,用于存储同一局域网络上对象的信息。在目录中可以收录公司的电脑账号、用户账号、组等以提供更好的安全性和更便捷的管理能力。
RDS PostgreSQL提供接入自建AD域功能,用于企业中心化管理,同时提升用户访问安全性,支持数据库级别和用户级别的黑白名单能力。
RDS PostgreSQL对AD域服务信息的修改是通过修改RDS PostgreSQL实例上pg_hba.conf文件实现的,修改或导入AD域服务信息的内容即修改实例的pg_hba.conf文件,所以RDS管理控制台除了可以配置AD域服务之外,还支持其他常用的pg_hba.conf文件配置,具体参考:PostgreSQL pg_hba.conf介绍。
前提条件
-
RDS PostgreSQL实例版本需要满足以下条件。
-
实例大版本:10或以上版本。
-
内核小版本:大于等于20210228,如需升级内核小版本,请参见升级内核小版本。
-
存储类型:云盘存储。
-
-
已创建ECS实例。RDS PostgreSQL接入自建域必须使用内网,ECS需要满足以下条件:
-
AD域控制器所在ECS与目标RDS PostgreSQL实例处于相同VPC。
-
ECS安全组放通RDS的内网IP。详情请参见添加安全组规则。
-
ECS实例系统防火墙默认关闭,如果您开启过,ECS实例系统防火墙需要放通RDS的内网IP。
-
系统镜像选择Windows Server 2016及以上版本。
-
-
域账号属于Domain Admins组。
-
登录的阿里云账号为主账号。
操作步骤
-
ECS实例配置AD域控制器。
-
远程登录ECS的Windows Server 2016系统。
说明
AD域控制器需要建立在Windows Server操作系统之上,建议使用Windows Server 2016及以上版本,本示例以Windows Server 2016为例,建立可供RDS使用的AD域控制器。
-
搜索服务器管理器并打开。
-
在仪表盘中单击添加角色和功能。
-
在添加角色和功能向导窗口中进行如下配置。
向导页签
设置说明
开始之前
保持默认配置。
安装类型
保持默认配置。
服务器选择
保持默认配置。
服务器角色
-
选中Active Directory 域服务,并在弹出的对话框中单击添加功能。
-
选中DNS 服务器,并在弹出的对话框中单击添加功能。
说明
如果提示您电脑不是固定IP,建议您修改电脑为固定IP,防止IP自动变更导致DNS服务器无法使用。
功能
保持默认配置。
AD DS
保持默认配置。
DNS 服务器
保持默认配置。
确认
单击安装按钮开始安装服务。
-
-
等待安装完成后,单击关闭按钮关闭配置向导。
-
在服务器管理器页面左侧导航栏单击AD DS,然后在右上方单击更多。
-
在所有服务器 任务详细信息窗口中单击将此服务器提升为域控制器。
-
在Active Directory 域服务配置向导窗口中进行如下配置。
向导页签
设置说明
部署配置
选择添加新林,设置根域名。
说明
本文示例的根域名为
pgsqldomain.net
,其中pgsqldomain
为域名前缀,net
为域名后缀,均可以进行自定义,请注意在后文中进行同步修改。域控制器选项
设置目录服务还原模式(DSRM)密码。
服务器选择
取消选中创建 DNS 委派。
其他选项
保持默认配置。
路径
保持默认配置。
查看选项
保持默认配置。
先决条件检查
单击安装按钮开始安装服务。
说明
设置完成后需要重启ECS服务器,请等待重启完成后再进行后续步骤。
-
-
AD域控制器中添加管理员用户。
-
远程登录ECS服务器,搜索服务器管理器并打开。
-
在服务器管理器左侧导航栏单击AD DS,然后在右侧目标域控制器上单击右键,选择Active Directory 用户和计算机。
-
在pgsqldomain.net > Users上单击右键,选择新建 > 用户。
说明
pgsqldomain.net为Active Directory 域服务配置向导中设置的根域名,请根据实际情况选择。
-
设置登录的用户名称,单后单击下一步。
-
设置登录密码,勾选密码永不过期,最后单击下一步及完成。
-
双击新创建的用户,将用户加入Domain Admins管理员组中。
添加后结果如下:
-
-
AD域控制器中添加普通用户用于登录。
说明
添加普通用户步骤与域控制器中添加管理员用户方法相同,普通登录用户不需要加入Domain Admins管理员组。
本示例以
ldapuser
用户为例,作为AD域控制器中的普通用户,用于登录RDS PostgreSQL实例。 -
配置ECS实例安全组规则。
-
登录ECS管理控制台。
-
在左侧导航栏,选择实例与镜像 > 实例。
-
在顶部菜单栏左上角处,选择地域。
-
在实例列表页面中,单击目标实例ID。
-
在上方导航栏单击安全组页签,然后在目标安全组右侧操作列单击配置规则。
说明
域控制器需要开放较多端口,因此不建议和其他ECS实例共享安全组,建议创建单独的安全组使用。
-
在入方向页签内单击手动添加,允许如下端口访问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实例。
- 访问RDS实例列表,在上方选择地域,然后单击目标实例ID。
-
创建名为
ldapuser
的用户账号。具体操作请参见创建账号。说明
RDS管理控制台创建的账号名需要与AD域中创建的普通账号名相同,密码可以不一样,当启用AD域控制用户访问时,校验AD域控制器中该账号对应的密码,当不启用AD域控制用户访问时,系统校验RDS管理控制台的账号管理中设置的用户密码。
-
单击左侧导航栏的账号管理,选择AD域服务信息页签。
首次打开AD域服务信息页签,系统默认创建了以下两条记录:
host all all 0.0.0.0/0 md5 host replication all 0.0.0.0/0 md5
该默认配置可以删除或修改。
-
单击第一条默认记录后的编辑,修改第一条默认记录,填写如下参数取值。
说明
下表中仅简单介绍本示例使用的取值样例及含义,更多参数取值含义及配置方法请参见PostgreSQL官方文档。
参数
取值示例
说明
优先级
0
表示该条记录的优先级,0优先级最高,系统自动生成。修改第一条默认记录,优先级为0,表示AD域服务的配置优先级最高。
TYPE
host
支持配置以下取值:
-
host:该条记录验证TCP/IP连接,包括SSL连接和非SSL连接。
-
hostssl:该条记录只验证通过SSL建立的TCP/IP连接。
说明
要使用此参数,请打开SSL链路加密,具体请参见SSL链路加密。
-
hostnossl:该条记录只验证通过非SSL建立的TCP/IP连接。
DATABASE
all
允许用户访问的数据库,all表示允许用户访问所有数据库。如果配置多个,可通过逗号(,)分隔。
USER
ldapuser
允许哪些用户访问数据库,填写AD域中创建的用户名。如果配置多个,可通过逗号(,)分隔。
说明
配置在AD域中创建的普通用户的用户名。
ADDRESS
0.0.0.0/0
允许用户从哪个或哪些IP访问数据库,0.0.0.0/0表示允许用户从任意IP地址访问数据库。
MASK
空
掩码。如果ADDRESS为IP地址,可以通过此参数指定IP地址的掩码。
METHOD
ldap
说明
LDAP(Lightweight Directory Access Protocol,轻量目录访问协议)是设计用来访问目录数据库的一个协议,本示例以LDAP为例。
认证方法,支持:
-
trust
-
reject
-
scram-sha-256
-
md5
-
password
-
gss
-
sspi
-
ldap
-
radius
-
cert
-
pam
说明
手动输入时请注意此处使用英文小写字母。
OPTION
ldapserver= ldapbasedn=”CN=Users,DC=,DC=” ldapbinddn=”CN=,CN=Users,DC=,DC=” ldapbindpasswd=”” ldapsearchattribute=”sAMAccountName”
认证方式对应的可选参数。本示例使用LDAP认证,需要配置。此参数的更多解释,请参见Authentication Methods。
-
-
在上一步配置的AD域服务记录后单击添加,新增如下记录。
host all all 0.0.0.0/0 md5
-
填写完成后单击确定,最后单击提交按钮。
说明
提交后系统状态将变为维护实例中,预计时长约1分钟,修改后的新配置仅对新连接生效,对于旧连接,需要您断开已有连接后重新连接才能生效。
-
(可选)除手动添加AD域服务信息配置外,RDS PostgreSQL还支持通过导入方式批量设置AD域服务信息。
导入方式支持以下三总种模式
-
覆盖已有服务信息
-
追加服务信息(优先度最高):在已有服务信息前追加AD域记录,优先级高于已有服务信息。
-
追加服务信息(优先度最低):在已有服务信息最后追加AD域记录,优先级低于已有服务信息。
配置格式:
TYPE|DATABASE|USER1|ADDRESS|MASK|METHOD|OPTION
请在编辑AD域的编辑框中按顺序填写需要导入的服务信息。各参数取值请参见参数说明。
配置示例:
host|all||0.0.0.0/0||ldap|ldapserver= ldapbasedn="CN=Users,DC=,DC=" ldapbinddn="CN=,CN=Users,DC=,DC=" ldapbindpasswd="" ldapsearchattribute="sAMAccountName"
-
-
测试连接。
使用PostgreSQL命令行终端连接RDS。
说明
连接RDS PostgreSQL数据库可以通过多种方式,本示例以PostgreSQL命令行终端为例,连接前需要安装PostgreSQL客户端,具体方法及其他连接方式,请参见连接PostgreSQL实例。
使用如下命令连接RDS PostgreSQL数据库,使用在AD域控制器中普通用户的用户名及密码。
psql -h -U -p 5432 -d postgres
查看AD域修改记录
- 访问RDS实例列表,在上方选择地域,然后单击目标实例ID。
-
单击左侧导航栏的账号管理,选择AD域修改记录页签。
-
您可以在操作列查看变更详情,当修改失败时,状态为未生效,您可以单击变更日志,查看错误信息。
内容没看懂? 不太想学习?想快速解决? 有偿解决: 联系专家
阿里云企业补贴进行中: 马上申请
腾讯云限时活动1折起,即将结束: 马上收藏
同尘科技为腾讯云授权服务中心。
购买腾讯云产品享受折上折,更有现金返利:同意关联,立享优惠
转转请注明出处:https://www.yunxiaoer.com/155015.html