适用于: ✔️ SMB Azure 文件共享
使用 Azure portal 访问文件数据时,门户会在幕后向 Azure Files 服务发出请求。 可以使用 Microsoft Entra 帐户(首选)或存储帐户访问密钥(不太安全)来授权这些请求。 门户显示正在使用哪种方法,如果拥有适当的权限,则可以在两种方法之间切换。 默认情况下,门户使用你用于授权所有文件共享的任一方法,但你可以针对单个文件共享作更改此设置。
重要
本文介绍如何在Azure门户中授权访问文件数据。 它不介绍如何为最终用户设置基于标识的身份验证到文件共享。 若要了解基于标识的身份验证,请参阅 Azure Files基于标识的身份验证的概述。
警告
使用存储帐户密钥访问文件共享具有固有的安全风险。 尽可能使用 Microsoft Entra 进行身份验证。 有关如何保护和管理密钥的信息,请参阅 管理存储帐户访问密钥。
访问文件数据所需的权限
需要特定权限,具体取决于你希望如何授权访问 Azure 门户中的文件数据。 在大多数情况下,您可以通过 Azure 基于角色的访问控制(Azure RBAC) 获取这些权限。
使用Microsoft Entra 帐户(建议)
若要使用 Entra 帐户从 Azure portal 访问文件数据,以下两个陈述都必须为真:
- 你被分配到内置角色或自定义角色,这些角色提供对文件数据的访问权限。
- 你至少被分配了 Azure 资源管理器 读取者 角色,该角色的作用域限定为存储帐户级别或更高级别。 “读取者”角色授予限制性最高的权限,但也接受可授予存储帐户管理资源访问权限的其他 Azure 资源管理器角色。
Azure 资源管理器“读取者”角色允许用户查看存储帐户资源,但不允许修改这些资源。 该角色不提供对 Azure 存储中的数据的读取权限,而只提供对帐户管理资源的读取权限。 “ 读取者 ”角色是必需的,以便用户可以导航到 Azure 门户中的文件共享。
两个内置角色具有通过 OAuth 访问文件数据所需的权限:
有关支持访问文件数据的内置角色的信息,请参阅 通过 REST 使用 Microsoft Entra ID 和 Azure 文件 OAuth 访问 Azure 文件共享。
注意
存储文件数据特权参与者角色有权读取、写入、删除和修改 Azure 文件共享中文件和目录的 ACL/NTFS 权限。 不支持通过 Azure 门户修改 ACL/NTFS 权限。
自定义角色能够支持内置角色所提供的相同权限的不同组合。 有关详细信息,请参阅Azure自定义角色和 Azure 资源的角色定义。
使用存储帐户访问密钥(不建议)
若要使用存储帐户访问密钥访问文件数据,您必须被分配一个包含 Azure RBAC 操作 Microsoft.Storage/storageAccounts/listkeys/action 的 Azure 角色。 此 Azure 角色可以是内置角色或自定义角色。 支持 Microsoft.Storage/storageAccounts/listkeys/action 的内置角色包括以下内容,按从最小到最大权限的顺序列出:
- 读取者和数据访问角色
- 存储帐户参与者角色
- Azure 资源管理器 参与者角色
- Azure 资源管理器 所有者角色
尝试在 Azure 门户中访问文件数据时,门户会首先检查你是否具有 Microsoft.Storage/storageAccounts/listkeys/action 角色。 如果您具有此操作权限的角色,门户将使用存储帐户密钥来访问文件数据。 如果您没有与此操作相关的角色,门户会尝试使用您的 Entra 帐户访问数据。
重要
使用 Resource Manager ReadOnly 锁定存储帐户时,无法对该存储帐户执行 List Keys 操作。 “列出密钥”是 POST 操作,并且在为该帐户配置了 ReadOnly 锁时,所有的 POST 操作都会被阻止 。 因此,当您使用 ReadOnly 锁锁定帐户时,必须使用 Entra 认证信息以便能够在门户中访问文件数据。 有关使用 Microsoft Entra ID 访问 Azure 门户中的文件数据的信息,请参阅 使用 Microsoft Entra 帐户。
注意
经典订阅管理员角色 服务管理员 和 共同管理员 包括等效的 Azure 资源管理器 所有者 角色。 所有者角色包括所有操作,包括 Microsoft.Storage/storageAccounts/listkeys/action 操作,因此,拥有这些管理角色的用户可以使用存储帐户密钥访问文件数据。 有关详细信息,请参阅 Azure 角色、Microsoft Entra 角色和经典订阅管理员角色。
指定如何授权对特定文件共享的操作
可以更改单个文件共享的身份验证方法。 默认情况下,门户使用当前的身份验证方法。 若要确定当前身份验证方法,请执行以下步骤。
- 转到 Azure 门户中的你的存储帐户。
- 在服务菜单中的“数据存储”下,选择“文件共享”。
- 选择文件共享。
- 选择“浏览”。
- 身份验证方法显示您当前是使用存储帐户访问密钥还是 Entra 帐户来进行身份验证和授权文件共享操作。 如果你目前正在使用存储帐户访问密钥进行身份验证,则会看到访问密钥被指定为身份验证方法,如下图所示。 如果使用 Entra 帐户进行身份验证,则会看到 Microsoft 指定了 Entra 用户帐户,而不是其它选项。
使用 Microsoft Entra 帐户进行身份验证(建议)
若要切换到使用 Entra 帐户,请选择图像中突出显示的链接,该链接显示 “切换到 Microsoft Entra 用户帐户”。 如果通过分配给你的 Azure 角色拥有适当的权限,则可以继续进行操作。 但是,如果缺少必要的权限,则会看到一条错误消息,指出你无权使用用户帐户和 Entra ID 列出数据。
使用 Entra 帐户需要另外两个 RBAC 权限:
Microsoft.Storage/storageAccounts/fileServices/readFileBackupSemantics/actionMicrosoft.Storage/storageAccounts/fileServices/writeFileBackupSemantics/action
如果 Entra 帐户缺少查看文件共享的权限,则列表中不会显示任何文件共享。
使用存储帐户访问密钥进行身份验证(不建议)
若要切换到使用帐户访问密钥,请选择显示 切换到访问密钥 的链接。如果您拥有存储帐户访问密钥,可以继续。 但是,如果你无权访问帐户密钥,则会看到一条错误消息,指出你无权使用访问密钥列出数据。
如果你无权访问存储帐户访问密钥,列表中不会显示任何文件共享。