登录
首页 >  Golang >  Go问答

在 Google App Engine 中如何安全地管理凭据和敏感数据?

来源:stackoverflow

时间:2024-02-20 10:45:24 150浏览 收藏

怎么入门Golang编程?需要学习哪些知识点?这是新手们刚接触编程时常见的问题;下面golang学习网就来给大家整理分享一些知识点,希望能够给初学者一些帮助。本篇文章就来介绍《在 Google App Engine 中如何安全地管理凭据和敏感数据?》,涉及到,有需要的可以收藏一下

问题内容

我有一个网络应用程序,所有配置都定义在一个文件中,其中包括密码、机密和其他配置。部署到 App Engine 时提供这些设置的安全且简单的方法是什么? 我有 2 个文件:config.dev.yaml 和 config.prod.yaml。

我找到的解决方案:

  • Google 云密钥管理器 (GKM),但我认为该解决方案似乎成本高昂且实施起来很复杂。
  • 将机密作为环境变量放入 app.yaml 中。很多人说这不安全?
  • 在带有源代码的部署中包含配置文件。人们也说这是一个坏主意。

解决方案我正在考虑,但不确定它是否有效: 将我的所有配置存储在 Firestore 中,并在构建时提取它们?

我花了一整天的时间寻找这个问题的答案,似乎没有人有一个“标准”的简单解决方案。


解决方案


秘密必须保密。因此,将机密以纯文本形式放入环境变量或配置文件中并不是一个好主意。在这两种情况下,您都将提交存储库中的文件,这也很难看。

因此,您需要对这些秘密保密,直到需要使用它们为止。

  • 您可以使用 KMS 自行管理加密/解密。但这并不是很有趣,而且需要实现很多额外的代码。最后,您仅存储秘密的加密版本
  • 您可以使用 Secret manager。您仅存储秘密引用,并且简单的 API 调用即可让您获取秘密。并且您仅将秘密管理器引用存储在文件中。

这些安全解决方案的主要问题是您是否有可以自动从配置中自动加载值的框架或库。因此,您必须在应用程序启动时实现一个钩子,将值从秘密形式转换为纯文本,然后继续正常加载。

如果您使用相同的语言,我就能找到答案。

本篇关于《在 Google App Engine 中如何安全地管理凭据和敏感数据?》的介绍就到此结束啦,但是学无止境,想要了解学习更多关于Golang的相关知识,请关注golang学习网公众号!

声明:本文转载于:stackoverflow 如有侵犯,请联系study_golang@163.com删除
相关阅读
更多>
最新阅读
更多>
课程推荐
更多>