启用 LDAPS

本页面介绍如何为 Managed Service for Microsoft Active Directory (Managed Microsoft AD) 启用基于 SSL/TLS (LDAPS) 的 LDAP,以确保 LDAP 流量的机密性和安全性。默认情况下,对于简单 LDAP 绑定,Managed Microsoft AD 与客户端应用之间的通信不会加密。

如要启用 LDAPS,您必须拥有证书。本页面还介绍了所需证书的规范以及如何验证和监控该证书。

请求证书

您可以向 Public Certificate Authority 机构 (CA)、企业 CA、Google Cloud 证书授权机构服务申请证书,也可以使用自签名证书。如果您使用的是自签名证书,请按照以下部分中链接到 PowerShell 命令的 Microsoft 文档进行操作。

您可以在 Windows、OpenSSL 或 MakeCert 上使用 New-SelfSignedCertificate 命令创建自签名证书。

证书要求

您的证书必须满足以下要求:

  • 下表概述了创建自签名证书的要求,并列出了 New-SelfSignedCertificate 命令中使用的相关参数。 请注意,参数或字段名称可能会因创建证书的方式而异。
参数 说明
Subject(主题名称) 此值必须是 Managed Microsoft AD 网域的带通配符前缀的名称,可确保服务在升级或恢复过程中仍然可用。这是因为网域控制器使用在升级或恢复过程中更改的随机名称。例如,如果域名为 ad.mycompany.com,则主题名称必须为 CN=*.ad.mycompany.com
DnsName(DNS 名称或主题备用名称) 它只能包含以下内容:
  • 您的 Managed Microsoft AD 网域的通配符名称
  • 代管式 Microsoft AD 域名
  • 例如 "CN=*.ad.mycompany.com","CN=.ad.mycompany.com"
    KeySpec 该参数必须设置为 1,表示它可以用于数字签名和密钥交换。
    KeyLength 密钥大小下限取决于加密算法。
  • RSA:至少为 2048 位
  • ECDSA::至少为 256 位
  • ED25519:512 位(固定长度)
  • KeyUsage 它必须包含“数字签名”和“密钥加密”。
    TextExtensionEnhancedKeyUsageExtension 它必须具有 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 文件),请完成以下步骤:

    1. 在 Windows 中,在 Microsoft 管理控制台 (MMC) 中转到您的证书。

    2. 展开本地计算机证书,然后依次转到个人 > 证书

    3. 右键点击您创建的证书以启用 LDAPS,然后依次选择所有任务 > 导出

    4. 在显示的证书导出向导对话框中,点击下一步

    5. 导出私钥页面上,选择以导出私钥。

    6. 导出文件格式页面上,选中个人信息交换 - PKCS #12 (.PFX)尽可能将所有证书包含在认证路径中复选框。点击下一步

    7. 安全页面上,选中密码复选框,然后输入安全系数高的密码以保护证书。点击下一步。在代管式 Microsoft AD 网域上配置 LDAPS 时,必须使用此密码。

    8. 要导出的文件页面上,输入要导出的 PFX 文件的目的地名称和路径。点击下一步

    9. 点击完成

    如需将包含私钥的 PKCS #12 格式的自签名证书导出为 PFX 文件,请使用 Export-PfxCertificate 命令,并将自签名证书导出为 PEM 文件,请使用 Export-Certificate 命令

    将颁发者链分发到客户端计算机

    为了使 LDAPS 正常运行,所有客户端计算机都必须信任 LDAPS 证书的颁发者。对于知名 Public CA,客户端计算机可能已信任颁发机构链。如果证书链不可信,请完成以下步骤以导出颁发者链:

    1. 在 Windows 中,在 Microsoft 管理控制台 (MMC) 中转到您的证书。

    2. 展开本地计算机证书,然后依次转到个人 > 证书。 双击 LDAPS 证书。

    3. 证书窗口中,点击认证路径标签页。

    4. 认证路径标签页上,选择路径中的根证书。

    5. 点击查看证书

    6. 点击详细信息标签页,然后点击复制到文件...

    7. 在显示的证书导出向导对话框中,选择 Base-64 编码的 X.509,然后点击下一步

    8. 选择证书链的文件名和位置,然后点击 Finish

    9. 如需将证书复制到建立 LDAPS 连接的客户端计算机,请使用证书导入向导对话框将证书导入“本地机器”存储区。或者,您可以在 Windows 中使用组策略将颁发机构的证书链分发到客户端计算机

    如需将自签名证书导入本地机器的可信根存储区,请使用 Import-Certificate 命令

    在代管式 Microsoft AD 网域上启用 LDAPS

    在代管式 Microsoft AD 网域上启用 LDAPS 之前,请执行以下操作:

    1. 确保您拥有以下 IAM 角色之一:

      • Google Cloud Managed Identities 管理员 (roles/managedidentities.admin)
      • Google Cloud Managed Identities 网域管理员 (roles/managedidentities.domainAdmin)

      如需详细了解代管式 Microsoft AD IAM 角色,请参阅访问权限控制

    如需在 Managed Microsoft AD 网域上启用 LDAPS,请完成以下步骤:

    控制台

    1. 在 Google Cloud 控制台中,前往代管式 Microsoft AD 页面。
      转到 Managed Microsoft AD
    2. 网域页面上,从实例列表中选择一个网域以启用 LDAPS。
    3. 网域详情页面的 LDAPS 部分中,点击配置 LDAPS
    4. Configure LDAPS(配置 LDAPS)窗格中,输入用于以 PKCS #12 格式导出证书的 PFX 文件的位置和密码,然后点击 Configure LDAPS(配置 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 中完成以下步骤:

    1. 在 PowerShell 中,启动 LDP.exe 并前往连接 > 连接

    2. 连接对话框中,完成以下步骤:

      1. 服务器字段中,输入您的域名。
      2. 端口字段中,输入 636
      3. 选中 SSL 复选框。
      4. 点击 OK(确定)。

      如果正确启用了 LDAPS,则连接将会成功。

    监控证书

    您可以在 Cloud Monitoring 中查看证书链的存留时间 (TTL)。cert_ttl 指标显示证书中具有最早过期证书的有效天数。

    控制台

    如需使用 Metrics Explorer 查看受监控资源的指标,请执行以下操作:

    1. 在 Google Cloud 控制台的导航面板中,选择 Monitoring,然后选择  Metrics Explorer

      进入 Metrics Explorer

    2. 指标元素中,展开选择指标菜单,在过滤栏中输入 LDAPS Certificate TTL,然后使用子菜单选择一个特定资源类型和指标:
      1. Active resources(活跃资源)菜单中,选择 Microsoft Active Directory 网域
      2. 活跃指标类别菜单中,选择 Microsoft_ad
      3. 活跃指标菜单中,选择 LDAPS Certificate TTL(LDAPS 证书 TTL)。
      4. 点击应用
    3. 如需从显示结果中移除时序,请使用过滤条件元素

    4. 如需组合时序,请使用聚合元素上的菜单。例如,如需根据虚拟机所在的可用区显示虚拟机的 CPU 利用率,请将第一个菜单设置为平均值,并将第二个菜单设置为可用区

      聚合元素的第一个菜单设置为未聚合时,系统会显示所有时序。聚合元素的默认设置由您选择的指标类型决定。

    5. 对于配额和每天报告一个样本的其他指标,请执行以下操作:
      1. 显示窗格中,将微件类型设置为堆叠条形图
      2. 将时间段设置为至少一周。

    您还可以在网域详细信息页面的 LDAPS 部分中点击 Monitoring,以导航到 Metrics Explorer

    您还可以使用查询编辑器查找这些指标。

    1. 指标标签页上,选择查询编辑器

    2. 查询编辑器的文本字段中,输入以下 MQL 查询,然后选择运行查询

    fetch microsoft_ad_domain
    | metric 'managedidentities.googleapis.com/microsoft_ad/domain/ldaps/cert_ttl'
    | group_by 1m, [value_cert_ttl_mean: mean(value.cert_ttl)]
    | every 1m
    | group_by [resource.fqdn], [value_cert_ttl_mean_aggregate: aggregate(value_cert_ttl_mean)]
    

    停用 LDAPS

    要停用 LDAPS,请完成以下步骤:

    控制台

    1. 在 Google Cloud 控制台中,前往代管式 Microsoft AD 页面。
      转到代管式 Microsoft AD
    2. 网域页面上,从要为其停用证书的实例列表中选择网域。
    3. 网域详情页面的 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,您必须重新上传证书。

    后续步骤