首页 > 解决方案 > 在托管在 S3 上的反应(Web)应用程序中使用类似“aws-sdk”(和 process.env)的安全性如何?

问题描述

对于完全在 AWS 中进行全栈开发,我仍然很陌生,并且从未真正探索或尝试过利用我的任何前端 react、react-native 项目。

坦率地说,它aws-amplify提供了一个非常瘦的客户端层,用于在 Cognito 中进行身份验证。但是与您可以摆脱的情况相比,您非常有限,aws-sdk例如看到这个问题,有人试图从 Amplify 中的身份池中列出用户,但随后这个评论者出现了,只是直接aws-sdkAWS.CognitoIdentityServiceProvider

我只是好奇aws-sdk从前端暴露或启用类似的东西有多么危险。我很确定这是一个坏主意,但这些天我不知道在这个无服务器的世界里。:/

标签: node.jsreactjsamazon-web-servicesaws-sdkamazon-cognito

解决方案


就像其他任何事情一样,这在很大程度上取决于。只要您不提交.env文件(这可能会导致错误),而是通过SSM Parameter Store注入这些变量。使用 cloudformation 或 terraform 之类的东西将它们拉下来,你可以减少你的足迹,并且不太容易出现“哎呀,我不是故意的”错误。

如果您使用 ECS Fargate、ECS EC2、Lambda 或任何其他原生 AWS 服务,这些参数已经存在紧密耦合。如果您完全是前端并且依赖于浏览器,那么像 Amplify 之类的东西会让这更加可行和安全。


推荐阅读