客户管理的 Active Directory (CMAD) 诊断工具是一个实用程序 PowerShell 脚本,可帮助您在与 Google Cloud中的 Cloud SQL 集成之前或期间排查网域的 Active Directory 设置问题。
该工具会对相关问题(例如关闭的端口、网域控制器 (DC) 可访问性、账号状态以及组织部门 (OU) 存在性和权限)执行各种检查。它在 Windows 虚拟机上运行,该虚拟机应是 Active Directory 网域的网域控制器之一或已加入网域的机器。
本页面介绍如何使用适用于 Cloud SQL 的 CMAD 诊断工具,并说明了该工具执行的检查。
前提条件
在继续使用 CMAD 诊断工具之前,请确保已设置以下组件:
- Active Directory 网域。
- 有权将计算机加入目标组织部门的 Active Directory 管理员账号。
- Active Directory 中将创建 Cloud SQL 计算机账号的组织部门 (OU)。
- 如果是在已加入网域的虚拟机(而非网域控制器)上运行脚本,则必须安装 PowerShell 的 Active Directory 模块 (
RSAT-AD-PowerShell)。
如何使用 CMAD 诊断工具
如需使用 CMAD 诊断工具,请执行以下步骤:
- 登录任一网域控制器或登录一个加入了 Active Directory 网域的虚拟机。
- 在虚拟机上下载
diagnose_cmad.ps1脚本。 - 以管理员身份启动 PowerShell。
使用以下命令在 PowerShell 窗口中运行
diagnose_cmad.ps1脚本:C:\SCRIPT_PATH\diagnose_cmad.ps1
将 SCRIPT_PATH 替换为您下载脚本的目录的路径。
出现提示时,请输入以下信息:
- 本地域名,例如
my-domain.com - AD 管理员账号,例如
myadmin - 目标组织部门,例如
OU=cloud,DC=my-domain,DC=com
- 本地域名,例如
之后,该工具会执行多项检查,具体请参阅使用 CMAD 诊断工具执行的检查部分。
使用 CMAD 诊断工具执行的检查
| 检查 | 说明 | 备注和建议 |
|---|---|---|
| 可用的网域控制器 | 对本地网域上每个网域控制器的 IP 地址发出 ping 请求,以确保它们可以访问。 | 其余检查会继续对可访问的 IP 地址进行。如果有某个本地网域控制器未通过此检查,则需确保其余本地网域控制器的网络连接。如需了解详情,请参阅创建网络基础架构。 |
| 端口 | 验证 AD 的所有必需 TCP 和 UDP 端口在所有本地网域控制器上都处于打开状态。 | 此检查会针对 RPC 端口范围 (49152-65535) 返回警告状态(如果打开端口列表不一致)。建议您确认设置了允许此范围的防火墙规则集。如需了解详情,请参阅 客户管理的 Active Directory 防火墙规则。 |
| DC 复制 | 查找本地网域控制器之间是否发生任何 AD 复制失败问题。 | 当脚本是在加入了本地网域的虚拟机上运行,如果 Powershell 未以 Active Directory 域用户身份运行,则该检查会返回失败状态。如果此检查未通过,请按照测试安装中指定的步骤操作。 |
| Kerberos 服务 (SRV) 记录 |
查询本地 DNS 以获取 _kerberos._tcp 和 _kerberos._udp SRV 记录,并验证目标主机是否与提供的域名正确匹配。
如需了解详情,请参阅 Microsoft 关于 SRV 记录的文档。 |
如果此检查失败,请验证 Active Directory 网域的 DNS SRV 记录是否存在且配置正确。 |
| AD 管理员账号状态 | 验证为 CMAD 集成指定的管理员账号是否存在、是否已启用、是否未被锁定,以及是否未过期。 | 如果此检查失败,请解锁用户账号,在 Active Directory 用户和计算机 (ADUC) 中启用该账号,或者在 Secret Manager 中更新凭据(如果密码已过期)。 |
| 组织部门 (OU) | 验证目标组织部门 (OU) 标识名 (DN) 是否存在于 Active Directory 中。 |
如果此检查失败,请验证目标 OU 是否存在于 Active Directory 中,以及所提供的 DN(例如 OU=cloud,DC=my-domain,DC=com)是否格式正确。
|
| 组织部门权限 | 验证 Active Directory 管理员账号是否对目标 OU 拥有 Cloud SQL 所需的权限,包括该账号通过其群组成员身份获得的权限。 |
如果此检查失败,请按照 CMAD 概览中的准备工作部分所述,将缺少的权限委托给管理员账号,并移除 OU 中适用于该账号或其群组的所有 Deny 权限条目。 如果此检查返回警告,则表示该工具无法读取账号的群组成员资格。验证账号是否通过群组获得缺少的权限。 |
后续步骤
- 如要提供反馈意见,您可以通过 GitHub 问题来提交反馈。