使用 Azure 存储资源提供程序访问管理资源
Azure 资源管理器是 Azure 的部署和管理服务。 Azure 存储资源提供程序是基于 Azure 资源管理器的服务,提供对 Azure 存储管理资源的访问。 可以使用 Azure 存储资源提供程序来创建、更新、管理和删除存储帐户、专用终结点和帐户访问密钥等资源。 有关 Azure 资源管理器的详细信息,请参阅 Azure 资源管理器概述。
可以使用 Azure 存储资源提供程序执行多种操作,例如,创建或删除存储帐户,或者获取订阅中的存储帐户列表。 若要授权针对 Azure 存储资源提供程序发出的请求,请使用 Microsoft Entra ID。 本文介绍如何向管理资源分配权限,并通过示例来演示如何对 Azure 存储资源提供程序发出请求。
管理资源与数据资源
Azure 提供两个 REST API 用于处理 Azure 存储资源。 这些 API 构成了可对 Azure 存储执行的所有操作的基础。 使用 Azure 存储 REST API 可以处理存储帐户中的数据,包括 Blob、队列、文件和表数据。 使用 Azure 存储资源提供程序 REST API 可以处理存储帐户和相关的资源。
读取或写入 Blob 数据的请求所需的权限不同于执行管理操作的请求。 Azure RBAC 为两种类型的资源提供精细的权限控制。 向安全主体分配 Azure 角色时,请确保了解要向主体授予的权限。 有关与每个 Azure 内置角色关联的操作的详细参考,请参阅 Azure 内置角色。
Azure 存储支持使用 Microsoft Entra ID 来授权针对 Blob 和队列存储发出的请求。 有关用于 Blob 和队列数据操作的 Azure 角色的信息,请参阅使用 Active Directory 授权访问 Blob 和队列。
使用 Azure 基于角色的访问控制 (Azure RBAC) 分配管理权限
每个 Azure 订阅都有一个用于管理用户、组和应用程序的关联 Microsoft Entra ID。 在 Microsoft 标识平台的上下文中,用户、组或应用程序也称为安全主体。 可以使用 Azure 基于角色的访问控制 (Azure RBAC) 向 Active Directory 中定义的安全主体授予对订阅中资源的访问权限。
向安全主体分配某个 Azure 角色时,还需要指明该角色授予的权限在哪个范围生效。 对于管理操作,可以在订阅、资源组或存储帐户级别分配角色。 可以使用 Azure 门户、Azure 经典 CLI、PowerShell 或 Azure 存储资源提供程序 REST API 向安全主体分配 Azure 角色。
有关详细信息,请参阅什么是 Azure 基于角色的访问控制 (Azure RBAC)?和 Azure 角色、Microsoft Entra 角色和经典订阅管理员角色。
用于管理操作的内置角色
Azure 提供用于授权调用管理操作的内置角色。 Azure 存储还提供专用于 Azure 存储资源提供程序的内置角色。
授权调用存储管理操作的内置角色包括下表中所述的角色:
Azure 角色 | 说明 | 是否包括对帐户密钥的访问权限? |
---|---|---|
所有者 | 可以管理所有存储资源和访问资源。 | 是,提供查看和重新生成存储帐户密钥的权限。 |
参与者 | 可以管理所有存储资源,但不能管理资源访问。 | 是,提供查看和重新生成存储帐户密钥的权限。 |
读者 | 可以查看有关存储帐户的信息,但不能查看帐户密钥。 | 否。 |
存储帐户参与者 | 可以管理存储帐户、获取有关订阅的资源组和资源的信息,以及创建和管理订阅资源组部署。 | 是,提供查看和重新生成存储帐户密钥的权限。 |
用户访问管理员 | 可以管理对存储帐户的访问权限。 | 是,允许安全主体将任何权限分配给自身和其他对象。 |
虚拟机参与者 | 可以管理虚拟机,但不能管理虚拟机连接到的存储帐户。 | 是,提供查看和重新生成存储帐户密钥的权限。 |
表中的第三列指示内置角色是否支持 Microsoft.Storage/storageAccounts/listkeys/action。 此操作授予读取和重新生成存储帐户密钥的权限。 访问 Azure 存储管理资源的权限不同时包括访问数据的权限。 Azure RBAC 提供单独的内置角色,以用于授权数据访问。 但是,如果用户有权访问帐户密钥,则他们可以使用帐户密钥通过共享密钥授权来访问 Azure 存储数据。
用于管理操作的自定义角色
Azure 还支持定义用于访问管理资源的 Azure 自定义角色。 有关自定义角色的详细信息,请参阅 Azure 自定义角色。
代码示例
有关演示如何从 Azure 存储管理库授权和调用管理操作的代码示例,请参阅以下示例:
Azure 资源管理器与经典部署
Resource Manager 部署模型和经典部署模型代表两种不同的 Azure 解决方案部署和管理方式。 Azure 建议在创建新的存储帐户时使用 Azure 资源管理器部署模型。 Azure 还建议在可能的情况下,使用资源管理器模型重新创建现有的经典存储帐户。 尽管可以使用经典部署模型创建存储帐户,但经典模型较不灵活,且最终将被弃用。
有关 Azure 部署模型的详细信息,请参阅资源管理器和经典部署。