本页面介绍了 Google Cloud NetApp Volumes Active Directory 集成。
集成简介
Active Directory 政策会告知 NetApp Volumes 如何连接到 Active Directory。存储池配置使用 Active Directory 政策来定义您在其中创建的卷的 Active Directory 设置。
Active Directory 政策是特定于区域的,您可以在每个区域中配置最多五项政策。
使用安全正文(例如 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 机器账号所需的权限
若要使用 Active Directory,NetApp Volumes 必须将一个或多个虚拟文件服务器作为计算机账号加入您的网域。如需加入网域,您必须提供有权将计算机加入网域的网域用户的凭据。默认情况下,只有 Domain Admins
群组成员可以将计算机加入网域,但 Active Directory 能够将所需权限委派给整个网域或组织部门 (OU) 级别的个别用户或群组。
对于 NetApp Volumes,建议创建专用网域服务账号。仅委托将新计算机加入特定组织部门 (OU) 所需的权限。创建具有 Domain User
或 Domain Guest
群组成员身份的用户后,请按照以下说明委托所需的权限。
以 Active Directory 网域的网域管理员身份登录系统。
打开 Active Directory Users and Computers MMC 管理单元。
在菜单栏中,选择查看,并确保已启用高级功能。
如果已启用高级功能,则会显示勾选标记。
在任务窗格中,展开网域节点。
找到要修改的 OU,右键点击,然后从上下文菜单中选择属性。
在 OU 属性窗口中,选择安全标签页。
在安全下,点击高级,然后点击添加。
在权限条目对话框中,完成以下步骤:
点击选择主账号。
输入服务账号或群组的名称,然后点击确定。
对于适用对象,选择此对象和所有后代对象。
确保已选择以下权限:
修改权限
创建计算机对象
删除计算机对象
选中应用复选框,然后点击确定。
关闭 Active Directory 用户和计算机 MMC 管理单元。
在委托服务账号后,您可以提供用户名和密码作为 Active Directory 政策凭据。
为了提高安全性,在机器账号对象查询和创建期间,传递给 Active Directory 网域的用户名和密码会使用 Kerberos 加密。
Active Directory 网域控制器
为了将 NetApp Volumes 连接到您的网域,该服务会使用基于 DNS 的发现功能来识别可供使用的可用域控制器列表。
该服务会运行以下步骤来查找要使用的网域控制器:
Active Directory 站点发现:NetApp Volumes 使用 LDAP ping 来探测 Active Directory 政策中指定的 DNS 服务器 IP,以获取 Active Directory 站点子网信息。它会返回 CIDR 的列表以及分配给这些 CIDR 的 Active Directory 站点。
Get-ADReplicationSubnet -Filter * | Select-Object Name,Site
定义网站名称:如果卷的 IP 地址与任何已定义的子网匹配,则使用关联的网站名称。较小的子网匹配优先于较大的子网匹配。如果卷的 IP 地址未知,请手动创建临时卷(使用 NFS 协议类型)以确定所用的
/28
CIDR。如果 Active Directory 中未定义任何站点名称,则使用 Active Directory 政策中配置的站点名称。如果未配置任何网站名称,则标准、高级和极速服务等级会使用
Default-First-Site-Name
网站。如果 Flex 服务级别尝试使用Default-First-Site-Name
站点,则会失败,并且 Flex 服务级别会改为使用完整的网域控制器发现。请注意,Flex 服务等级的存储池会忽略对 Active Directory 网站参数的更改。域控制器发现:在获取所有必要信息后,服务会使用以下 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>
生成网域控制器列表:系统会生成网域控制器列表。NetApp Volumes 会持续监控所有这些卷的可用性。从可用的网域控制器中选择一个用于网域加入和查找。如果所选网域控制器消失,系统会自动使用可用列表中的另一个网域控制器。请注意,您选择的网域控制器不一定是指定的 DNS 服务器。
您需要为该服务提供至少一个可访问的网域控制器。我们建议使用多个,以提高网域控制器的可用性。确保 NetApp Volumes 与网域控制器之间存在路由网络路径,并且网域控制器上的防火墙规则允许 NetApp Volumes 进行连接。
如需了解详情,请参阅 Active Directory 设计注意事项和最佳实践。
Active Directory 网域控制器拓扑
成功连接到 Active Directory 域控制器后,您可以使用以下文件共享协议:
SMB
具有扩展组的 NFSv3
NFSv4(使用安全正文和 Kerberos)
以下场景描述了可能的拓扑。这些场景仅描述了 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 网络,从架构上讲,此场景与前几部分中的某个场景相同。