使用 Azure Active Directory 验证对 Azure 存储的访问权限

Azure 存储支持为存储服务使用 Azure Active Directory (AD) 进行身份验证和授权。 通过 Azure AD,可以使用基于角色的访问控制 (RBAC) 向用户、组或应用程序服务主体授予访问权限。

与其他授权方式相比,使用 Azure AD 凭据对用户或应用程序进行身份验证可以提供优越的安全性和易用性。 虽然可以继续为应用程序使用共享密钥授权,但是,使用 Azure AD 不需要将帐户访问密钥与代码存储在一起。 也可以继续使用共享访问签名 (SAS) 授予对存储帐户中的资源的精细访问权限,但 Azure AD 提供了类似的功能,并且不需要管理 SAS 令牌,也不需要担心吊销已泄露的 SAS。 Azure 建议尽量对 Azure 存储应用程序使用 Azure AD 身份验证。

可以针对所有公共区域的所有常规用途 v2 帐户、常规用途 v1 帐户和 Blob 存储帐户使用 Azure AD 凭据进行身份验证和授权。 仅通过 Azure 资源管理器部署模型创建的存储帐户支持 Azure AD 授权。

Note

  • 适用于 blob 和队列的 Azure AD 身份验证预览版仅可用于非生产用途。 生产服务级别协议 (SLA) 当前不可用。 如果你的方案尚不支持 Azure AD 身份验证,请继续使用应用程序中的共享密钥授权或 SAS 令牌。

  • 预览期间,RBAC 角色分配可能需要最多五分钟的时间进行传播。

  • 要使用 OAuth 令牌授权 blob 和队列操作,必须使用 HTTPS。

  • Azure 门户现支持使用 Azure AD 凭据来读取和写入 blob 和队列数据,这是预览版本中的一部分。 若要访问 Azure 门户中的 Blob 和队列数据,则除了适用于 Blob 或队列访问的预览角色,用户还必须获得 Azure 资源管理器读者 RBAC 角色。 有关详细信息,请参阅在 Azure 门户中使用 RBAC 授予对 Azure 容器和队列的访问权限(预览)

  • Azure 存储资源管理器当前使用存储帐户密钥访问 blob 和队列数据。 Blob 支持 OAuth 访问。

用于 Azure 存储的 Azure AD 概述

将 Azure AD 与 Azure 存储集成的第一步是为服务主体(用户、组或应用程序服务主体)或 Azure 资源的托管标识分配对存储数据的 RBAC 角色。 RBAC 角色包含针对存储服务的共有权限集。 若要详细了解如何为 Azure 存储分配 RBAC 角色,请参阅通过 RBAC 管理存储数据访问权限

Azure CLI 和 PowerShell 现在支持使用 Azure AD 标识创建日志记录。 使用 Azure AD 标识登录后,会话将以该标识的名义运行。 若要了解详细信息,请参阅使用 Azure AD 标识通过 CLI 或 PowerShell 访问 Azure 存储

Azure 存储的 RBAC 角色

Azure Active Directory (Azure AD) 通过基于角色的访问控制 (RBAC) 授权访问受保护的资源。 Azure 存储定义了一组内置的 RBAC 角色,它们包含用于访问存储帐户的通用权限集。

将 RBAC 角色分配到 Azure AD 安全主体后,Azure 会向该安全主体授予对这些资源的访问权限。 访问权限可以局限到订阅、资源组或存储帐户级别。 Azure AD 安全主体可以是用户、组或应用程序服务主体。

Azure 提供以下内置的 RBAC 角色,用于访问存储数据:

有关如何为 Azure 存储定义内置角色的详细信息,请参阅了解角色定义。 若要了解如何创建自定义 RBAC 角色,请参阅针对 Azure 基于角色的访问控制创建自定义角色

若要了解如何在 Azure 门户中分配内置的角色,请参阅在 Azure 门户中使用 RBAC 授予对 Azure 容器和队列的访问权限

通过 RBAC 角色授予的访问权限

有关调用 Azure 存储操作所需的权限的详细信息,请参阅用于调用 REST 操作的权限

后续步骤