本页介绍了如何为 Microsoft Active Directory 托管服务 (Managed Microsoft AD) 启用基于 SSL/TLS 的 LDAP (LDAPS),以确保 LDAP 流量的机密性和安全性。默认情况下,Microsoft AD 托管服务 和客户端应用之间的通信不会为简单的 LDAP 绑定加密。
如需启用 LDAPS,您必须拥有证书。本页还介绍了所需证书的规范,以及如何验证和监控证书。
请求证书
您可以从 Public Certificate Authority (CA)、企业 CA、 Google Cloud Certificate Authority Service 请求证书,也可以使用 自签名证书。如果您使用自签名证书,请按照以下部分中 PowerShell 命令链接到的 Microsoft 文档进行操作。
您可以在 Windows、OpenSSL 或 makeCert 中使用 New-SelfSignedCertificate 命令创建自签名证书。
证书要求
您的证书必须满足以下要求:
- 下表概述了创建自签名
证书的要求,并列出了
New-SelfSignedCertificate命令中使用的关联参数。 请注意,参数或字段名称可能会因您创建证书的方式而异。
| 参数 | 说明 |
|---|---|
Subject(主题名称) |
此值必须是 Microsoft AD 托管服务网域的带通配符前缀的名称,以确保服务在升级或恢复过程中保持可用。这是因为网域控制器使用在升级或恢复过程中会更改的随机
名称。例如,如果网域名称
是 ad.mycompany.com,则主题名称必须为 CN=*.ad.mycompany.com
|
DnsName(DNS 名称或正文备用名称) |
它必须仅包含以下内容:"CN=*.ad.mycompany.com","CN=.ad.mycompany.com"
|
KeySpec |
此参数必须设置为 1,表示它可用于
数字签名和密钥交换。
|
KeyLength |
密钥大小下限取决于加密算法。 |
KeyUsage |
它必须包含“数字签名”和“密钥加密”。 |
TextExtension 或 EnhancedKeyUsageExtension |
它必须具有 OID=1.3.6.1.5.5.7.3.1 以进行
服务器身份验证。
|
NotBefore |
证书有效的时间。启用 LDAPS 时,证书 必须有效。 |
NotAfter |
证书无效的时间。启用 LDAPS 时,证书必须有效。 |
KeyAlgorithm(签名算法) |
不支持弱签名算法,如 SHA-1、MD2、MD5。 不支持。 |
颁发链 :整个证书链必须上传且必须有效。链必须为线性,不能有多个链。
证书格式 :该格式必须符合公钥加密标准 (PKCS) #12。您必须使用 PFX 文件。
从 Public CA 或企业 CA 请求
如需从 Public CA 或企业 CA 请求证书, 请按 以下 步骤操作。
在生成请求的同一虚拟机上接受证书。
以 PKCS #12 格式导出证书
如需以 PKCS #12 格式(作为 PFX 文件)导出证书,请完成以下步骤:
在 Windows 中,在 Microsoft Management Console (MMC) 中找到您的证书。
展开本地计算机证书,然后依次前往 个人 > 证书。
右键点击您为启用 LDAPS 而创建的证书,然后依次选择 所有任务 > 导出。
在随即显示的证书导出向导 对话框中,点击下一步 。
在导出私钥 页面上,选择是 以导出私钥。
在导出文件格式 页面上,选择个人信息交换 - PKCS #12 (.PFX) 和如果可能,包括证书路径中的所有证书 复选框。点击下一步 。
在安全性 页面上,选中密码 复选框,然后输入安全系数高的密码以保护证书。点击下一步 。在 Microsoft AD 托管服务网域中配置 LDAPS 时,必须提供此密码。
在要导出的文件 页面上,输入要导出的 PFX 文件的目标名称和路径。点击下一步 。
点击完成 。
如需以 PKCS #12 格式将包含私钥的自签名证书导出为
PFX 文件,请使用 Export-PfxCertificate
命令
;如需将自签名证书导出为 PEM 文件,请使用
Export-Certificate
命令。
将颁发机构链分发给客户端计算机
为了使 LDAPS 正常运行,所有客户端计算机都必须信任 LDAPS 证书的颁发者。对于知名的 Public CA,客户端计算机可能已信任颁发机构链。如果链不受信任,请完成以下步骤以导出颁发机构链:
在 Windows 中,在 Microsoft Management Console (MMC) 中找到您的证书。
展开本地计算机证书 ,然后依次前往 个人 > 证书。 双击 LDAPS 证书。
在证书 窗口中,点击认证路径 标签页。
在认证路径 标签页上,选择路径中的根证书。
点击查看证书 。
点击详细信息 标签页,然后点击复制到文件…
在随即显示的证书导出向导 对话框中,选择以 Base-64 编码的 X.509 ,然后点击下一步 。
为证书链选择文件名和位置,然后点击完成 。
如需将证书复制到建立 LDAPS 连接的客户端计算机,请使用证书导入向导 对话框在“本地计算机”存储区中导入证书。或者,您也可以使用 Windows 中的 群组政策将颁发机构的证书链分发给客户端计算机。
如需将自签名证书导入到本地
计算机的受信任根存储区,请使用 Import-Certificate
命令。
在 Microsoft AD 托管服务网域中启用 LDAPS
在 Microsoft AD 托管服务 网域中启用 LDAPS 之前,请执行以下操作:
确保您拥有以下任一 IAM 角色:
- Google Cloud Managed Identities Admin (
roles/managedidentities.admin) - Google Cloud Managed Identities Domain Admin
(
roles/managedidentities.domainAdmin)
如需详细了解 Microsoft AD 托管服务 IAM 角色, 请参阅 访问权限控制。
- Google Cloud Managed Identities Admin (
如需在 Microsoft AD 托管服务网域中启用 LDAPS,请完成以下步骤:
控制台
- 在 Google Cloud 控制台中,前往 Microsoft AD 托管服务
页面。
进入 Microsoft AD 托管服务 - 在网域 页面上,从实例列表中选择一个网域以启用 LDAPS。
- 在网域详细信息 页面的 LDAPS 部分中,点击配置 LDAPS 。
- 在配置 LDAPS 窗格中,输入 PFX 文件的位置以及 您在以 PKCS #12 格式导出证书时使用的密码,然后 点击配置 LDAPS 。
gcloud
运行以下 gcloud CLI 命令:
gcloud active-directory domains update-ldaps-settings DOMAIN_NAME \
--certificate-pfx-file=PFX_FILENAME \
--certificate-password=PASSWORD
替换以下内容:
- DOMAIN_NAME:Microsoft AD 托管服务网域的完整资源
名称。完整资源名称格式:
projects/PROJECT_ID/locations/global/domains/DOMAIN_NAME。 - PFX_FILENAME:PKCS #12 格式的 PFX 文件,用于指定 配置 LDAPS 时使用的证书链。
- PASSWORD:用于加密 PKCS #12 证书的密码。如果您未指定密码,系统会在运行命令时提示您输入密码。
此操作最多可能需要 20 分钟才能完成。如需更新证书,请使用更新后的 PFX 文件重复执行这些步骤。
验证 LDAPS
您可以通过执行 LDAPS 绑定来验证 LDAPS 是否已启用。此过程
使用 LDP.exe,这是将虚拟机加入网域时安装的 RSAT
工具
之一。
在已加入网域的 Google Cloud Windows 虚拟机上,在 PowerShell 中完成以下步骤:
在 PowerShell 中,启动
LDP.exe,然后依次前往 连接 > 连接。在连接 对话框中,完成以下步骤:
- 在服务器 字段中,输入您的网域名称。
- 在端口 字段中,输入
636。 - 选中 SSL 复选框。
- 点击确定 。
如果正确启用了 LDAPS,则连接将会成功。
监控证书
您可以在 Cloud Monitoring 中查看证书链的存留时间 (TTL)。cert_ttl 指标显示链中具有最早过期证书的有效天数。
控制台
如需使用 Metrics Explorer 查看受监控资源的指标,请执行以下操作:
-
在 Google Cloud 控制台中,前往 leaderboard Metrics Explorer 页面:
如果您使用搜索栏查找此页面,请选择子标题为监控的结果。
- 在 Google Cloud 控制台的工具栏中,选择您的 Google Cloud 项目。对于 App Hub 配置,请选择 App Hub 宿主项目或已启用应用的文件夹的管理项目。
- 在指标 元素中,展开选择指标 菜单,在过滤栏中输入
LDAPS Certificate TTL,然后使用子菜单选择一个特定资源类型和指标:- 在活跃资源 菜单中,选择 Microsoft Active Directory 网域 。
- 在活跃指标类别 菜单中,选择 Microsoft_ad 。
- 在活跃指标 菜单中,选择 LDAPS Certificate TTL 。
- 点击应用 。
如需添加用于从查询结果中移除时序的过滤条件,请使用过滤条件元素。
如需组合时序,请使用聚合元素上的菜单。例如,如需根据虚拟机所在的可用区显示虚拟机的 CPU 利用率,请将第一个菜单设置为平均值,并将第二个菜单设置为可用区。
当聚合元素的第一个菜单设置为未聚合时,系统会显示所有时序。聚合元素的默认设置由您选择的指标类型决定。
- 对于配额和每天报告一个样本的其他指标,请执行以下操作:
- 在显示窗格中,将微件类型设置为堆叠条形图。
- 将时间段设置为至少一周。
您还可以点击网域详细信息 页面的 LDAPS 部分中的监控 ,以导航到 Metrics Explorer 。
您还可以 使用 PromQL 代码编辑器查找这些指标。
在指标 标签页上,选择查询编辑器 。
在查询编辑器的文本字段中,输入以下 PromQL 查询,然后选择运行查询。
sum by (fqdn) (
avg_over_time({
"__name__"="managedidentities.googleapis.com/microsoft_ad/domain/ldaps/cert_ttl",
"monitored_resource"="microsoft_ad_domain",
}[${__interval}])
)
停用 LDAPS
如需停用 LDAPS,请完成以下步骤:
控制台
- 在 Google Cloud 控制台中,前往 Microsoft AD 托管服务
页面。
进入 Microsoft AD 托管服务 - 在网域 页面上,从实例列表中选择要停用证书的网域。
- 在网域详细信息 页面的 LDAPS 部分中,点击停用 。
gcloud
运行以下 gcloud CLI 命令:
gcloud active-directory domains update-ldaps-settings DOMAIN_NAME \
--clear-ldaps-certificate
将 DOMAIN_NAME 替换为 Microsoft AD 托管服务 网域的 完整资源
名称。完整资源名称格式:
projects/PROJECT_ID/locations/global/domains/DOMAIN_NAME。
此操作最多可能需要 20 分钟才能完成。如需重新启用 LDAPS,您必须重新上传证书。