2016-01-20 145 views
1

我需要访问来自Amazon AWS S3的对象,而无需在https URL中共享访问密钥。我可以生成无访问密钥的URL并成功访问S3上的对象?AWS S3访问对象witoout aws访问键提到https url

目前我指定的快捷键,如下面的例子:

https://avnishrepotest.s3.amazonaws.com/abc.pdf?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=<<**access_key**>>/20160119/us-west-2/s3/aws4_request&X-Amz-Date=20160119T111336Z&X-Amz-Expires=604800&X-Amz-SignedHeaders=host&X-Amz-Signature=0b6aa20a5949fd869d639f9c9968daa82d0e71c3416ae55d679aa054146b2689. 

我可以生成URL,而不AWS访问密钥和成功下载对象?

+0

你可以考虑使用[presigned URL](http://docs.aws.amazon.com/AmazonS3/latest/dev/ShareObjectPreSignedURL.html)吗? – jacob

回答

1

当您在S3中使用预签名的URL时,您会得到一个临时凭证集。它生成一个访问密钥和一个哈希,其中散列着“私钥”。您可以使用此URL几秒钟。 这些凭据是临时的,根本不是你的。 我不明白为什么它可能仍然是一个问题给你。 你想实现的是不可能的。 如果要“隐藏”访问密钥,则可以使用URL缩短器,但信息仍可访问。

+0

实际上我不想与客户共享AWS访问密钥,由于安全目的 – user1488378

+0

为什么共享临时访问密钥缺乏安全性? –

+0

这是100%安全的共享此签名的网址,访问密钥生成并临时有效,并且您不共享密钥。 – Tom