amazon-web-services - AWS 放大环境变量与 AWS 机密
问题描述
我有一个使用 AWS Amplify 部署的反应应用程序。我在我的应用程序中使用 Google 地图,我想知道放置 Google Maps API 密钥的正确位置。我已阅读有关 AWS Amplify 环境变量的信息,我们可以在其中将 api 键保存在键值对中。另外,我知道我们有 AWS Secrets,用于保存私有数据。
在我的用例中保存 API 密钥的正确方法是什么?将 api 密钥保存在 Amplify 环境变量中是否足够安全?还是我应该去找 AWS 机密?
解决方案
谷歌地图 api最佳实践包括(完全取决于您使用的是什么):
- 将 API 密钥和签名秘密存储在应用程序源代码之外。
- 将 API 密钥或签名秘密存储在应用程序源代码树之外的文件中。
Amplify 环境变量适合存储:
- 第三方 API 密钥
自从
作为最佳实践,您可以使用环境变量来公开这些配置。您添加的所有环境变量都经过加密以防止恶意访问,因此您可以使用它们来存储机密信息。
所以你可以使用它们,因为它们是Amplify 的原生。Amplify 本身不支持 AWS Secrets Manager,您必须向后端添加额外代码才能使用它们。
需要注意的重要一点是,这些Amplify Environment variables
仅供您的后端服务使用。不是通过前端代码。
推荐阅读
- xml - XSL:通过递归创建值时添加兄弟节点
- c# - 从 char 到单个字符串的隐式转换
- nightwatch.js - 在 Nightwatch.js 中创建一个简单的基本页面对象
- rest - 最合适的 Azure 服务进行数以千计的出站 API 调用
- dialogflow-es - 在 Dialogflow 中使用 $Knowledge.Answer[2] 或 $Knowledge.Answer[3]
- r - 从文本文件中读取 R 表时的奇怪行为
- hyperledger-fabric - 有时启动网络或升级网络时使用 Hyperledger Composer 与 HyperLedger Fabric(分布式)交互失败
- javascript - 表单提交后删除按钮样式
- docker - docker compose nginx代理不重定向
- neo4j - Neo4j 查询错误地返回 null