【问题标题】:AWS S3: Keep token file accessible to application, not to public usersAWS S3:让应用程序而不是公共用户可以访问令牌文件
【发布时间】:2018-02-10 11:20:05
【问题描述】:

我在 S3 上托管一个使用 API 的静态网站。我的 API 身份验证令牌存储在一个 JS 文件中,但我希望对公共用户隐藏它,而不是对我的应用程序。

目前,您似乎需要让每个人都可以公开访问 S3 存储桶(及其所有文件),但我想屏蔽我的配置文件。这可能吗?如果可以,最好的方法是什么?

谢谢!

【问题讨论】:

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


    【解决方案1】:

    亚马逊提供名为Lambda 的服务。它是一种无服务器计算。你用可以用这个来解决。

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

    【讨论】:

      【解决方案2】:

      无论您通过屏蔽它等做什么,您实际上都无法完全隐藏您的令牌,最终您的浏览器会发出 API 调用并传递任何愿意寻找它的人都可以看到的凭据它。

      您想要做的是使用类似 aws cognito 的工具为每个用户(甚至是匿名用户)生成临时的受限令牌。

      Cognito Identity 支持为 未经身份验证的用户和经过身份验证的用户。这消除了 在您的应用程序中增加一个登录屏幕的摩擦,但仍然启用 您使用临时的、有限的特权凭证来访问 AWS 资源。

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

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

      【讨论】:

        猜你喜欢
        • 2012-02-19
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2012-04-12
        • 1970-01-01
        • 2020-07-29
        • 1970-01-01
        • 2019-10-29
        相关资源
        最近更新 更多