选择何时使用共享访问签名
若要为任何客户端提供对存储帐户中的资源的安全访问权限(否则该客户端无权访问这些资源),请使用 SAS。
SAS 通常适用于用户需要在存储帐户中读取和写入其数据的服务情形。 在存储帐户存储用户数据的情形中,有两种典型的设计模式:
客户端通过执行身份验证的前端代理服务上传和下载数据。 此前端代理服务的优势在于允许验证业务规则,但对于大量数据或大量事务,创建可扩展以匹配需求的服务可能成本高昂或十分困难。
轻型服务按需对客户端进行身份验证,并生成 SAS。 客户端应用程序收到 SAS 后,可以直接使用 SAS 定义的权限根据 SAS 允许的间隔访问存储帐户资源。 SAS 减少了通过前端代理服务路由所有数据的需要。
许多现实世界的服务可能会混合使用这两种方法。 例如,可能通过前端代理对某些数据进行处理和验证,同时使用 SAS 直接保存和/或读取其他数据。
此外,在某些方案的复制操作中,需要使用 SAS 来授权访问源对象:
将一个 Blob 复制到驻留在其他存储帐户中的另一个 Blob 时,必须使用 SAS 授予对源 Blob 的访问权限。 还可以选择使用 SAS 授予对目标 Blob 的访问权限。
将一个文件复制到驻留在其他存储帐户中的另一个文件时,必须使用 SAS 授予对源文件的访问权限。 还可以选择使用 SAS 授予对目标文件的访问权限。
将一个 Blob 复制到一个文件,或将一个文件复制到一个 Blob 时,必须使用 SAS 授予对源对象的访问权限,即使源对象和目标对象驻留在同一存储帐户中。