你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn

实现 SMB 访问的 Azure 文件存储基于标识的身份验证概述

本文介绍如何使用基于标识的身份验证(在本地或 Azure 中)通过 SMB 启用对 Azure 文件共享的基于标识的访问。 与 Windows 文件服务器一样,你可以在共享、目录或文件级别授予对标识的权限。 在存储帐户上启用基于标识的身份验证无需额外的服务费。

网络文件系统 (NFS) 共享当前不支持基于标识的身份验证。 但是,它适用于 Windows 和 Linux 客户端的 SMB。

出于安全原因,建议使用基于标识的身份验证访问文件共享,而使用存储帐户密钥。

重要

切勿共享存储帐户密钥。 改为使用基于标识的身份验证。

工作原理

Azure 文件共享使用 Kerberos 协议,以通过标识源进行身份验证。 当某个与用户或客户端上运行的应用程序关联的标识尝试访问 Azure 文件共享中的数据时,请求会发送到标识源来对该标识进行身份验证。 如果身份验证成功,标识源将返回 Kerberos 票证。 然后,客户端会发送包含 Kerberos 票证的请求,Azure 文件存储会使用该票证来授权请求。 Azure 文件存储服务仅接收 Kerberos 票证,而不是用户的访问凭据。

常见用例

使用 SMB Azure 文件存储共享的基于标识的身份验证在以下各种场景中都很有用:

取代本地文件服务器

替换分散的本地文件服务器是每个组织在其 IT 现代化过程中面临的挑战。 将基于标识的身份验证与 Azure 文件存储配合使用可提供无缝的迁移体验,使最终用户能够继续使用相同的凭据访问其数据。

将应用程序直接迁移到 Azure

将应用程序直接迁移到云时,你可能想要为文件共享访问保留同样的身份验证模型。 基于标识的身份验证无需更改目录服务、加快云采用。

备份和灾难恢复 (DR)

如果在本地保留主文件存储,Azure 文件存储是备份和 DR 的理想解决方案,可提高业务连续性。 可以使用 Azure 文件共享来备份文件服务器,同时保留 Windows 随机访问控制列表 (DACL)。 对于灾难恢复方案,可以配置一个身份验证选项,用于支持在进行故障转移时强制执行适当的访问控制。

为存储帐户选择标识源

在对存储帐户启用基于标识的身份验证之前,需要知道要要使用的标识源。 你可能已经有一个域环境,因为大多数公司和组织都配置了某种类型的域环境。 请查阅 Active Directory (AD) 或 IT 管理员,确保这一点。 如果还没有标识源,则需要先配置一个,然后才能启用基于标识的身份验证。

支持的身份验证方案

可以使用以下三个标识源之一通过 SMB 启用基于标识的身份验证:本地 Active Directory 域服务 (AD DS)、Microsoft Entra 域服务,或 Microsoft Entra Kerberos(仅限混合标识)。 每个存储帐户只能使用一个标识源进行文件访问身份验证,并且其适用于帐户中的所有文件共享。

  • 本地 AD DS: 本地 AD DS 客户端和虚拟机 (VM) 可以使用本地 Active Directory 凭据访问 Azure 文件共享。 本地 AD DS 环境必须使用 Microsoft Entra Connect 应用程序或 Microsoft Entra Connect 云同步(可从 Microsoft Entra 管理中心安装的轻型代理)同步到 Microsoft Entra ID。 若要使用此身份验证方法,客户端必须已加入域或未实现到 AD DS 的网络连接。 请参阅先决条件完整列表

  • 混合标识的 Microsoft Entra Kerberos: 可以使用 Microsoft Entra ID 对混合用户标识进行身份验证,使最终用户无需与域控制器建立网络连接即可访问 Azure 文件共享。 此选项需要现有的 AD DS 部署,然后同步到 Microsoft Entra 租户,以便Microsoft Entra ID 可以对混合标识进行身份验证。 目前不支持仅限云标识使用此方法。 请参阅先决条件完整列表

  • Microsoft Entra 域服务: 加入到 Microsoft Entra 域服务的基于云的 VM 可以使用 Microsoft Entra 凭据访问 Azure 文件共享。 在此解决方案中,Microsoft Entra ID 运行传统的 Windows Server AD 域,该域是客户 Microsoft Entra 租户的子域。 Microsoft Entra 域服务当前是唯一用于对仅限云标识进行身份验证的选项。 请参阅先决条件完整列表

使用以下准则确定应选择的标识源。

  • 如果组织已有本地 AD,并且尚未准备好将标识移动到云,并且客户端、VM 和应用程序已加入域或未实现到这些域控制器的网络连接,请选择 AD DS。

  • 如果某些或所有客户端未连接到 AD DS,或者如果要将 FSLogix 配置文件存储在 Microsoft已加入 entra 的 VM 的 Azure 文件共享上,请选择 Microsoft Entra Kerberos。

  • 如果你有现有的本地 AD,但计划将应用程序移动到云,并且希望标识同时存在于本地和云中,请选择 Microsoft Entra Kerberos。

  • 如果没有现有的标识源,则需要对仅限云的标识进行身份验证,或者如果已使用 Microsoft Entra 域服务,请选择 Microsoft Entra 域服务。 如果尚未在 Azure 中部署域服务,则将会注意到此服务的 Azure 帐单会收取新的费用。

启用标识源

选择标识源后,必须在存储帐户上启用它。

AD DS

对于 AD DS 身份验证,必须加入客户端计算机或 VM 的域。 可以将 AD 域控制器托管在 Azure VM 或本地。 无论采用哪种方法,加入域的客户端都必须与域控制器建立不受阻碍的网络连接,因此这些客户端必须位于域服务的企业网络或虚拟网络 (VNET) 中。

下图说明了 Azure 文件共享通过 SMB 进行本地 AD DS 身份验证的过程。 必须使用 Microsoft Entra Connect 同步或 Microsoft Entra Connect 云同步将本地 AD DS 同步到 Microsoft Entra ID。对于 Azure 文件共享访问,只可以对同时位于本地 AD DS 和 Microsoft Entra ID 的混合用户标识进行身份验证和授权。 这是因为,共享级别权限是针对 Microsoft Entra ID 中的标识配置的,目录/文件级别权限是对 AD DS 中的标识强制实施的。 请务必为同一个混合用户正确配置权限。

说明 Azure 文件共享通过 SMB 进行本地 AD DS 身份验证过程的关系图。

若要启用 AD DS 身份验证,请先阅读概述 - 通过 SMB 对 Azure 文件共享进行本地 Active Directory 域服务身份验证,然后参阅为 Azure 文件共享启用 AD DS 身份验证

用于混合标识的 Microsoft Entra Kerberos

启用和配置 Microsoft Entra ID 以对混合用户标识进行身份验证允许 Microsoft Entra 用户使用 Kerberos 身份验证访问 Azure 文件共享。 此配置使用 Microsoft Entra ID 发出 Kerberos 票证,以通过行业标准 SMB 协议访问文件共享。 这意味着最终用户可以访问 Azure 文件共享,而无需建立从 Microsoft Entra 混合联接和 Microsoft Entra 联接的 VM 到域控制器的连接。 但是,为用户和组配置目录和文件级权限需要与本地域控制器建立不受限制的网络连接。

重要

Microsoft Entra Kerberos 身份验证仅支持混合用户标识;它不支持仅限云的标识。 需要传统的 AD DS 部署,并且必须使用 Microsoft Entra Connect 同步或 Microsoft Entra Connect 云同步将其同步到 Microsoft Entra ID。客户端必须已加入 Microsoft Entra 或 Microsoft Entra 混合联接。 已加入 Microsoft Entra 域服务或仅加入 AD 的客户端不支持 Microsoft Entra Kerberos。

通过 SMB 为混合标识进行 Microsoft Entra Kerberos 身份验证的配置示意图。

若要为混合标识启用 Microsoft Entra Kerberos 身份验证,请参阅为 Azure 文件存储上的混合标识启用 Microsoft Entra Kerberos 身份验证

还可以使用此功能将 FSLogix 配置文件存储在 Microsoft Entra 联接的 VM 的 Azure 文件共享上。 有关详细信息,请参阅使用 Azure 文件存储和 Microsoft Entra ID 创建配置文件容器

Microsoft Entra 域服务

对于 Microsoft Entra 域服务身份验证,须启用 Microsoft Entra 域服务,并让计划用于访问文件数据的 VM 加入域。 已加入域的 VM 必须与 Microsoft Entra 域服务托管域位于同一 VNET 中。

下图说明了 Azure 文件共享通过 SMB 进行 Microsoft Entra 域服务身份验证的工作流。 它遵循与本地 AD DS 身份验证类似的模式,但有两个主要区别:

  • 无需在 Microsoft Entra 域服务中创建标识来表示存储帐户。 此过程由启用进程在后台完成。

  • Microsoft Entra ID 中存在的所有用户都可以进行身份验证,并获得授权。 用户可以仅为云用户,也可以是混合用户。 从 Microsoft Entra ID 同步到 Microsoft Entra 域服务的同步由平台管理,无需任何用户配置。 但是,客户端必须加入 Microsoft Entra 域服务托管域。 它不能加入或注册 Microsoft Entra。 Microsoft Entra 域服务不支持将非 Azure 客户端(即用户笔记本电脑、工作站、其他云中的 VM 等)域加入 Microsoft Entra 域服务托管域。 但是,可以通过提供显式凭据(如 DOMAINNAME\username)或使用完全限定的域名 (username@FQDN),从未加入域的客户端装载文件共享。

通过 SMB 对 Azure 文件存储进行 Microsoft Entra 域服务身份验证的配置示意图。

若要启用 Microsoft Entra 域服务身份验证,请参阅在 Azure 文件存储上启用 Microsoft Entra 域服务身份验证

授权和访问控制

无论选择哪个标识源,启用它后,都需要配置授权。 Azure 文件存储强制要求授予用户共享级别和目录/文件级别的访问权限。

可以将共享级别权限分配给通过 Azure RBAC 管理的 Microsoft Entra 用户或组。 对于 Azure RBAC,用于访问文件的凭据应该可用于或同步到 Microsoft Entra ID。 可以将“存储文件数据 SMB 共享读取者”等 Azure 内置角色分配给 Microsoft Entra ID 中的用户或组,以授予对文件共享的访问权限。

在目录/文件级别,Azure 文件存储支持预留、继承和强制执行 Windows ACL。 在现有文件共享和 Azure 文件共享之间通过 SMB 复制数据时,可以选择保留 Windows ACL。 无论你是否打算强制执行授权,都可以使用 Azure 文件共享来备份 ACL 和数据。

配置共享级权限

在存储帐户上启用标识源后,必须执行下列操作之一来访问文件共享:

  • 设置适用于所有经过身份验证的用户和组的默认共享级别权限
  • 将内置 Azure RBAC 角色分配给用户和组,或者
  • 为 Microsoft Entra 标识配置自定义角色,并分配对存储帐户中的文件共享的访问权限。

使用分配的共享级别权限,已获授权的标识就会只获得相应共享的访问权限,没有其他权限,甚至没有对根目录的访问权限。 你仍需单独配置目录级别和文件级别的权限。

注意

无法使用 Azure RBAC 将共享级别权限分配到计算机帐户(机器帐户),因为无法将计算机帐户同步到 Microsoft Entra ID 中的标识。 如果要允许计算机帐户使用基于标识的身份验证访问 Azure 文件共享,请使用默认共享级别权限或考虑改用服务登录帐户。

配置目录或文件级别权限

Azure 文件共享在目录级别和文件级别(包括根目录)强制实施标准 Windows ACL。 支持通过 SMB 和 REST 配置目录级别或文件级别权限。 请从 VM 装载目标文件共享,并使用 Windows 资源管理器、Windows icaclsSet-ACL 命令配置权限。

将数据导入 Azure 文件存储时保留目录和文件 ACL

将数据复制到 Azure 文件共享时,Azure 文件存储支持保留目录级别或文件级别 ACL。 可以使用 Azure 文件同步或常见的文件移动工具集,将目录或文件上的 ACL 复制到 Azure 文件共享。 例如,可使用带 /copy:s 标志的 robocopy 将数据和 ACL 复制到 Azure 文件共享。 默认情况下,系统会保留 ACL,因此你无需在存储帐户上启用基于标识的身份验证来保留 ACL。

术语表

了解与为 Azure 文件共享进行基于标识的身份验证相关的一些关键术语非常有用:

  • Kerberos 身份验证

    Kerberos 是一种身份验证协议,用于验证用户或主机的标识。 有关 Kerberos 的详细信息,请参阅 Kerberos 身份验证概述

  • 服务器消息块 (SMB) 协议

    SMB 是行业标准网络文件共享协议。 有关 SMB 的详细信息,请参阅 Microsoft SMB 协议和 CIFS协议概述

  • Microsoft Entra ID

    Microsoft Entra ID(前 Azure AD)是 Microsoft 的多租户、基于云的目录和标识管理服务。 Microsoft Entra ID 将核心目录服务、应用程序访问管理和标识保护融入一个解决方案中。

  • Microsoft Entra 域服务

    Microsoft Entra 域服务提供托管域服务,例如域加入、组策略、LDAP、Kerberos/NTLM 身份验证。 这些服务与 Active Directory 域服务完全兼容。 有关详细信息,请参阅 Microsoft Entra 域服务

  • 本地 Active Directory 域服务 (AD DS)

    本地环境中的或云托管 VM 上的企业通常采用 AD DS,并将 AD DS 凭据用于访问控制。 有关详细信息,请参阅 Active Directory 域服务概述

  • Azure 基于角色的访问控制 (Azure RBAC)

    Azure RBAC 为 Azure 实现了精细的访问管理。 使用 Azure RBAC,可通过向用户授予执行其作业所需的最少权限来管理对资源的访问权限。 有关详细信息,请参阅什么是 Azure 基于角色的访问控制?

  • 混合标识。

    混合用户标识是 AD DS 中通过本地 Microsoft Entra Connect 同步应用程序或 Microsoft Entra Connect 云同步(可从 Microsoft Entra 管理中心安装的轻型代理)同步到 Microsoft Entra ID 的标识。

下一步

有关详细信息,请参阅: