配置 Azure 文件存储
Contoso 的用户必须先进行身份验证,然后才能访问 Azure 文件存储,并且不支持匿名访问。 作为首席系统工程师,你需要了解 Azure 文件存储支持的身份验证方法,如下表所述。
身份验证方法 | 说明 |
---|---|
通过 SMB 执行基于标识的身份验证 | 在访问 Azure 文件存储时为首选,访问 Azure 文件共享时提供与访问本地文件共享时相同的无缝单一登录 (SSO) 体验。 基于标识的身份验证支持使用 Microsoft Entra ID(前身为 Azure AD)或 AD DS 中的标识的 Kerberos 身份验证。 |
访问密钥 | 访问密钥是一个较旧且不太灵活的选项。 Azure 存储帐户有两个访问密钥,可以在对存储帐户(包括 Azure 文件存储)发出请求时使用。 访问密钥是静态的,提供对 Azure 文件存储的完全控制访问。 访问密钥应受到保护,并且不能与用户共享,因为它们会绕过所有访问控制限制。 最佳做法是避免共享存储帐户密钥,并尽可能使用基于标识的身份验证。 |
共享访问签名 (SAS) 令牌 | SAS 是动态生成的基于存储访问密钥的统一资源标识符 (URI)。 SAS 提供对 Azure 存储帐户的有限访问权限。 限制包括允许的权限、开始时间和到期时间、允许从其发送请求的 IP 地址以及允许的协议。 使用 Azure 文件存储时,SAS 令牌仅用于提供来自代码的 REST API 访问。 |
使用基于标识的身份验证
可在 Azure 存储帐户上启用基于标识的身份验证。 第一步是为存储帐户设置 Active Directory (AD) 源。 对于 Windows,可从以下三个 AD 源中进行选择:
- 本地 AD DS
- Microsoft Entra 域服务(以前称为 Azure Active Directory 域服务)
- Microsoft Entra Kerberos(仅适用于混合标识)
若要使用 AD DS 或 Microsoft Entra Kerberos,必须确保本地 AD DS 通过 Microsoft Entra Connect 或 Microsoft Entra Connect 云同步来与 Microsoft Entra ID 同步。
为存储帐户启用基于标识的身份验证后,用户可以使用其登录凭据访问 Azure 文件共享上的文件。 当用户尝试访问 Azure 文件存储中的数据时,请求将发送到 AD DS 或 Microsoft Entra ID 进行身份验证,具体取决于你选择的 AD 源。 如果身份验证成功,AD 源将返回 Kerberos 令牌。 然后,用户发送一个包含该 Kerberos 令牌的请求,Azure 文件共享使用该令牌对该请求授权。
配置 Azure 文件共享权限
如果已启用基于标识的身份验证,则可以使用 Azure 基于角色的访问控制 (RBAC) 来控制对 Azure 文件共享的访问权限(或权限)。 下表列出了 Azure 文件存储的内置角色。
Azure RBAC 角色 | 说明 |
---|---|
存储文件数据 SMB 共享参与者 | 拥有此角色的用户可以通过 SMB 在 Azure 文件共享中进行读取、写入和删除访问。 |
存储文件数据 SMB 共享提升参与者 | 拥有此角色的用户可以通过 SMB 在 Azure 文件共享中进行读取、写入、删除和修改 NTFS 权限访问。 此角色对 Azure 文件共享具有完全控制权限。 |
存储文件数据 SMB 共享读取者 | 拥有此角色的用户可以通过 SMB 对 Azure 文件共享进行读取访问。 |
存储文件数据特权读取者 | 无论设置了什么文件/目录级别的 NTFS 权限,此角色的用户都可以对所有配置的存储帐户的共享中的所有数据具有完全读取访问权限。 |
存储文件数据特权参与者 | 无论设置了什么文件/目录级别的 NTFS 权限,此角色的用户都可以对所有配置的存储帐户的共享中的所有数据具有完全读取、写入、修改 ACL 和删除访问权限。 |
如果需要,还可以创建和使用自定义 RBAC 角色。 但是,RBAC 角色仅授予对共享的访问权限。 若要访问文件,用户还必须具有目录和文件级别的权限。
Azure 文件共享在文件夹和文件级别强制实施标准 Windows 文件权限。 可以采用与本地文件共享相同的方式,通过 SMB 装载共享和配置权限。
重要
对 Azure 文件共享的完全管理控制(包括取得文件所有权的能力)需要使用存储帐户密钥。
数据加密
始终使用存储服务加密 (SSE) 对存储在 Azure 存储帐户中的所有数据(包括 Azure 文件共享上的数据)进行静态加密。 在向 Azure 数据中心写入数据时对数据进行加密,并在访问数据时自动解密。 默认情况下,使用 Microsoft 托管的密钥对数据进行加密,但也可以选择使用自己的加密密钥。
默认情况下,所有 Azure 存储帐户都启用了传输中加密。 这可以确保在从 Azure 数据中心传输到设备时对所有数据进行加密。 默认情况下,不允许使用不带加密或 HTTP 的 SMB 2.1 和 SMB 3.0 的未加密访问,并且客户端无法在不加密的情况下连接到 Azure 文件共享。 这可针对 Azure 存储帐户进行配置,并对所有存储帐户服务有效。
创建 Azure 文件共享
Azure 文件存储部署为 Azure 存储帐户的一部分。 创建 Azure 存储帐户时指定的设置(例如位置、复制和连接方法)也适用于 Azure 文件存储。 某些 Azure 存储帐户设置(如性能和帐户类型)可以限制可用于 Azure 文件存储的选项。 例如,如果要使用高级文件共享(使用 SSD),则在创建 Azure 存储帐户时,必须选择高级性能和 FileStorage 帐户类型。
Azure 存储帐户准备就绪后,可以使用 Azure 门户、Azure PowerShell、Azure 命令行接口 (Azure CLI) 或 REST API 来创建 Azure 文件共享。 部署 Azure 文件同步时还可以使用 Windows Admin Center 来创建 Azure 存储帐户。
若要创建标准 SMB Azure 文件共享,请使用以下过程。 如果你要创建高级 Azure 文件共享,则还必须指定预配的容量。
- 登录到 Azure 门户,并选择适当的存储帐户。
- 在服务菜单中的“数据存储”下,选择“文件共享”。
- 在细节窗格的工具栏中,选择“+ 文件共享”。
- 在“新建文件共享”边栏选项卡中,输入所需的名称并选择一个访问层。
- 选择“查看 + 创建”,然后选择“创建”。