AyK*_*rsi 25 amazon-s3 amazon-web-services
我想向我的s3桶提供预付费网址,并提供有效期限..net sdk很好地生成了这些网址,但看着它们让我有点担心:
https://s3.amazonaws.com/upload_youtipit/myfile?AWSAccessKeyId=**MYACCESSKEY**&Expires=1317924047&response-content-disposition=attachment;filename=feedback.jpg&response-content-type=image/jpeg&Signature=podKJSrNeFel6%2B0aOneb342H5GA%3D
Run Code Online (Sandbox Code Playgroud)
为什么需要将我的(公共)AWSAccessKey放入Url?这不应该保密吗?我知道这不是秘密,但我仍然觉得在公开场合露出它感觉不舒服.
有多少人拥有我的公钥,可以猜测/暴力破解我的私钥?
Eri*_*ond 32
访问密钥ID不是秘密,不需要保护.
实际上,如果您希望它们访问S3对象,您可以将随机URL提供给随机的陌生人.他们可以看到该URL中的访问密钥,但无法对您未授权的任何内容执行任何操作.
参考:http://docs.amazonwebservices.com/AWSSecurityCredentials/1.0/AboutAWSCredentials.html#AccessKeys
Tom*_*sen 10
我同意接受的答案,但有一种简单的方法可以做你想要的.
您需要使用Amazon IAM来创建只能读取文件的用户(这并不重要,但它们至少需要只读取您正在处理的存储桶).然后使用THAT用户AWS ID和secret生成下载链接.
这并没有打开你的整个桶,因为看到这个人需要这个IAM'读者'用户的AWSID的整个桶,加上他们的密钥.您仍然需要构建时间限制的URL.
您可以使用IAM控制台在几分钟内创建这样的用户.您只有一次机会获得密钥 - 在您创建用户时(或者如果您旋转其密钥).
应该这样做.此AWSID无权访问任何内容,并且未与您链接.
通常,亚马逊现在建议您的主要AWSID不用于"任何事情".您在IAM中创建具有权限的用户,然后使用这些代码.这允许很多安全灵活性.您可以在IAM控制台中通过简单操作关闭只读用户.
归档时间: |
|
查看次数: |
8869 次 |
最近记录: |