你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn

授权对 Azure 存储的请求

对 Blob、文件、队列或表服务中安全资源提出的每个请求都必须获得授权。 授权可确保存储帐户中的资源仅在你想要它们被访问时可访问,并且仅可供你授予访问权限的用户或应用程序访问。

下表介绍了多个选项,Azure 存储提供这些选项,用于授权对资源的访问:

Azure 项目 共享密钥(存储帐户密钥) 共享访问签名 (SAS) Azure Active Directory (Azure AD) 本地 Active Directory 域服务 匿名公共读取访问权限
Azure Blob 支持 支持 支持 不支持 支持
Azure 文件存储 (SMB) 支持 不支持 受 Azure AD 域服务或 Azure AD Kerberos 支持 支持,凭据必须同步到 Azure AD 不支持
Azure 文件存储 (REST) 支持 支持 支持 不支持 不支持
Azure 队列 支持 支持 支持 不支持 不支持
Azure 表 支持 支持 支持 不支持 不支持

下面简要介绍每个授权选项:

  • Azure Active Directory (Azure AD) :Azure AD 是 Microsoft 基于云的标识和访问管理服务。 Azure AD 集成可用于 Blob、文件、队列和表服务。 借助 Azure AD,你可通过基于角色的访问控制 (RBAC) 向用户、组或应用程序分配细粒度访问权限。 有关 Azure AD 与 Azure 存储集成的信息,请参阅 使用 Azure Active Directory 授权

  • 适用于 Azure 文件存储的 Azure Active Directory 域服务 (Azure AD DS) 授权。 Azure 文件存储支持通过 Azure AD DS 使用服务器消息块 (SMB) 进行基于标识的授权。 可以使用 RBAC 对客户端对存储帐户中Azure 文件存储资源的访问进行精细控制。 有关使用域服务Azure 文件存储身份验证的详细信息,请参阅Azure 文件存储基于标识的授权

  • Active Directory (AD) Azure 文件存储 授权。 Azure 文件存储支持通过 AD 通过 SMB 进行基于标识的授权。 AD 域服务可以托管在本地计算机或 Azure VM 中。 支持使用已加入域的计算机(本地或 Azure 中的)的 AD 凭据对文件的 SMB 访问。 可以将 RBAC 用于共享级别访问控制,使用 NTFS DAC 执行目录和文件级别权限。 有关使用域服务Azure 文件存储身份验证的详细信息,请参阅Azure 文件存储基于标识的授权

  • 共享密钥: 共享密钥授权依赖于帐户访问密钥和其他参数来生成加密签名字符串,该字符串根据 授权 标头中的请求传递。 有关共享密钥授权的详细信息,请参阅 使用共享密钥授权

  • 共享访问签名: 共享访问签名 (SAS) 指定权限和指定时间间隔委托对帐户中特定资源的访问权限。 有关 SAS 的详细信息,请参阅 使用共享访问签名委托访问权限

  • 对容器和 Blob 的匿名访问: 可以选择在容器或 Blob 级别公开 Blob 资源。 任何用户都可访问公共容器或 Blob 来实现匿名读取访问。 针对公共容器和 Blob 的读取请求不需要授权。 有关详细信息,请参阅 为 Azure Blob 存储中的容器和 Blob 启用公共读取访问权限

提示

使用 Azure AD 对 Blob、文件、队列和表数据的访问进行身份验证和授权可提供优于其他授权选项的安全性和易用性。 例如,使用 Azure AD,你无需像使用共享密钥授权那样将帐户访问密钥与代码存储在一起。 尽管你可以继续对 Blob 和队列应用程序使用共享密钥授权,但 Microsoft 建议你尽可能迁移到 Azure AD。

同样,你可以继续使用共享访问签名 (SAS) 授予对存储帐户中的资源的精细访问权限,但 Azure AD 提供了类似的功能,并且不需要管理 SAS 令牌,也不需要担心吊销已泄露的 SAS。

有关 Azure 存储中的 Azure AD 集成的详细信息,请参阅 使用 Azure Active Directory 授权访问 Azure Blob 和队列