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

为 NFS 卷启用 Active Directory 域服务 (AD DS) LDAP 身份验证

创建 NFS 卷时,可以为卷启用具有扩展组功能的 LDAP(LDAP 选项)。 此功能使 Active Directory LDAP 用户和扩展组(最多 1024 个组)可以访问卷中的文件和目录。 可将“具有扩展组的 LDAP”功能用于 NFSv4.1 和 NFSv3 卷。

注意

默认情况下,在 Active Directory LDAP 服务器中,该 MaxPageSize 属性设置为默认值 1,000。 此设置意味着在 LDAP 查询中截断超过 1,000 的组。 若要为扩展组启用 1,024 值的完全支持, MaxPageSiz必须修改 e 属性以反映 1,024 值。 有关如何更改该值的信息,请参阅 如何使用 Ntdsutil.exe 在 Active Directory 中查看和设置 LDAP 策略。

Azure NetApp 文件支持从 LDAP 名称服务而不是从 RPC 标头提取扩展组。 Azure NetApp 文件通过查询 NFS 协议操作的属性(如用户名、数字 ID、组和组成员身份)与 LDAP 进行交互。

确定将 LDAP 用于查找名称和提取扩展组等操作时,会执行以下过程:

  1. Azure NetApp 文档使用 LDAP 客户端配置来尝试与 Azure NetApp 文档 AD 配置中指定的 AD DS 或 Microsoft Entra 域服务 LDAP 服务器建立连接。
  2. 如果通过定义的 AD DS 或 Microsoft Entra 域服务 LDAP 服务端口建立 TCP 连接成功,则 Azure NetApp 文档 LDAP 客户端会尝试使用 LDAP 客户端配置中定义的凭据“绑定”(登录)到 AD DS 或 Microsoft Entra 域服务 LDAP 服务器(域控制器)。
  3. 如果绑定成功,则 Azure NetApp 文档 LDAP 客户端使用 RFC 2307bis LDAP 架构对 AD DS 或 Microsoft Entra 域服务 LDAP 服务器(域控制器)进行 LDAP 搜索查询。 以下信息将传递到查询中的服务器:
    • 基础/用户 DN(用于缩小搜索范围)
    • 搜索范围类型(子树)
    • 对象类(userposixAccount 用于用户,posixGroup 用于组)
    • UID 或用户名
    • 请求的特性(uiduidNumbergidNumber 用于用户,gidNumber 用于组)
  4. 如果找不到用户或组,则请求会失败,访问会被拒绝。
  5. 如果请求成功,则缓存用户和组特性供将来使用。 此操作可提高与缓存的用户或组特性关联的后续 LDAP 查询的性能。 它还减少了 AD DS 或 Microsoft Entra 域服务 LDAP 服务器上的负载。

注意事项

  • 只能在创建卷期间启用具有扩展组功能的 LDAP。 无法在现有卷上追溯启用此功能。

  • 仅Active Directory 域服务(AD DS)或 Microsoft Entra 域服务支持具有扩展组的 LDAP。 不支持 OpenLDAP 或其他第三方 LDAP 目录服务。

  • 如果使用 Microsoft Entra 域服务,则不得启用基于 TLS 的 LDAP。

  • 创建卷后,无法修改 LDAP 选项设置(启用或禁用)。

  • 下表描述了 LDAP 缓存的生存时间 (TTL) 设置。 尝试通过客户端访问文件或目录之前,需要等待直到缓存刷新为止。 否则,客户端上会显示拒绝访问或拒绝权限的消息。

    缓存 默认超时
    组成员身份列表 24 小时 TTL
    Unix 组 24 小时 TTL,1 分钟负 TTL
    Unix 用户 24 小时 TTL,1 分钟负 TTL

    缓存具有特定的超时期限,称为生存时间。 超时期限过后,条目将过期,以便陈旧条目不会留存。 负 TTL 值是指已失败的查找驻留下来,以帮助避免由于 LDAP 查询的对象可能不存在而出现性能问题

  • Active Directory 连接中的“允许使用 LDAP 的本地 NFS 用户”选项旨在提供对本地用户的偶尔和临时访问。 启用此选项后,LDAP 服务器中的用户身份验证和查找将停止工作,Azure NetApp 文件支持的组成员身份数将限制为 16。 因此,应在 Active Directory 连接上禁用此选项,除非本地用户需要访问启用 LDAP 的卷。 在这种情况下,如果卷不再需要本地用户访问权限,则应禁用此选项。 有关管理本地用户访问权限的信息,请参阅允许使用 LDAP 的本地 NFS 用户访问双重协议卷

步骤

  1. LDAP 卷需要 LDAP 服务器设置的 Active Directory 配置。 按照 Active Directory 连接的要求创建 Active Directory 连接中的说明在 Azure 门户上配置 Active Directory 连接。

    注意

    请确保你已配置 Active Directory 连接设置。 将在 Active Directory 连接设置中指定的组织单位(OU)中创建计算机帐户。 LDAP 客户端使用这些设置来向 Active Directory 进行身份验证。

  2. 确保 Active Directory LDAP 服务器在 Active Directory 上已启动并正在运行。

  3. LDAP NFS 用户在 LDAP 服务器上需要具有某些 POSIX 属性。 为 LDAP 用户和 LDAP 组设置属性,如下所示:

    • LDAP 用户必需的属性:
      uid: Alice,
      uidNumber: 139,
      gidNumber: 555,
      objectClass: user, posixAccount
    • LDAP 组必需的属性:
      objectClass: group, posixGroup,
      gidNumber: 555

    objectClass 指定的值是单独的条目。 例如,在多值字符串编辑器中,objectClass 将为 LDAP 用户指定如下单独的值(userposixAccount):

    注意

    如果未正确设置 POSIX 属性,则用户和组查找操作可能会失败,并且访问 NFS 卷时,用户可能会被挤压 nobody

    Screenshot of Multi-valued String Editor that shows multiple values specified for Object Class.

    可使用“Active Directory 用户和计算机”MMC 管理单元来管理 POSIX 属性。 以下示例展示了 Active Directory 属性编辑器。 有关详细信息,请参阅访问 Active Directory 属性编辑器

    Active Directory Attribute Editor

  4. 如果要配置集成 LDAP 的 NFSv4.1 Linux 客户端,请查看为 Azure NetApp 文件配置 NFS 客户端

  5. 如果启用 LDAP 的卷使用 NFSv4.1,请按照配置 NFSv4.1 ID 域中的说明来配置文件/etc/idmapd.conf

    需要将 /etc/idmapd.conf 中的 Domain 设为在 NetApp 帐户的 Active Directory 连接中配置的域。 例如,如果 contoso.com 是 NetApp 帐户中配置的域,则设置 Domain = contoso.com

    然后,需要重启主机上的 rpcbind 服务或重启主机。

  6. 按照为 Azure NetApp 文件创建 NFS 卷中的步骤创建 NFS 卷。 在创建卷的过程中,将“协议”选项卡下的“LDAP”选项设置为“启用”。

    Screenshot that shows Create a Volume page with LDAP option.

  7. 可选 - 可以允许 Windows LDAP 服务器上不存在的本地 NFS 客户端用户访问已启用具有扩展组的 LDAP 的 NFS 卷。 为此,请按如下所示启用“允许使用 LDAP 的本地 NFS 用户”选项:

    1. 选择“Active Directory 连接”。 在现有 Active Directory 连接上,选择上下文菜单(三个点 ),然后选择“编辑”
    2. 在出现的“编辑 Active Directory 设置”窗口中,选择“允许使用 LDAP 的本地 NFS 用户”选项。

    Screenshot that shows the Allow local NFS users with LDAP option

  8. 可选 - 如果拓扑较大并且将 Unix 安全样式用于具有扩展组的双重协议卷或 LDAP,你可以使用“LDAP 搜索范围”选项来避免 Linux 客户端上的 Azure NetApp 文件出现“访问被拒绝”错误

    “LDAP 搜索范围”选项通过“Active Directory 连接”页面配置

    要从用于较大拓扑的 LDAP 服务器解析用户和组,请在“Active Directory 连接”页面上设置“用户 DN”、“组 DN”和“组成员身份筛选器”选项的值,如下所示

    • OU=subdirectory,OU=directory,DC=domain,DC=com 格式指定嵌套的“用户 DN”和“组 DN”
    • (gidNumber=*) 格式指定“组成员身份筛选器”
    • 如果用户是超过 256 个组的成员,则只会列出 256 个组。
    • 如果遇到错误,请参阅 LDAP 卷的错误。

    Screenshot that shows options related to LDAP Search Scope

后续步骤