了解共享访问签名
最佳做法是,不应与外部第三方应用程序共享存储帐户密钥。 如果这些应用需要访问你的数据,则需要在不使用存储帐户密钥的情况下保护其连接。
对于不受信任的客户端,请使用共享访问签名 (SAS)。 SAS 是一个字符串,其中包含可以附加到 URI 的安全令牌。 可使用 SAS 委派对存储对象的访问权限并指定约束,例如权限和访问时间范围。
例如,可以为客户提供 SAS 令牌,以便他们可以将图片上传到 Blob 存储中的文件系统。 可以单独为某个 Web 应用提供读取这些图片的权限。 在这两种情况下,仅允许应用程序执行任务所需的访问权限。
共享访问签名的类型
可以使用服务级别 SAS 来允许访问存储帐户中的特定资源。 例如,可以使用此类型的 SAS 来允许应用检索文件系统中的文件列表或下载某个文件。
使用帐户级别 SAS 可允许访问服务级别 SAS 可允许访问的任何内容,以及其他资源和功能。 例如,可以使用帐户级别 SAS 来允许创建文件系统。
对于用户用来在你的存储帐户中读取和写入其数据的服务,通常要使用 SAS。 存储用户数据的帐户有两种典型设计:
- 客户端通过执行身份验证的前端代理服务上传和下载数据。 此前端代理服务的优点是允许验证业务规则。 但如果该服务必须处理大量数据或大量事务,你可能会发现缩放此服务以满足需求会很复杂或成本高昂。
- 轻型服务会根据需要对客户端进行身份验证。 接下来,它将生成 SAS。 在收到 SAS 后,客户端可以直接访问存储帐户资源。 SAS 定义客户端的权限和访问时间间隔。 它减少了通过前端代理服务路由所有数据的需求。