创建共享访问签名
共享访问签名 (SAS) 是一种统一资源标识符 (URI),可授予对 Azure 存储资源的受限访问权限。 SAS 可安全地共享存储资源,而不会危及帐户密钥。
可向不该有权访问你的存储帐户密钥的客户端提供 SAS。 通过向这些客户端分发 SAS URI,可授予它们在一段指定时间内访问资源的权限。
对于用户用来在你的存储帐户中读取和写入其数据的服务,通常要使用 SAS。 存储用户数据的帐户有两种典型设计:
- 客户端可以通过执行身份验证的前端代理服务上传和下载数据。 此前端代理服务的优点是允许验证业务规则。 如果处理大量数据或事务,则缩放此服务可能很困难
- 轻型服务会根据需要对客户端进行身份验证。 接下来,它将生成 SAS。 接收 SAS 的客户端可以直接访问存储帐户资源。 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 的协议。