node.js - 在托管在 S3 上的反应(Web)应用程序中使用类似“aws-sdk”(和 process.env)的安全性如何?
问题描述
对于完全在 AWS 中进行全栈开发,我仍然很陌生,并且从未真正探索或尝试过利用我的任何前端 react、react-native 项目。
坦率地说,它aws-amplify
提供了一个非常瘦的客户端层,用于在 Cognito 中进行身份验证。但是与您可以摆脱的情况相比,您非常有限,aws-sdk
例如看到这个问题,有人试图从 Amplify 中的身份池中列出用户,但随后这个评论者出现了,只是直接aws-sdk
与AWS.CognitoIdentityServiceProvider
我只是好奇aws-sdk
从前端暴露或启用类似的东西有多么危险。我很确定这是一个坏主意,但这些天我不知道在这个无服务器的世界里。:/
解决方案
就像其他任何事情一样,这在很大程度上取决于。只要您不提交.env文件(这可能会导致错误),而是通过SSM Parameter Store注入这些变量。使用 cloudformation 或 terraform 之类的东西将它们拉下来,你可以减少你的足迹,并且不太容易出现“哎呀,我不是故意的”错误。
如果您使用 ECS Fargate、ECS EC2、Lambda 或任何其他原生 AWS 服务,这些参数已经存在紧密耦合。如果您完全是前端并且依赖于浏览器,那么像 Amplify 之类的东西会让这更加可行和安全。
推荐阅读
- reactjs - React 上下文更新不会导致组件重新渲染
- google-data-studio - 在 Google 数据洞察中根据单独的年、月和日创建复合日期
- python - 在Python的openpyxl中用颜色填充行Excel
- java - spring-kafka 以非常长的任务多次处理相同的消息。
- caffe - 包含自定义层的 Core ML 模型很慢
- javascript - 使用 setInterval 方法时 MomentJS 不起作用
- swift - 如何从块内部为类变量赋值?
- javascript - 通过 localhost 托管 Firebase 应用程序时无法生成 Fcm 令牌
- reactjs - apollo 客户端缓存更新,但 ui 没有
- javascript - 基于连续扩展的 Angular 2/4 显示图像