Google Cloud NetApp Volumes Active Directory 集成

本页面介绍了 Google Cloud NetApp Volumes 如何与 Active Directory 集成,以便为您的服务器消息块 (SMB) 和网络文件系统 (NFS) 卷提供身份和身份验证。了解此集成有助于您配置对文件共享的安全访问。

集成简介

NetApp Volumes 使用 Active Directory 来管理 SMB 和 NFS 卷的用户身份和身份验证。Active Directory 为文件共享提供以下目录服务:

  • LDAP:查找用户、群组和计算机账号

  • DNS:解析主机名并查找网域控制器

  • Kerberos:对客户端和服务进行身份验证

Active Directory 政策是一种配置模板,用于定义 NetApp Volumes 如何连接到您的网域。您可以将政策附加到存储池。随后,系统会根据存储池服务等级和您创建的卷执行网域加入和计算机账号创建操作。如需了解详情,请参阅 Active Directory 政策如何加入网域

Active Directory 政策特定于每个区域。您最多可以为每个区域配置 5 项政策。如需了解详情,请参阅 在 上运行 Active Directory 的最佳实践 Google Cloud

Active Directory 的使用场景

NetApp Volumes 在以下几种使用场景中使用 Active Directory:

  • 提供 SMB 网域服务和身份验证:Active Directory 充当 SMB 的中央网域服务,NetApp Volumes 使用该服务 对用户和群组进行身份验证和身份查找。 NetApp Volumes 以成员身份加入您的网域,但不以工作组模式支持 SMB。

  • 为 NFSv3 提供扩展群组支持:对于具有扩展群组 支持的 NFSv3,Active Directory 提供查找用户、群组或机器账号等对象所需的 LDAP 服务器。

    • 具体而言,用户 ID 和群组 ID 查找需要符合 RFC2307bis 的 LDAP 服务器。

    • 在创建存储池期间,系统会在存储池上启用 LDAP 支持。

    • 扩展群组支持会忽略 NFS 客户端在 NFS 调用中发送的所有群组 ID。相反,它会获取请求的用户 ID,并从 LDAP 服务器中查找给定用户 ID 的所有群组 ID,以进行文件权限检查。

    如需了解详情,请参阅 管理 LDAP RFC2307bis POSIX 属性

  • 将安全正文映射到 NFSv4.x 的用户 ID 和群组 ID: NetApp Volumes 使用 Active Directory 将安全正文 映射到 NFSv4.x 的用户 ID 和群组 ID。

    • NFSv4.x 使用基于正文的身份验证模型,其中安全 正文以 user@dns_domain 格式标识用户(如 RFC 7530 安全注意事项中所述),而不是用户 ID 和群组 ID。如需在使用 NFSv4.x 协议访问卷时将安全正文映射到用户 ID 和群组 ID,NetApp Volumes 需要符合 RFC2307bis 的 LDAP 服务器。NetApp Volumes 仅支持 Active Directory LDAP 服务器。在创建存储池期间,系统会在存储池上启用 LDAP 支持。

    • 如需使用安全正文,必须满足以下要求:

    • dns_domain 是 Active Directory 网域名称,user 是 Active Directory 用户名。设置 LDAP POSIX 属性时,请使用这些值。

    • 为 NFSv4.1 使用数字 ID:如需使用 NFSv4.1 而不进行 ID 映射,并且 仅使用类似于 NFSv3 的用户 ID 和群组 ID,请使用数字 ID 忽略 安全正文。NetApp Volumes 支持数字 ID。如果未配置 ID 映射,NFS 客户端默认使用数字 ID。

  • 为 NFSv4.x 提供 Kerberos 身份验证:如果您将 Kerberos 与 NFSv4.x 搭配使用,则必须使用 Active Directory 作为 LDAP 服务器进行安全 正文查找。Kerberos 正文 用作安全标识符。Kerberos 密钥分发中心使用 Active Directory。

    如需将 Kerberos 与 NFSv4.x 搭配使用,您还必须完成以下步骤:

    • 将包含 Kerberos 设置的 Active Directory 政策附加到池。

    • 在创建存储池时,在该存储池上启用 LDAP 支持。

Active Directory 政策如何加入网域

本部分介绍了 NetApp Volumes 何时加入您的 Active Directory 网域、如何创建计算机账号,以及服务在加入网域后如何进行身份验证。如需了解概览和常见使用场景, 请参阅 Google Cloud NetApp Volumes Active Directory 集成

Active Directory 政策是一种配置模板。创建政策不会加入网域或创建计算机账号。只有在您将政策附加到存储池并且服务加入该池的网域后,政策才会生效。

将 Active Directory 政策附加到存储池

您可以在以下情况下附加 Active Directory 政策:

  1. 创建存储池时。

  2. 使用尚未具有 Active Directory 政策的现有存储池时。

确定网域加入的时间

网域加入的时间取决于存储池服务等级:

  • Flex Unified、标准、优质和尊享服务等级: 当您创建第一个需要 Active Directory 的卷时,NetApp Volumes 会加入网域并创建计算机账号。这包括 SMB 卷、具有扩展群组的 NFSv3 以及具有安全正文或 Kerberos 的 NFSv4.x。如需查看完整列表,请参阅 Active Directory 的使用场景

  • Flex File 服务等级:当您将 Active Directory 政策附加到池时(包括在创建池期间),NetApp Volumes 会加入网域。

计算机账号

NetApp Volumes 会创建 Active Directory 计算机账号,以使文件服务器能够对客户端进行身份验证并与网域控制器通信。

  • Flex Unified 和 Flex File 池:每个存储 池创建一个计算机账号。

  • 标准、优质和尊享池:根据需要创建多个计算机账号。例如,它可能会为同一池上的具有 Kerberos 的 NFSv4.1 和 SMB 创建单独的账号。

NetApp Volumes 创建计算机账号后,会使用该账号与 Active Directory 通信。除非需要创建新的计算机账号,否则它不会继续使用 Active Directory 政策中的网域加入用户凭据。

计算机账号清理取决于网域加入用户是否可以删除计算机账号:

  • 已授予删除权限:当您删除使用服务创建的计算机账号的最后一个卷时,NetApp Volumes 会自动 删除这些账号 。

  • 未授予删除权限:删除卷后,计算机账号仍保留在 Active Directory 中。网域管理员必须手动删除未使用的账号。

如需详细了解如何委派创建和删除 计算机账号的权限,请参阅创建 Active Directory 机器账号所需的权限

Kerberos 加密类型

NetApp Volumes 会在其 Active Directory 计算机账号上公布 Kerberos 加密类型 (enctype)。只有当客户端、网域控制器和计算机账号至少支持一种通用加密类型时,Kerberos 身份验证才会成功。

默认情况下,NetApp Volumes 会公布以下加密类型:

  • DES

  • RC4-HMAC

当您在 Active Directory 政策中选择 Enable AES Encryption for Active Directory authentication 时,NetApp Volumes 还会公布以下加密类型:

  • AES-128

  • AES-256

在 Kerberos 身份验证期间,密钥分发中心 (KDC) 会选择客户端、网域控制器和 NetApp Volumes 计算机账号支持的最强 enctype。如需在客户端计算机上要求使用特定的 enctype,请使用 Active Directory 组策略。如需了解详情,请参阅 配置允许用于 Kerberos 的加密类型

如需详细了解如何验证客户端使用的 enctype、检查 计算机账号属性或排查与弱密码或不匹配的密码相关的 身份验证失败问题,请参阅排查 Active Directory 的 Kerberos 加密类型问题

测试 Active Directory 政策连接

“测试 Active Directory 政策连接”功能通过在您的网域中创建临时计算机账号来验证网域加入。

  • 已授予删除权限:NetApp Volumes 会在测试后立即删除 临时账号。

  • 未授予删除权限:临时账号仍保留在 Active Directory 中。网域管理员必须手动删除该账号。如需了解测试 前提条件和步骤,请参阅测试 Active Directory 政策连接

创建 Active Directory 机器账号所需的权限

如需使用 Active Directory,NetApp Volumes 必须将一个或多个虚拟文件服务器作为计算机账号加入您的网域。如需加入网域,您必须提供有权将计算机加入您的网域的网域用户的凭据。默认情况下,只有 Domain Admins 群组成员可以 将计算机加入网域,但 Active Directory 能够 将所需的权限委派 给完整网域或组织部门 (OU) 级别的各个用户或群组。

对于 NetApp Volumes,建议创建一个专用的网域服务帐号。仅委派将新计算机加入特定 OU 所需的权限。创建具有 Domain UserDomain Guest 群组成员身份的用户后,请按照以下说明委派所需的权限。

  1. 以 Active Directory 网域的网域管理员身份登录系统。

  2. 打开 Active Directory Users and Computers MMC 管理单元。

  3. 从菜单栏中,选择 View ,并确保已启用 Advanced Features

    如果已启用 Advanced Features ,则会显示对勾标记。

  4. 在任务窗格中,展开网域节点。

  5. 找到要修改的 OU,右键点击,然后从上下文菜单中选择 Properties

  6. OU properties 窗口中,选择 Security 标签页。

  7. Security 下,点击 Advanced ,然后点击 Add

  8. Permission Entry 对话框中,完成以下步骤:

    1. 点击 Select a principal

    2. 输入服务帐号或群组的名称,然后点击 OK

    3. 对于 Applies to: ,选择 This object and all descendant objects

    4. 确保选中以下权限:

      • Modify permissions

      • Create computer objects

      • Delete computer objects

  9. 选中 Apply 复选框,然后点击 OK

  10. 关闭 Active Directory Users and Computers MMC 管理单元。

委派服务帐号后,您可以提供用户名和密码作为 Active Directory 政策凭据。

为了提高安全性,在机器账号对象查询和创建期间,传递给 Active Directory 网域的用户名和密码使用 Kerberos 加密。

Active Directory 网域控制器

如需将 NetApp Volumes 连接到您的网域,该服务会使用基于 DNS 的发现来识别要使用的可用网域控制器的列表。

该服务会运行以下步骤来查找要使用的网域控制器:

  1. Active Directory 站点发现:NetApp Volumes 使用 LDAP ping 向 Active Directory 政策中指定的 DNS 服务器 IP 发送 ping,以 获取 Active Directory 站点子网信息。它会返回 CIDR 列表以及分配给这些 CIDR 的 Active Directory 站点。

    Get-ADReplicationSubnet -Filter * | Select-Object Name,Site

  2. 定义站点名称:如果卷的 IP 地址与任何 已定义的子网匹配,则使用关联的站点名称。较小的子网匹配优先于较大的子网匹配。如果卷的 IP 地址 未知,请手动创建临时卷 ,使用 NFS 协议类型确定使用的 /28 CIDR。

    如果 Active Directory 中未定义任何站点名称,则使用 Active Directory 政策中配置的站点名称。如果未配置任何站点名称,则标准、优质和尊享服务等级会使用 Default-First-Site-Name 站点。如果 Flex 服务等级尝试使用 Default-First-Site-Name 站点,则会失败,并且 Flex 服务等级会改为使用完整的网域控制器发现。请注意,Flex 服务等级存储池会忽略对 Active Directory 站点参数的更改。

  3. 网域控制器发现:获取所有必要信息后, 该服务会使用以下 DNS 查询来识别潜在的网域控制器:

    nslookup -type=srv _ldap._tcp.<site_name>._sites.dc._msdcs.<domain-name> <dns-server>

    如需进行完整网域发现,该服务会使用以下 DNS 查询:

    nslookup -type=srv _ldap._tcp.dc._msdcs.<domain-name> <dns-server>

  4. 网域控制器列表生成:系统会生成网域控制器列表 。NetApp Volumes 会不断监控所有网域控制器的可用性。在可用的网域控制器中,它会选择一个用于网域加入和查找。如果所选的网域控制器消失,系统会自动使用 Available 列表中的另一个网域控制器。请注意,您选择的网域控制器不一定是指定的 DNS 服务器。

您需要提供至少一个可供该服务使用的网域控制器。我们建议您提供多个网域控制器,以提高网域控制器的可用性。确保 NetApp Volumes 和 网域控制器之间存在路由网络路径,并且网域控制器上的 防火墙规则 允许 NetApp Volumes 连接。

如需了解详情,请参阅 Active Directory 设计注意事项和最佳实践

Active Directory 网域控制器拓扑

成功连接到 Active Directory 网域控制器后,您可以使用以下文件共享协议:

  • SMB

  • 具有扩展群组的 NFSv3

  • 具有安全正文和 Kerberos 的 NFSv4

以下场景介绍了可能的拓扑。这些场景重点介绍了 NetApp Volumes 使用的网域控制器。仅在需要时描述同一网域的其他网域控制器。我们建议您至少部署两个网域控制器,以实现冗余和可用性。

拓扑 说明
一个区域中的 Active Directory 网域控制器和卷 此场景是最简单的部署策略,其中网域控制器与卷位于同一区域。
不同区域中的 Active Directory 网域控制器和卷 您可以使用与卷位于不同区域的网域控制器。此配置可能会对身份验证和文件访问性能产生负面影响。
使用 AD 站点的多个区域中的 Active Directory 网域控制器 如果您在多个区域中使用卷,我们建议您在每个区域中至少放置一个网域控制器。虽然该服务会自动选择网域控制器,但我们建议您使用 Active Directory 站点管理网域控制器选择。
本地网络中的 Active Directory 网域控制器 您可以通过 VPN 使用本地网域控制器,但它可能会对最终用户身份验证和文件访问性能产生负面影响。请勿在网络路径中添加额外的 Virtual Private Cloud 对等互连跃点。VPC 对等互连受传递性路由限制。流量不会路由到 NetApp Volumes 已使用的 VPC 对等互连跃点之外。
不同 VPC 网络中的 Active Directory 网域控制器 您无法将网域控制器放置在不同的 VPC 中,因为 Google Cloud VPC 对等互连不允许传递性路由。或者,您可以使用 VPN 连接 VPC,将 NetApp Volumes 附加到托管 Active Directory 网域控制器的共享 VPC 网络;或连接其他网络。如果您将 NetApp Volumes 附加到共享 VPC 网络,则此配置类似于上述某个场景。

后续步骤