AWS S3:使应用程序可以访问令牌文件,而不是公共用户

时间:2018-02-10 11:20:05

标签: api amazon-web-services amazon-s3 key

我在S3上托管一个使用API​​的静态网站。我的API的身份验证令牌存储在一个JS文件中,但我希望保持对公共用户的模糊,但不是来自我的应用程序。

目前看起来你需要让所有人公开访问S3存储桶(及其所有文件),但我想屏蔽我的配置文件。这是可能的,如果是这样,最好的方法是什么?

谢谢!

2 个答案:

答案 0 :(得分:0)

亚马逊提供名为Lambda的服务。它是无服务器计算。您使用可以使用此解决。

您可以在Lambda中编写auth函数,您可以在其中放置api身份验证令牌。

答案 1 :(得分:0)

你真的不能完全隐藏你的令牌,无论你做什么掩盖它等等,最终你的浏览器发出一个API调用并传递凭据,任何关心它的人都可以看到它它

你想要做的是使用像aws cognito这样的东西来为每个用户生成临时的,受限制的令牌,甚至是匿名用户。

  

Cognito Identity支持创建和令牌自动贩卖流程   未经身份验证的用户以及经过身份验证的用户。这删除了   您的应用中的其他登录屏幕的摩擦,但仍然启用   您可以使用临时的有限权限凭据来访问AWS   资源。

https://aws.amazon.com/cognito/faqs/

如果你这样做,有人仍然可以看到正在使用的令牌,但它是时间和许可限制 - 而不是王国的钥匙,所以他们不能用它做很多。