选择如何在 Azure 门户中授予对文件数据的访问权限

使用 Azure 门户访问文件数据时,门户会在幕后对 Azure 文件存储发出请求。 可以使用 Microsoft Entra 帐户或存储帐户访问密钥对这些请求进行授权。 门户会指示使用的是哪种方法,如果你有相应的权限,则门户还允许在这两种方法之间切换。

还可以指定如何在 Azure 门户中授权单个文件共享操作。 默认情况下,门户会使用你已在使用的方法来授权所有文件共享,但你可以选择更改单个文件共享的此设置。

访问文件数据所需的权限

根据你要如何在 Azure 门户中授权访问文件数据,你将需要特定权限。 在大多数情况下,这些权限是通过 Azure 基于角色的访问控制 (Azure RBAC) 提供的。

使用 Microsoft Entra 帐户

若要使用 Microsoft Entra 帐户从 Azure 门户访问文件数据,必须符合以下两个条件:

  • 你拥有可提供文件数据访问权限的内置角色或自定义角色。
  • 你至少拥有 Azure 资源管理器读取者角色,该角色的权限范围为存储帐户或更高级别。 “读取者”角色授予限制性最高的权限,但也接受可授予存储帐户管理资源访问权限的其他 Azure 资源管理器角色。

Azure 资源管理器“读取者”角色允许用户查看存储帐户资源,但不允许修改这些资源。 该角色不提供对 Azure 存储中的数据的读取权限,而只提供对帐户管理资源的读取权限。 “读取者”角色是用户导航到 Azure 门户中的文件共享所需的。

有两个新的内置角色拥有通过 OAuth 访问文件数据所需的权限:

若要了解支持访问文件数据的内置角色,请参阅使用 Microsoft Entra ID 通过 Azure 文件存储 OAuth over REST 访问 Azure 文件共享

注意

存储文件数据特权参与者角色有权读取、写入、删除和修改 Azure 文件共享中文件/目录的 ACL/NTFS 权限。 不支持通过 Azure 门户修改 ACL/NTFS 权限。

自定义角色能够支持内置角色所提供的相同权限的不同组合。 若要详细了解如何创建 Azure 自定义角色,请参阅 Azure 自定义角色了解 Azure 资源的角色定义

使用存储帐户访问密钥

若要使用存储帐户访问密钥访问文件数据,你必须已分配到一个 Azure 角色,此角色包含 Azure RBAC 操作“Microsoft.Storage/storageAccounts/listkeys/action”。 此 Azure 角色可以是内置角色,也可以是自定义角色。 支持 Microsoft.Storage/storageAccounts/listkeys/action 的内置角色包括(按权限从小到大的顺序列出):

尝试在 Azure 门户中访问文件数据时,门户首先会检查你是否拥有一个包含“Microsoft.Storage/storageAccounts/listkeys/action”的角色。 如果你被分配了包含此操作的角色,则门户将使用存储帐户密钥来访问文件数据。 如果未分配有包含此操作的角色,则门户会尝试使用你的 Microsoft Entra 帐户访问数据。

重要

在使用 Azure 资源管理器 ReadOnly 锁锁定了某个存储帐户时,不允许为该存储帐户执行列出密钥操作。 “列出密钥”是 POST 操作,并且在为该帐户配置了 ReadOnly 锁时,所有的 POST 操作都会被阻止 。 因此,当帐户被 ReadOnly 锁锁定时,用户必须使用 Microsoft Entra 凭据访问门户中的文件数据。 若要了解如此使用 Microsoft Entra ID 访问 Azure 门户中的文件数据,请参阅使用 Microsoft Entra 帐户

注意

经典订阅管理员角色“服务管理员”和“共同管理员”具有 Azure 资源管理器所有者角色的等效权限。 “所有者”角色包含所有操作,其中包括“Microsoft.Storage/storageAccounts/listkeys/action”,因此,拥有其中一种管理角色的用户也可以使用存储帐户密钥访问文件数据。 有关详细信息,请参阅 Azure 角色、Azure AD 角色和经典订阅管理员角色

指定如何为特定文件共享的操作授权

可以更改单个文件共享的身份验证方法。 默认情况下,门户使用当前的身份验证方法。 若要确定当前身份验证方法,请执行以下步骤。

  1. 导航到 Azure 门户中的存储帐户。
  2. 在服务菜单中的“数据存储”下,选择“文件共享”
  3. 选择文件共享。
  4. 选择“浏览”。
  5. 身份验证方法会指示你当前在使用存储帐户访问密钥还是 Microsoft Entra 帐户对文件共享操作进行身份验证和授权。 如果你当前在使用存储帐户访问密钥进行身份验证,则会看到“访问密钥”已指定为身份验证方法,如下图所示。 如果你在使用 Microsoft Entra 帐户进行身份验证,则会看到“Microsoft Entra 用户帐户”已指定。

显示身份验证方法设为访问密钥的屏幕截图。

使用 Microsoft Entra 帐户进行身份验证

若要切换到使用 Microsoft Entra 帐户,请选择显示“切换到 Microsoft Entra 用户帐户”的图像中突出显示的链接。 如果你通过分配给你的 Azure 角色获得了相应的权限,则可以继续访问。 但是,如果缺少必要的权限,你将看到一条错误消息,指出你无权使用 Microsoft Entra ID 用户帐户列出数据。

使用 Microsoft Entra 帐户需要另外两个 RBAC 权限:

  • Microsoft.Storage/storageAccounts/fileServices/readFileBackupSemantics/action
  • Microsoft.Storage/storageAccounts/fileServices/writeFileBackupSemantics/action

如果你的 Microsoft Entra 帐户缺少查看文件共享的权限,则列表中不会显示任何文件共享。

使用存储帐户访问密钥进行身份验证

若要切换到使用帐户访问密钥,请选择显示“切换到访问密钥”的链接。如果你有权访问存储帐户密钥,则可以继续操作。 但是,如果你无法访问帐户密钥,你将看到一条错误消息,指出你无权使用访问密钥列出数据。

如果你无权访问存储帐户访问密钥,列表中不会显示任何文件共享。

另请参阅