启用 LDAPS

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

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

请求证书

您可以从 Public Certificate Authority 机构 (CA)、企业 CA、Google Cloud Certificate Authority Service 请求证书,或使用自签名证书。如果使用自签名证书,请按照以下部分中与 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,然后依次选择 All Tasks > Export

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

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

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

    7. 安全页面上,选中密码复选框,然后输入一个安全系数高的密码以保护证书。点击下一步。在 Managed 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 encoded X.509,然后点击 Next

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

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

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

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

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

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

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

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

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

    控制台

    1. 在 Google Cloud 控制台中,前往 Managed Microsoft AD 页面。
      转到 Managed Microsoft AD
    2. 网域页面上,从实例列表中选择一个网域以启用 LDAPS。
    3. 网域详细信息页面的 LDAPS 部分,点击配置 LDAPS
    4. Configure LDAPS(配置 LDAPS)窗格中,输入 PFX 文件的位置以及用于以 PKCS #12 格式导出证书的密码,然后点击 Configure LDAPS

    gcloud

    运行以下 gcloud CLI 命令:

    gcloud active-directory domains update-ldaps-settings DOMAIN_NAME \
        --certificate-pfx-file=PFX_FILENAME \
        --certificate-password=PASSWORD
    

    请替换以下内容:

    • DOMAIN_NAME:您的 Managed 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. Server(服务器)字段中,输入您的域名。
      2. 端口字段中,输入 636
      3. 选中 SSL 复选框。
      4. 点击 OK(确定)。

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

    监控证书

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

    控制台

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

    1. 在 Google Cloud 控制台中,转到 Metrics Explorer 页面:

      进入 Metrics Explorer

      如果您使用搜索栏查找此页面,请选择子标题为监控的结果。

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

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

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

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

    您还可以点击网域详情页面的 LDAPS 部分中的监控,以转到 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 控制台中,前往 Managed Microsoft AD 页面。
      转到 Managed Microsoft AD
    2. 网域页面上,从要停用证书的实例列表中选择网域。
    3. 网域详情页面的 LDAPS 部分,点击停用

    gcloud

    运行以下 gcloud CLI 命令:

    gcloud active-directory domains update-ldaps-settings DOMAIN_NAME \
        --clear-ldaps-certificate
    

    DOMAIN_NAME 替换为您的 Managed Microsoft AD 网域的完整资源名称。完整资源名称格式:projects/PROJECT_ID/locations/global/domains/DOMAIN_NAME

    此操作最多可能需要 20 分钟才能完成。如需重新启用 LDAPS,您必须重新上传证书。

    后续步骤