控制客户端访问

本文介绍如何针对存储目标创建并应用自定义客户端访问策略。

客户端访问策略控制如何允许客户端连接到存储目标导出。 可以在客户端主机或网络级别控制 root squash 和读/写访问等操作。

访问策略将应用于命名空间路径,这意味着,可对 NFS 存储系统中两个不同的导出使用不同的访问策略。

此功能适用于你需要在其中控制不同的客户端组如何访问存储目标的工作流。

如果不需要精细控制对存储目标的访问,可以使用默认策略,或者使用额外的规则来自定义默认策略。 例如,若要为通过缓存进行连接的所有客户端启用 root squash,可以编辑名为 default 的策略以添加 root squash 设置。

创建客户端访问策略

使用 Azure 门户中的“客户端访问策略”页来创建和管理策略。

screenshot of client access policies page. Several policies are defined, and some are expanded to show their rules

每个策略由规则构成。 规则按照从最小范围(主机)到最大范围(默认)的顺序应用于主机。 将应用匹配的第一个规则,并忽略后面的规则。

若要创建新的访问策略,请单击列表顶部的“+ 添加访问策略”按钮。 为新访问策略命名,并输入至少一个规则。

screenshot of access policies edit blade with multiple rules filled in. Click ok to save the rule.

本部分的余下内容介绍可在规则中使用的值。

范围

范围条件和地址筛选器共同定义了规则影响的客户端。

使用范围条件和地址筛选器可以指定是要将规则应用于单个客户端(主机)、IP 地址范围(网络),还是所有客户端(默认)。

为规则选择适当的“范围”值:

  • 主机 - 规则将应用于单个客户端
  • 网络 - 规则将应用于某个 IP 地址范围内的客户端
  • 默认 - 规则将应用于所有客户端。

策略中的规则按该顺序评估。 在客户端装载请求匹配一个规则后,将忽略其他规则。

地址筛选器

“地址筛选器”值指定与规则匹配的客户端。

如果将范围设置为“主机”,则只能在筛选器中指定一个 IP 地址。 如果范围设置为“默认”,则不能在“地址筛选器”字段中输入任何 IP 地址,因为默认范围将匹配所有客户端。

为此规则指定 IP 地址或地址范围。 使用 CIDR 表示法(示例:0.1.0.0/16)指定地址范围。

访问级别

设置要向与范围和筛选器匹配的客户端授予的特权。

选项为“读/写”、“只读”或“无访问权限”。

SUID

选中“SUID”框可以在访问存储中的文件时设置用户 ID。

SUID 通常用于临时提高用户的特权,使该用户能够完成与该文件相关的任务。

子装载点访问

选中此复选框可让指定的客户端直接装载此导出的子目录。

Root squash

选择是否为匹配此规则的客户端设置 root squash。

此设置控制 Azure HPC 缓存如何处理客户端计算机上的 root 用户发来的请求。 如果已启用 root squash,当客户端中的 root 用户通过 Azure HPC 缓存发送请求时,将自动映射到非特权用户。 此设置还会阻止客户端请求使用 set-UID 权限位。

如果已禁用 root squash,则客户端 root 用户 (UID 0) 发出的请求将以 root 身份传递到后端 NFS 存储系统。 此配置可能允许不适当的文件访问。

为客户端请求设置根压缩,可为你的存储目标后端系统提供额外的安全性。 如果你使用配置了 no_root_squash 作为存储目标的 NAS 系统,则这一点可能会很重要。 (详细了解 NFS 存储目标先决条件。)

如果启用 root squash,则还必须设置匿名 ID 用户值。 门户接受 0 到 4294967295 的整数值。 (出于后向兼容性,支持旧值 -2 和 -1,但不建议在新配置中使用这些值。)

这些值映射到特定的用户值:

  • -265534(无任何用户)
  • -165535(无访问权限)
  • 0(非特权 root)

你的存储系统可能使用了其他具有特殊意义的值。

更新访问策略

可以通过“客户端访问策略”页中的表编辑或删除访问策略。

单击策略名称即可将其打开进行编辑。

若要删除某个策略,请勾选列表中其名称旁边的复选框,然后单击列表顶部的“删除”按钮。 无法删除名为“default”的策略。

注意

无法删除正在使用的访问策略。 在删除策略之前,请先从包含该策略的任何命名空间路径中删除该策略。

后续步骤