保护您的 Azure 文件存储

本文提供有关Azure 文件存储的安全指南。 它涵盖了持有您的共享资源的资源、客户访问、数据保护和运营控制。

资源隔离

  • 将存储账户视为信任边界:在同一存储账户中创建独立的经典文件共享,并不能隔离它们的网络规则、SMB身份源或加密密钥配置。 这些账户层级设置的变更会影响账户中的所有共享内容。 仅当经典共享项能够共享这些控件时,才将其分组。

  • 保护客户端系统:拥有写权限的客户端可以修改或删除文件数据。 保持客户端操作系统更新,并限制本地管理访问。 使用适合客户端环境的终端保护。 网络隔离和加密并不能阻止授权客户端进行破坏性更改。

网络安全

入站访问与出站过滤

  • 将入站访问限制为仅限需要它的客户端:两个资源提供程序都支持私有终结点和具有虚拟网络限制的服务终结点。 访问NFS Azure文件共享需要以下路径之一。 经典SMB和FileREST客户端也可以使用带有IP地址规则的公共端点。 关于配置步骤,请参见配置 Azure 文件共享的网络端点。

  • 不需要时禁用公共访问:公共端点可以通过网络访问控制、认证和协议相应的加密安全使用。 当工作负载需要且安全模型允许时,保持公共访问为开启,包括通过服务端点连接。 创建私有端点并不会自动禁用公共访问。 对于经典共享,请审查任何可信服务或资源实例例外,这些例外在禁用公共访问后仍可继续有效。 欲了解更多信息,请参见“限制公共端点访问”。

  • 仅在需要时启用可信服务访问:仅适用于经典文件共享,可信服务设置允许支持的 Azure 服务绕过存储账户的网络规则。 只有在集成需要此访问权限时才启用它。 这些服务仍需获得授权才能访问您的文件数据。

  • 可选的服务端点流量过滤:当客户端使用服务端点访问经典文件共享时,你可以选择对其子网应用服务端点策略。 该策略限制了这些客户端可以通过服务端点访问的存储账户,其中流量可绕过 Azure 防火墙 和网络虚拟设备。 它只适用于服务端点流量,不过滤私有端点流量或其他出站路径。 目的地的网络规则和授权要求仍然适用。 欲了解更多信息,请参见 服务端点策略。

  • 在使用网络安全边界前,先检查协议支持:对于经典共享,边界支持因协议和认证方式而异。 在强制模式下,边界会拒绝通过公共端点进行的 NFS 访问,包括服务端点流量。 私有终结点流量不受边界强制策略约束。 在应用边界之前,先检查一下 Azure 备份 和 Azure 文件同步 的限制。 欲了解更多信息,请参见 Azure 文件存储 的网络安全边界。

SMB协议硬化

这些建议适用于传统的 SMB 文件共享。

  • 要求SMB信道加密:使用加密的SMB 3.x连接。 SMB 2.1不支持信道加密。 FileREST 的 HTTPS 要求并不替代 SMB 加密配置。 欲了解更多信息,请参见 SMB加密和安全设置。

  • 将协议版本和算法限制为客户端所需的版本和算法:使用与工作负载兼容的最安全 SMB 配置。 在要求SMB 3.1.1或AES-256-GCM之前,先确认客户端支持,因为不兼容的客户端无法连接。 SMB信道加密和Kerberos票证加密是不同的控制。 更多信息请参见 SMB 安全设置。

  • 限制 SMB 认证方法:使用 Kerberos 进行基于标识的访问控制。 如果没有客户端需要通过SMB进行存储账户密钥认证,测试后将NTLMv2从允许的SMB认证方法中移除。 这种控制适用于SMB;它不会禁用基于键的FileRest访问。

  • 在适用的情况下维护 AD DS 凭证:对于 AD DS 认证,根据你的目录策略管理代表存储账户的目录主体密码。 按照文档中的轮换程序保持目录密码和存储账户的Kerberos密钥同步。 更多信息请参见 更新 AD DS 中的存储帐户标识密码。

NFS 4.1 文件共享

这些建议适用于 NFS 文件共享。 NFS使用基于网络的认证和POSIX权限,而非基于SMB身份的认证。

  • 限制访问受信任网络:只允许工作负载所需的子网和私有连接。 NFS依赖客户端提供的身份,因此控制哪些系统和管理员可以使用这些连接。

  • 管理 POSIX 权限和客户端身份:在不同客户端之间使用一致的用户 ID 和组 ID。 限制文件和目录权限,仅限于需要访问的用户和组。 用于管理 Azure 资源的 Azure RBAC 权限不授予 NFS 文件访问权限。 更多信息请参见 NFS认证和网络访问。

  • 在与工作负载兼容的情况下配置 root squash:root squash 将来自 UID/GID 0 的请求映射到匿名身份。 它不会限制其他身份,也不会让共享变成只读。 关于两种资源提供程序的设置和配置步骤,请参见NFS Azure 文件共享的 Root squashing。

  • 需要传输中的加密:经典共享通过 AZNFS 装载帮助程序支持 TLS。 经典文件共享具有存储帐户级别的 NFS 加密设置。 关于默认和配置链接,请参见 NFS加密。

身份和访问管理

Azure资源管理

  • 对管理访问使用最小权限原则:在创建、配置或删除资源时,在所需的最小范围内授予 Azure RBAC 权限。 帐户级权限可能会影响帐户中的每个共享项。 管理角色和数据访问权限有不同的用途。 有关详细信息,请参阅 Azure 控制平面和数据平面。

  • 限制长期管理访问权限:在适当情况下,针对 Azure 特权角色使用 Microsoft Entra Privileged Identity Management。 根据贵组织的政策,要求管理员激活获得批准和多因素身份验证。 有关详细信息,请参阅 Privileged Identity Management。

基于身份的SMB文件共享认证

经典文件共享支持基于身份的 SMB 访问。 存储账户密钥允许广泛访问帐户中所有共享内的数据,且不识别单个用户。

  • 使用客户端支持的身份源:Azure 文件存储 支持 AD DS、Microsoft Entra 域服务 和 Microsoft Entra Kerberos。 他们的客户端要求和身份要求各不相同。 有关支持的场景和设置指南,请参见 Azure 文件存储 的基于身份的认证。

  • 为支持的应用工作负载使用托管身份:托管身份可以在不分发存储账户密钥的情况下提供SMB访问。 核实你的部署所需的计算、客户端和身份验证前置条件。 欲了解更多信息,请参见 通过托管标识访问 SMB 共享。

  • 必要时保护账户密钥:限制检索或重新生成密钥的权限。 将所需密钥存储在 Azure 密钥保管库 中,并在暴露后或根据凭证策略轮换这些密钥。 围绕仍使用密钥的客户端和集成来规划轮换。 有关详细信息,请参阅管理存储帐户访问密钥。

共享级别和NTFS权限

这些权限适用于经典的SMB文件共享。

  • 在所需的范围内分配文件共享级角色:仅向需要这些权限的标识授予读、写或管理访问权限。 共享级别的角色分配避免授予对同一存储账户中无关共享的访问权限。 有关详细信息,请参阅 “分配共享级别权限”。

  • 设置目录和文件权限:使用 Windows ACL,包括在需要时对共享根目录设置 ACL,以控制共享内部的访问。 利用继承来保持权限可管理。 共享层权限和 Windows ACL 都被强制执行。 有关详细信息,请参阅 配置目录级和文件级权限。

  • 限制权限管理:将高权限角色和 ACL 修改权限限制给负责管理权限的账号。 当访问需求发生变化时,请审查角色分配和继承的ACL。

FileREST 访问与 SAS

  • 对受支持的管理数据访问使用 OAuth:Microsoft Entra 身份(包括托管身份)可通过 FileREST 访问经典共享。 该访问方法使用的特权角色可以绕过文件和目录权限,因此仅在需要该访问权限时才授予这些角色。 欲了解更多信息,请参见 Azure 文件存储 OAuth over REST。

  • 限制 SAS 权限和有效期:当支持的工具需要共享访问签名(SAS)时,限制其范围、权限和有效期,并要求使用 HTTPS。 将 SAS 作为凭据进行保护。 SAS 令牌不用于通过 SMB 或 NFS 挂载共享。 更多信息请参见 共享访问签名。

  • 要求 FileREST 使用 HTTPS:HTTPS 保护传输中的 REST 请求。 SMB信道加密和NFS TLS隧道与HTTPS要求是分开的。 关于配置步骤,请参见 “要求安全传输”。

数据保护

  • 了解静态数据加密:两个资源提供程序默认使用 Microsoft 管理的密钥对静态文件数据进行加密。 静态数据加密保护存储的数据;它并不阻止授权客户端读取或更改文件。

  • 根据需要使用客户管理的密钥:经典共享支持Azure 密钥保管库中的客户管理的密钥。 保护密钥存储,规划密钥轮换,并理解丢失对密钥的访问权限可能导致数据无法访问。 欲了解更多信息,请参见 Azure 文件存储 的客户管理密钥。

  • 评估适用于经典部署的基础设施加密:经典存储账户在合规政策需要时可以增加加密层。 这个选项是在账户创建时选择的,之后不能更改。 有关支持的账户类型,请参见 基础设施加密。

  • 使用资源锁保护管理操作:在适当的 Azure 资源或父级作用域上设置 CanNotDelete 锁,可以防止通过 Azure 资源管理器 进行删除。 锁并不能阻止客户端修改或删除文件数据。 对于经典共享,它们也无法阻止通过FileRest数据平面API进行的删除。 关于锁行为和操作影响,请参见锁定 Azure 资源。

备份和恢复

  • 根据恢复需求创建共享快照:两个资源提供程序都支持使用共享快照恢复早期版本的文件。 制定符合你恢复目标的时间表和保留策略。 共享快照仍与源共享关联,因此如果该共享被永久删除,它们无法提供独立的备份副本。 欲了解更多信息,请参见 共享 Azure 文件存储 快照。

  • 启用经典共享的软删除:软删除会保留已删除的共享一段时间。 它不会恢复单个文件或单独删除的快照。 有关详细信息,请参阅 防止意外删除 Azure 文件共享。

  • 选择协议所支持的备份解决方案:Azure 备份 支持带快照的经典 SMB 共享。 对于NFS,选择支持该协议并满足保留和隔离需求的备份方案。 关于Azure 备份的覆盖范围,请参见Azure文件共享备份支持。

  • 分开备份管理和测试恢复:限制谁可以删除恢复点或更改保留。 测试文件、权限和完整工作负载的恢复。 确认即使生产凭证或源共享被泄露,恢复仍然可能。

  • 将基础设施故障与数据恢复分开规划:冗余不仅提高了应对基础设施故障的韧性,也会复制数据更改。 它不能替代用于防范意外更改或删除的备份。 可用的冗余选项因媒体层级和资源提供者而异。 有关详细信息,请参阅 Azure 文件存储冗余。

日志记录和监控

  • 对两个资源提供商的管理变更进行审计:使用Azure活动日志监控资源删除、配置变更和角色分配。 审查公共访问、网络规则、加密要求和恢复控制的变更。 有关详细信息,请参阅 Azure 活动日志。

  • 收集受支持的数据访问日志:对于经典的 SMB 和 FileREST 访问,使用文件服务资源日志来审查调用者、授权方法、失败请求和删除活动。 在Log Analytics或其他支持的平台中收集保留政策所需的日志。 有关支持的操作和字段,请参见 Azure 文件存储 监控数据参考。

  • 将警报与客户端和身份日志关联:调查意外密钥使用、认证失败、共享删除和安全配置变更。 当请求到达 Azure 文件存储 之前发生认证失败时,使用客户端和目录日志。 将警报转发给负责该工作量的团队。

合规性和治理

  • 应用与资源提供程序匹配的策略:在资源类型和属性受支持的范围内,使用 Azure Policy 对组织的要求进行审计或强制实施。 请核对每个定义的范围和影响。 有关更多信息,请参阅 Azure Policy 定义。

  • 记录所有权和数据需求:使用资源标签来识别负责团队、环境和数据分类。 对于经典共享,账户层级控制会影响账户中的所有共享。 记录例外情况,并在工作负载所有权变更时进行审查。

  • 验证部署合规性:确认所选服务、区域、协议和保护功能符合您的需求。 利用Microsoft云安全基准来组织控制审查。

Azure 文件同步

同时保护云共享和 Windows Server 端点。

  • 在支持的文件同步部署中使用托管身份:按照存储同步服务和注册服务器的托管身份配置,去除对共享密钥的依赖。 有关详细信息,请参阅将托管标识用于 Azure 文件同步。

  • 限制对同步资源和服务器的管理权限:在适当的范围内使用所需的存储同步角色。 保护本地文件权限和服务器管理,因为通过服务器端点进行的更改可以同步到云共享。 更多信息请参见“规划 Azure 文件同步 部署”。

后续步骤