我知道我们可以为有特定时间到期的对象生成下载密钥。但是我该如何手动使已经生成的密钥无效?
想象一下,我收到一个成功下载文件的客户端的确认,因此我想使生成的密钥无效。
答案 0 :(得分:1)
您似乎指的是预签名URL ,该URL授予了对Amazon S3中私有对象的时间限制访问。
预先签名的URL使用来自确实的访问密钥的凭据,该凭据具有访问对象的权限。然后,URL用密钥的哈希版本签名以验证请求。这实际上是在说:“我批准这个请求直到这个时间戳。”
没有办法使预先签名的URL无效。。但是,由于批准与身份相关联,因此您可以使该身份的访问对象权限无效,这将使预先身份验证的URL无效。签名的URL。这实际上是在说:“授权您的请求真是太好了,但是您不再有权自己访问它,因此也不能授权任何人!”
示例:
User-A
有权访问私有对象User-A
为对象生成一个预先签名的URL User-A
撤消了权限,因此他们不再具有访问对象的权限这对于您的“仅下载一次”用例不一定奏效。为此,您确实需要通过应用程序发送请求和下载,而不是依靠Amazon S3来实施“仅一次”规则。