你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn

了解 Azure NetApp 文件中的轻量目录访问协议 (LDAP) 基础知识

轻型目录访问协议 (LDAP) 是由名为 Internet 工程任务组 (IETF) 的国际委员会开发的标准目录访问协议。 LDAP 旨在提供通用的、基于网络的目录服务,可以使用它来跨异构平台查找网络对象。

LDAP 模型定义如何与 LDAP 目录存储通信、如何在目录中查找对象、如何描述存储中的对象以及用于访问目录的安全性。 LDAP 允许自定义和扩展存储中描述的对象。 因此,可以使用 LDAP 存储来存储多种类型的信息。 许多初始 LDAP 部署注重使用 LDAP 作为电子邮件和 Web 应用程序等应用程序的目录存储以及存储员工信息。 许多公司正在或已经使用 LDAP 取代网络信息服务 (NIS) 作为网络目录存储。

LDAP 服务器提供用于 NAS 卷的 UNIX 用户和组标识。 在 Azure NetApp 文件中,Active Directory 是当前唯一可用的受支持 LDAP 服务器。 此支持包括 Active Directory 域服务 (AD DS) 和 Microsoft Entra 域服务。

LDAP 请求分为两个主要操作。

  • LDAP 绑定是从 LDAP 客户端登录到 LDAP 服务器。 绑定用于使用只读访问权限向 LDAP 服务器进行身份验证,以执行 LDAP 查找。 Azure NetApp 文件充当 LDAP 客户端。
  • LDAP 查找用于查询目录中的用户和组信息,例如名称、数字 ID、主目录路径、登录 shell 路径、组成员资格等

LDAP 可以存储双重协议 NAS 访问中使用的以下信息:

  • 用户名
  • 组名
  • 数字用户 ID (UID) 和组 ID (GID)
  • 主目录
  • 登录 shell
  • 网络组、DNS 名称和 IP 地址
  • 组成员身份

目前,Azure NetApp 文件仅使用 LDAP 来获取用户和组信息,不获取网络组或主机信息。

LDAP 作为标识源为 UNIX 用户和组提供了各种优势。

  • LDAP 面向未来
    随着越来越多的 NFS 客户端添加对 NFSv4.x 的支持,需要包含可从客户端和存储访问的最新用户和组列表的 NFSv4.x ID 域,以确保在定义访问权限时获得最佳安全性和保证访问成功。 拥有一个为 SMB 和 NFS 用户提供一对一名称映射的标识管理服务器,可以大大减轻存储管理员的工作量,不仅是现在,而且是未来的几年。
  • LDAP 可缩放
    LDAP 服务器可以包含数百万个用户和组对象,并且借助 Microsoft Active Directory,可以使用多台服务器跨多个站点进行复制,以确保性能和弹性缩放。
  • LDAP 非常安全
    LDAP 使存储系统能够安全地连接到 LDAP 服务器来请求用户信息。 LDAP 服务器提供以下绑定级别:
    • 匿名(Microsoft Active Directory 中默认会禁用;Azure NetApp 文件中不受支持)
    • 简单密码(纯文本密码;在 Azure NetApp 文件中不受支持)
    • 简单身份验证和安全层 (SASL) – 加密的绑定方法,包括 TLS、SSL、Kerberos 等。 Azure NetApp 文件支持 LDAP over TLS、LDAP 签名(使用 Kerberos)、LDAP over SSL。
  • LDAP 非常可靠
    NIS、NIS+ 和本地文件提供基本信息,例如 UID、GID、密码、主目录等。 但是,LDAP 除了提供这些属性之外,还提供其他许多属性。 LDAP 使用的附加属性使双重协议管理与 LDAP 和 NIS 的集成度更高。 仅支持将 LDAP 作为使用 Azure NetApp 文件进行标识管理的外部名称服务。
  • Microsoft Active Directory 基于 LDAP
    默认情况下,Microsoft Active Directory 使用 LDAP 后端来存储其用户和组条目。 但是,此 LDAP 数据库不包含 UNIX 样式属性。 通过 UNIX 标识管理(Windows 2003R2 及更高版本)、UNIX 服务(Windows 2003 及更低版本)或第三方 LDAP 工具(例如 Centrify)扩展 LDAP 架构时,会添加这些属性。 由于 Microsoft 使用 LDAP 作为后端,因此 LDAP 成为选择利用 Azure NetApp 文件中的双重协议卷的环境的完美解决方案。

    注意

    Azure NetApp 文件目前仅支持用于 LDAP 服务的本机 Microsoft Active Directory。

Azure NetApp 文件中的 LDAP 基础知识

以下部分讨论与 Azure NetApp 文件相关的 LDAP 基础知识。

  • LDAP 信息存储在 LDAP 服务器中的平面文件中,并通过 LDAP 模式进行组织。 应该以某种方式配置 LDAP 客户端,使其请求和查找与 LDAP 服务器上的架构相协调。

  • LDAP 客户端通过 LDAP 绑定发起查询,这本质上是使用具有 LDAP 架构读取权限的帐户登录到 LDAP 服务器。 客户端上的 LDAP 绑定配置使用 LDAP 服务器定义的安全机制。 有时,它们是纯文本(简单)形式的用户名和密码交换。 在其他情况下,绑定通过简单身份验证和安全层方法 (sasl)(例如 Kerberos 或 LDAP over TLS)进行保护。 Azure NetApp 文件使用 SMB 计算机帐户通过 SASL 身份验证进行绑定,以实现最佳安全性。

  • 客户端可以使用 RFC 2307 中定义的标准 LDAP 搜索请求来查询存储在 LDAP 中的用户和组信息。 此外,RFC 2307bis 等较新机制可实现更简化的用户和组查找。 Azure NetApp 文件使用 RFC 2307bis 的一种形式在 Windows Active Directory 中进行架构查找。

  • LDAP 服务器可以存储用户和组信息以及网络组。 但是,Azure NetApp 文件目前无法在 Windows Active Directory 上的 LDAP 中使用网络组功能。

  • Azure NetApp 文件中的 LDAP 在端口 389 上运行。 目前无法修改此端口以使用自定义端口,例如端口 636 (LDAP over SSL) 或端口 3268(Active Directory 全局目录搜索)。

  • 可以使用 LDAP over TLS(通过端口 389 运行)或 LDAP 签名来实现加密的 LDAP 通信,这两者都可以在 Active Directory 连接上进行配置。

  • Azure NetApp 文件支持不超过 3 秒即可完成的 LDAP 查询。 如果 LDAP 服务器有许多对象,则可能会超出该超时,并且身份验证请求可能会失败。 在这种情况下,请考虑指定 LDAP 搜索范围来筛选查询,以获得更好的性能。

  • Azure NetApp 文件还支持指定首选 LDAP 服务器以帮助加快请求速度。 如果你希望确保使用最靠近 Azure NetApp 文件区域的 LDAP 服务器,请使用此设置。

  • 如果未设置首选 LDAP 服务器,则会在 DNS 中查询 Active Directory 域名来获取 LDAP 服务记录,以填充位于该 SRV 记录中所在区域可用的 LDAP 服务器列表。 可以使用 nslookupdig 命令从客户端手动查询 DNS 中的 LDAP 服务记录。

    例如:

    C:\>nslookup
    Default Server:  localhost
    Address:  ::1
    
    > set type=SRV
    > _ldap._tcp.contoso.com.
    
    Server:  localhost
    Address:  ::1
    
    _ldap._tcp.contoso.com   SRV service ___location:
              priority       = 0
              weight         = 0
              port           = 389
              svr hostname   = oneway.contoso.com
    _ldap._tcp.contoso.com   SRV service ___location:
              priority       = 0
              weight         = 100
              port           = 389
              svr hostname   = ONEWAY.Contoso.com
    _ldap._tcp.contoso.com   SRV service ___location:
              priority       = 0
              weight         = 100
              port           = 389
              svr hostname   = oneway.contoso.com
    _ldap._tcp.contoso.com   SRV service ___location:
              priority       = 0
              weight         = 100
              port           = 389
              svr hostname   = parisi-2019dc.contoso.com
    _ldap._tcp.contoso.com   SRV service ___location:
              priority       = 0
              weight         = 100
              port           = 389
              svr hostname   = contoso.com
    oneway.contoso.com       internet address = x.x.x.x
    ONEWAY.Contoso.com       internet address = x.x.x.x
    oneway.contoso.com       internet address = x.x.x.x
    parisi-2019dc.contoso.com        internet address = y.y.y.y
    contoso.com      internet address = x.x.x.x
    contoso.com      internet address = y.y.y.y
    
  • LDAP 服务器还可用于为用户执行自定义名称映射。 有关详细信息,请参阅了解使用 LDAP 的名称映射

  • LDAP 查询超时

    默认情况下,如果 LDAP 查询无法完成,则这些查询会超时。 如果 LDAP 查询由于超时而失败,则用户和/或组查找会失败,而且对 Azure NetApp 文件卷的访问可能遭到拒绝,具体由卷的权限设置决定。 请参阅创建和管理 Active Directory 连接,以了解 Azure NetApp 文件LDAP 查询超时设置。

后续步骤