Google Cloud NetApp Volumes Active Directory 集成

本页介绍了 Google Cloud NetApp Volumes Active Directory 集成。

集成简介

Active Directory 政策会告知 NetApp Volumes 如何连接到 Active Directory。存储池配置使用 Active Directory 政策来定义您在其中创建的卷的 Active Directory 设置。

Active Directory 政策因区域而异,您最多可以在每个区域配置 5 项政策。

使用安全正文的文件共享协议(例如 SMB [CIFS]、带有扩展群组的 NFSv3 和 NFSv4)依赖于外部目录服务来提供用户身份信息。NetApp Volumes 依赖于 Active Directory 来提供目录服务。Active Directory 提供以下服务:

  • LDAP 服务器:用于查找用户、群组或计算机等对象

  • DNS 服务器:解析主机名并发现 Active Directory 网域控制器

  • Kerberos 服务器:执行身份验证

如需了解详情,请参阅在 Google Cloud上运行 Active Directory 的最佳实践

Active Directory 的使用场景

NetApp Volumes 在以下几种使用情形中使用 Active Directory:

  • SMB 域服务:Active Directory 是 SMB 的中央域服务。它使用 SMB 对用户和群组进行身份验证和身份查找。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 的映射:对于 NFSv4.x,NetApp Volumes 使用 Active Directory 将安全正文映射到用户 ID 和群组 ID。NFSv4 使用基于正文的身份验证模型。在基于主账号的身份验证中,安全主账号会使用 user@dns_domain 的形式(请参阅 RFC 7530 安全注意事项)来标识用户,而不是使用用户 ID 和群组 ID。若要在您使用 NFSv4.x 协议访问卷时将安全正文映射到用户 ID 和群组 ID,NetApp Volumes 需要符合 RFC2307bis 标准的 LDAP 服务器。NetApp Volumes 仅支持 Active Directory LDAP 服务器。在创建存储池期间,系统会为存储池启用 LDAP 支持。

    如需使用安全正文,NFS 客户端和服务器必须连接到同一 LDAP 源,并且您必须在客户端配置 idmapd.conf 文件。如需详细了解如何配置 idmapd.conf 文件,请参阅 Ubuntu 文档,了解如何为 libnfsidmap 配置 idmapd.conf 文件

    dns_domain 使用 Active Directory 网域名称,user 则标识为 Active Directory 用户的名称。设置 LDAP POSIX 属性时,请使用这些值。

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

  • NFSv4.x 与 Kerberos:如果您使用 Kerberos,则必须将 Active Directory 用作 LDAP 服务器来进行安全正文查询。Kerberos 主账号用作安全标识符。Kerberos 密钥分发中心使用 Active Directory。为此,您必须将包含 Kerberos 设置的 Active Directory 政策附加到存储池,并在创建存储池时为其启用 LDAP 支持。

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

您可以使用具有将计算机加入网域权限的账号,将 NetApp Volumes 机器对象添加到 Windows Active Directory。此组通常是 Domain Admins 组,但 Active Directory 能够在整个网域或组织部门一级委托所需权限给个别用户或群组。

您可以通过 Active Directory 中的“委托控制”向导授予这些权限,方法是创建一个自定义任务,让您能够使用以下访问权限创建和删除计算机对象:

  • 读写

  • 创建和删除所有子对象

  • 读取和写入所有属性

  • 更改和重置密码(“读取和写入网域密码和锁定政策”)

为用户授权会向 Active Directory 中的组织部门添加定义的用户的安全访问权限控制列表,并最大限度地减少对 Active Directory 环境的访问权限。委托用户后,您可以将用户名和密码作为 Active Directory 政策凭据提供。

为增强安全性,在查询和创建计算机账号对象期间,传递给 Active Directory 域的用户名和密码会使用 Kerberos 加密。

Active Directory 网域控制器

为了将 NetApp Volumes 连接到您的网域,该服务会使用基于 DNS 的发现功能来确定可供使用的域控制器列表。

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

  1. Active Directory 站点发现:NetApp Volumes 使用对 Active Directory 政策中指定的 DNS 服务器 IP 的 LDAP 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 会持续监控所有这些节点的可用性。它会从可用网域控制器中选择一个网域控制器进行网域加入和查找。如果所选网域控制器不可用,系统会自动使用可用列表中的另一个网域控制器。请注意,您选择的网域控制器不一定是指定的 DNS 服务器。

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

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

Active Directory 网域控制器拓扑

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

  • 中小型企业

  • 具有扩展群组的 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 网络,那么在架构上,此场景将与前几部分中的某个场景相同。

后续步骤

创建 Active Directory 政策