更好地理解Blob存储(Azure)中签名标识符的用途

时间:2011-05-25 01:59:44

标签: azure azure-storage-blobs

在Azure中使用共享访问签名和Blob存储时,我试图了解签名标识符的用途。我知道签名标识符基本上是在容器级别应用的,并且是一个命名的。此外,我知道他们提供的任何共享访问策略有效期超过一小时(而不是指定签名标识符时)。我想我的问题是,您是否只能在容器级别应用具有适当权限和到期时间的共享访问签名?感谢所有回复。


好的,我想我现在就来了。因此,解释SI的最佳方式是它们是容器级别访问控制的另一级抽象。此外,它们允许您指定在撤销策略之前可以应用的策略长度。在显式和SI声明中,撤销几乎都是到期时间。

所以我的下一个问题是,例如,我的政策已被妥协。我究竟如何立即撤销或更改策略(因为我已在我的代码中定义了此策略;如何在不重新部署代码的情况下更改它)?

3 个答案:

答案 0 :(得分:0)

签名标识符是您在特定Container上引用ACL的方式。您需要创建对blob的可撤销访问权限。

如果您创建超过一小时的到期时间,Blob服务可能会返回400错误请求错误,或者只是忽略到期时间并将其设置为1小时。

这是作为平台的一部分完成的,以确保您的数据安全。

有关MSDN Library

中SAS生命周期的更多信息

答案 1 :(得分:0)

与明确指定所有参数相反,签名标识符的主要原因与安全性有关。如果由于某种原因创建了SAS,其中指定了所有参数并且具有有效的HMAC签名,则blob服务将遵守它。想象一下,到期时间没有限制。现在,想象它泄漏。在正常情况下,它只能造成长达一小时的伤害。记住,你已经指定了它中的所有参数,所以你不能改变它。如果您可以指定无限时间,则在未实际更改主存储密钥的情况下无法撤销(这将使sig无效并中断所有现有SAS)。 SI为您提供了一层抽象,以防止必须滚动存储密钥。

签名的标识符(或我喜欢称之为的策略)是延长一小时并且仍然可以的方式。)必要时立即撤销或b。)立即更改。使用SI,您可以更改权限,您可以删除它,您可以更改到期日期,所有这些都可以让您更好地控制现有SAS(无论如何使用SI)的生命和访问权限。

答案 2 :(得分:0)

其实我刚刚回答了我自己的问题。我可以编写代码来引用有问题的容器,并清除当前设置任何容器的访问策略。