创建共享访问签名

已完成

共享访问签名 (SAS) 是一种统一资源标识符 (URI),可授予对 Azure 存储资源的受限访问权限。 SAS 可安全地共享存储资源,而不会危及帐户密钥。

可向不该有权访问你的存储帐户密钥的客户端提供 SAS。 通过向这些客户端分发 SAS URI,可授予它们在一段指定时间内访问资源的权限。

对于用户用来在你的存储帐户中读取和写入其数据的服务,通常要使用 SAS。 存储用户数据的帐户有两种典型设计:

  • 客户端可以通过执行身份验证的前端代理服务上传和下载数据。 此前端代理服务的优点是允许验证业务规则。 如果处理大量数据或事务,则缩放此服务可能很困难

使用前端代理服务访问 Azure 存储的数据示意图。

  • 轻型服务会根据需要对客户端进行身份验证。 接下来,它将生成 SAS。 接收 SAS 的客户端可以直接访问存储帐户资源。 SAS 定义客户端的权限和访问时间间隔。 它减少了通过前端代理服务路由所有数据的需求。

对访问 Azure 存储进行 SAS 身份验证的示意图。

有关共享访问签名的注意事项

让我们回顾 SAS 的一些特征。

  • 通过 SAS,你可以精确控制授予拥有 SAS 的客户端的访问类型。

  • 帐户级 SAS 可以委托对多个 Azure 存储服务(例如 blob、文件、队列和表)的访问权限。

  • 可以指定 SAS 有效的时间间隔,包括开始时间和到期时间。

  • 指定 SAS 授予的权限。 blob 的 SAS 可能授予对该 blob 的读取和写入权限,但不授予删除权限。

  • SAS 提供帐户级控制和服务级控制。

    • 帐户级别。 使用帐户级别 SAS 可允许访问服务级别 SAS 可允许访问的任何内容,以及其他资源和功能。 例如,可以使用帐户级别 SAS 来允许创建文件系统。

    • 服务级别。可以使用服务级别 SAS 来允许访问存储帐户中的特定资源。 例如,可以使用此类型的 SAS 来允许应用检索文件系统中的文件列表或下载某个文件。

    注意

    在服务器端使用服务级 SAS 时,存储访问策略可提供另一级别的控制。 可以使用存储访问策略对 SAS 进行分组并提供其他限制。

  • 有可选的 SAS 配置设置:

    • IP 地址。 可以标识 Azure 存储接受 SAS 的 IP 地址或 IP 地址范围。 配置此选项,以指定属于组织的一系列 IP 地址。

    • 协议。 可以指定 Azure 存储接受 SAS 的协议。 配置此选项,以使用 HTTPS 限制对客户端的访问。

配置共享访问签名

在 Azure 门户中,配置多个设置以创建 SAS。 查看这些详细信息时,请考虑如何在存储安全解决方案中实现共享访问签名。

“创建共享访问签名密钥”页的屏幕截图。

  • 签名方法:选择签名方法:帐户密钥或用户委派密钥。
  • 签名密钥:从密钥列表中选择签名密钥。
  • 权限:选择 SAS 授予的权限,例如读取或写入。
  • 开始和到期日期/时间:指定 SAS 有效的时间间隔。 设置开始时间和到期时间。
  • 允许的 IP 地址:(可选)标识 Azure 存储接受 SAS 的 IP 地址或 IP 地址范围。
  • 允许的协议:(可选)选择 Azure 存储接受 SAS 的协议。