我找不到任何用于撤消blob上创建的共享访问签名访问的代码示例,任何人都可以提供链接或引用来删除之前创建的共享访问签名访问权。
答案 0 :(得分:5)
除非基于存储的访问策略,否则无法撤消共享访问签名。有关详细信息,请参阅http://msdn.microsoft.com/en-us/library/azure/dn140257.aspx:
要撤消存储的访问策略,您可以删除它,也可以重命名 它通过更改签名的标识符。更改签名的标识符 打破任何现有签名和存储的签名之间的关联 访问政策。删除或重命名存储的访问策略 立即影响关联的所有共享访问签名 用它。
答案 1 :(得分:1)
即使共享访问签名(SAS)基于存储的访问策略(SAP),您也只能撤消SAP,而不能撤消单个SAS。
Azure Storage安全指南具有详细信息: https://docs.microsoft.com/en-us/azure/storage/common/storage-security-guide#revocation
不基于SAP的SAS-无法撤消:
如果使用临时URI,则有三个选项。您可以使用短有效期策略发行SAS令牌,并等待SAS过期。您可以重命名或删除资源(假设令牌的作用域为单个对象)。您可以更改存储帐户密钥。最后一个选项可能会产生重大影响,具体取决于正在使用该存储帐户的服务数量,如果没有任何计划,您可能就不想这样做。
基于SAP的SAS-可以通过吊销SAP吊销:
如果您使用的是从“存储访问策略”派生的SAS,则可以通过撤消“存储访问策略”来删除访问权限–您可以更改它以使其已过期,或者可以完全删除它。这将立即生效,并使使用该存储访问策略创建的每个SAS无效。 更新或删除存储访问策略可能会影响人们通过SAS访问特定的容器,文件共享,表或队列,但是如果编写了客户端,则当旧客户端无效时,他们会请求新的SAS ,就可以正常工作。
最佳做法:
由于使用从存储访问策略派生的SAS,您可以立即撤销该SAS,因此建议的最佳做法是始终使用存储访问策略。
答案 2 :(得分:0)
答案 3 :(得分:0)
重新生成帐户密钥将导致使用该密钥的所有应用程序组件都无法授权,直到它们被更新为使用其他有效帐户密钥或新生成的帐户密钥为止。重新生成帐户密钥是立即撤销临时SAS的唯一方法。