问题标签 [google-secret-manager]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
1444 浏览

google-cloud-kms - 我应该如何存储机密以在 Google Cloud Platform 中使用?

如果我有凭据需要存储在 Google Compute Engine 或 Google App Engine 中以供构建时使用,我应该如何存储它们?有什么比将它们存储在代码或存储桶中更好的方法吗?

0 投票
4 回答
4004 浏览

node.js - 谷歌云功能:支持谷歌云KMS

我正在使用带有 Pubsub 触发器的 Google Cloud Function (GCF),该触发器将 HTTP 请求发送到第三方 API。

GCF 从不应知道第三方 API 的服务使用的 Pubsub 主题接收通知。

第三方 API 需要使用基本 HTTP 身份验证进行身份验证。

为了不必在我的源代码中硬编码密码,我每次部署我的函数时都使用 Google KMS 生成一个新的加密密钥。每次实例化函数时,我都使用 Google Cloud KMS 来解密密钥。

为了使用 KMS 解密,我必须向 NodeJS Google API 提供服务帐户的私钥。

我今天的主要问题是,如果我希望我的 GCF 正常工作,我必须将我的私钥推送到 GCloud Bucket。

是否可以使用 Runtime Configurator 或 Deployment Manager 为 Google Cloud Function 配置机密?

谢谢。

0 投票
1 回答
694 浏览

google-cloud-platform - 从 KMS 获取 GCP 部署的机密

我想使用 Deployment Manager 在 GCP 中部署 Cloud VPN 隧道

为此,我使用 Python 设置了一个部署脚本,并且我不希望在我的配置中以纯文本形式共享 VPN 隧道的密钥。

所以我尝试包含通过KMS加密的秘密,然后在 python 脚本中调用 KMS 以获取纯文本秘密。

解密秘密的 python 代码如下所示:

但是,如果我部署此代码,我只会从部署管理器中收到以下错误消息:

我还尝试在我的配置 yaml 中包含完整的 google-api-python-client 库,但我仍然收到此错误。

有人知道吗?

0 投票
3 回答
1220 浏览

security - 我应该如何使用 Google Cloud KMS 存储由另一个应用程序生成的访问令牌?

我正在构建一个 Node.js 应用程序,该应用程序从我需要访问的另一个应用程序接收长期访问令牌。我不想将这些访问令牌直接存储在数据库中,因为任何有权访问这些令牌的人基本上都可以用它做任何他们想做的事情。

我是 Cloud KMS 和一般此类系统的新手,但花了最后几个小时学习它。这似乎是解决我的问题的理想解决方案,但我不完全确定应该遵循什么策略来存储这些访问令牌:

  1. 我是否应该在 Cloud KMS 中存储一个加密密钥,并将该加密密钥与像这样的 NPM 包一起使用,以便在我的数据库中存储访问令牌?
  2. 我应该将访问令牌直接存储在 KMS 中吗?我的假设是我将拥有一个密钥库,并且每 14 天轮换一次密钥。每当我收到访问令牌时,我只需对其进行加密并将其存储在 KMS 中。我只将密文存储在我的数据库中。当我需要从 KMS 访问访问令牌时,我使用密文对其进行解密。

以上哪项是使用 KMS 的正确方法?如果是选项 2,我还有其他问题:

  • 我可以使用单个密钥加密大量访问令牌,还是需要为每个访问令牌创建一个新密钥?
  • 如果我需要修改在 KMS 加密的访问令牌,我可以简单地修改它还是需要销毁旧版本并重新加密?

谢谢你的帮助!

0 投票
2 回答
291 浏览

google-cloud-platform - Google Cloud - 保险柜存储、用户名和密码

我在谷歌云上有一个 Windows 服务器,必须创建一个本地用户和密码才能运行该应用程序。

我想将这些凭据存储到谷歌云的保险库中吗?谷歌云中有这样的服务吗?因此,当 ansible deploy 使用这些凭据进行身份验证时

在AWS我们有参数存储,但我不太确定在谷歌云..任何想法都非常感谢。

KMS 保险库,但不是真正的密码管理器

0 投票
5 回答
11817 浏览

google-app-engine - 如何处理 Google App Engine 中的秘密?

我的应用程序需要一堆秘密才能运行:数据库凭据、API 凭据等。它在 Google App Engine 标准 Java 11 中运行。我需要这些秘密作为环境变量或应用程序的参数,以便我的框架可以获取它们并相应地建立连接。我的特定框架是 Spring Boot,但我相信 Django、Rails 和许多其他人使用相同的方法。

这样做的最佳方法是什么?

我对这个问题的答案之一是使用 Google Cloud Key Management,这看起来很有希望,但我不知道如何将这些值转换为 App Engine 中的环境变量。可能吗?我已阅读 Setting Up Authentication for Server to Server Production Applications,但我没有看到任何关于如何在 App Engine 中将机密转换为环境变量的指示(我错过了吗?)。

我见过的其他替代方案包括将它们硬编码到app.yaml另一个从未提交并存在于我的机器中的文件中,这意味着我是唯一可以部署的人......我什至无法从另一台机器部署。这对我来说是个问题。

我见过的另一个潜在解决方案是将问题委托给 Google Cloud Build,以便它从 CKM 获取值/文件并将其推送到 App Engine ( 12 )。我没有使用 GCB,我怀疑我会,因为它是如此基本。

我真的希望 App Engine 有一个像 Heroku 一样的环境变量页面。

0 投票
2 回答
9948 浏览

google-cloud-platform - GCP 中的 KMS 和秘密管理器有什么区别?

我想知道您是否请帮助我解决以下问题。KMS 和 GCP 中的秘密管理器有什么区别?先感谢您。 https://cloud.google.com/secret-manager/docs/ HB

0 投票
0 回答
200 浏览

ruby - 无法从 Rails 6 应用程序的 Google Secret Manager 检索密钥

按照Secret Manager 文档,我创建了一个秘密,现在我尝试以编程方式检索它。我的实现如下所示:

在执行时,我得到以下信息:

另外,我发现了这个问题(大约 2 岁):https ://bugs.ruby-lang.org/issues/14009但建议的解决方案对我不起作用。

我正在运行 OSX 10.14.6、Ruby 2.6.5、Rails 6.0.2.1

0 投票
1 回答
1517 浏览

gcloud - 如何通过 gcloud cli args 或环境变量将 secretEnv 指定给 cloudbuild.yaml

如果我遵循云构建文档,我必须在 cloudbuild.yaml 上指定加密的秘密。

即使它是加密的,我也不会在代码中提交秘密值。请告诉我另一种方式。

前任。通过来自 gcloud 的 args 构建提交命令或环境变量,...等

0 投票
2 回答
807 浏览

kubernetes - 使用 kustomize 直接作为 secretGenerator 从 gcloud secrets manager 中查找秘密

我正在使用(kustomize)设置我的Kubernetes集群。kubectl -k像任何其他这样的安排一样,我在部署过程中依赖一些秘密。我想要走的路线是使用从文件或环境变量中获取我的秘密的secretGenerator功能。kustomize

然而,以安全和可移植的方式管理所述文件或环境变量已证明是一项挑战。特别是因为我有 3 个单独的名称空间用于测试、阶段和生产,每个名称空间都需要一组不同的秘密。

所以我认为肯定有一种方法可以让我以我的云提供商的官方方式(谷歌云平台 - 秘密管理器)管理秘密。

那么secretGenerator访问存储在秘密管理器中的秘密会是什么样子呢?

我天真的猜测是这样的:

  • 这是可能吗?
  • 这个例子会是什么样子?
  • 这是在哪里记录的?
  • 如果这是不可能的,我有什么选择?