【发布时间】:2021-04-27 11:20:26
【问题描述】:
我正在向 Azure 存储帐户发送 blob。我有一个客户和 3 个 IOT 客户,每个客户都写入自己的容器。
我使用共享访问策略为每个容器创建一个 SAS URI。
创建共享访问策略时,我没有使用过期数据。生成的 SAS URI 被复制到配置文件中,每个客户端都使用该配置文件将 blob 写入存储。
这很好用。在客户端上,我使用
创建容器CloudBlobContainer _container = new CloudBlobContainer(new Uri("https://myhubstorage.blob.core.windows.net/containername?sv=2015-04-05&sr=c&si=containername&sig=xxxxx"));
上面的令牌是从配置文件中检索到的
发送我使用的 blob
var newBlob = _container.GetBlockBlobReference(filePath);
现在这可行,但我不确定这是否是最好的方法。原因是用于创建容器 SAS 令牌的共享访问策略没有到期。我不想在每次容器过期时为其分发新的 SAS 令牌(必须更新配置文件。 此外,我不希望客户端有权访问存储帐户密钥)。
如果客户端受到威胁,我可以撤销共享访问策略,这样其他客户端就不会受到影响。
但这是解决安全问题的最佳方法吗?输入将不胜感激。
【问题讨论】:
标签: azure-storage iot