问题标签 [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 投票
1 回答
2660 浏览

google-cloud-platform - GKE Secrets 或 Google 机密管理器

有谁知道在哪种情况下选择 Kubernetes 机密而不是谷歌机密管理器,反之亦然?两者的区别?

0 投票
0 回答
190 浏览

google-cloud-platform - 有没有办法查询 Google Secrets Manager?

Google Secret Manager 支持设置标签。UI 支持按名称或标签过滤。但是,除了将它们全部扫描之外,我找不到以任何理智的方式搜索秘密的方法。我错过了什么吗?

链接到 REST API: https ://cloud.google.com/secret-manager/docs/reference/rest/v1/projects.secrets/list

0 投票
1 回答
388 浏览

node.js - 如何从 GCP Secret Manager 中读取二进制密钥

我正在尝试将 pfx 证书存储在 GCP 机密管理器上。我的节点应用程序在通过 fs.readFileSync 从本地文件系统读取证书文件时工作正常,但是当我通过 gcp 秘密管理器客户端库获取证书时,我在节点 http 请求期间收到一个mac 验证错误(密码也是正确的并存储在gcp 秘密管理器,用 openssl 检查过)。

我的请求是带有以下选项的 node/https,

我访问证书的方式是通过下面的getSecretData:

PS:使用 node-config 将证书存储在实例中并通过以下方式访问它们

0 投票
1 回答
1383 浏览

java - 在 java 中使用 google-cloud-secretmanager 客户端库访问多个谷歌云项目的 Secret Manager

我使用 GCP 密钥管理器使用google-cloud-secretmanager客户端库 (Java) 存储密码。客户端库需要环境变量中 gcp 项目的服务帐户密钥 (json) 文件路径。我可以为单个项目执行此操作,但是当我尝试访问多个 GCP 项目的 Secret manager 时,我不知道如何在环境变量中为不同项目设置密钥。在环境中设置键时需要帮助,或者有没有办法使用 java 代码来设置它。

我正在使用这个 Maven 依赖项

https://cloud.google.com/secret-manager/docs/reference/libraries

提前致谢。

0 投票
1 回答
411 浏览

google-cloud-platform - 如何通过 CLI 在 GCP 中设置密钥的值?

我有用 bash 编写的脚本,我在其中创建了一个具有特定名称的密钥。

我还希望能够直接将秘密值添加到我的秘密中,这样我就不必进入我的 GCP 帐户并手动设置它(这会破坏目的)。我已经看到可以通过以下命令附加文件,但是对于秘密值似乎没有类似的命令。

0 投票
1 回答
130 浏览

google-cloud-platform - GCP秘密管理器本身返回连接字符串,我怎样才能让它返回我的秘密?

我在 GCP 上有一个秘密,即用秘密值“Hello”打招呼。在我的应用程序中,我有以下代码。

通过运行以下命令,我得到了值 (projects/221608087928/secrets/greeting)。

我会假设我的浏览器返回“你好”。但是它返回“//projects/221608087928/secrets/greeting”。我的 POM 中安装了 gcp-secret-manager 依赖项。如何让以下代码返回秘密值?

0 投票
2 回答
1397 浏览

docker - 如何使用 Google Secrets Manager 在 Google Cloud Build 中创建 docker ARG?

我正在 GCB 上进行构建,我需要在其中安装私有依赖项,因此我正在使用 Google Secrets Manager。我的 cloudbuild.yaml 看起来像这样:

但是,$(cat decrypted-pat.txt)没有得到评估。插入:RUN echo https://${PERSONAL_ACCESS_TOKEN_GITHUB}@github.com到我的 dockerfile 中只是简单地回显了文字:当然, https://$(cat decrypted-pat.txt)@github.com这不是我正在寻找的命令(是的,如果我得到实际成功回显的东西,我将旋转令牌)。

gcb / secrets 文档中有一条注释

要在环境变量中使用密钥,您需要在变量名称前加上下划线“_”并使用 '(' 转义值。例如:_VARIABLE_NAME=$(cat password.txt) && echo -n )_VARIABLE_NAME。

但这对我在构建参数中使用没有多大意义。

如何将这个秘密的实际值作为构建参数放入容器中?

0 投票
1 回答
326 浏览

php - GCE Secret Manager 通过 php 应用程序显示测试秘密

我是 Secret manager 的新手,我正在尝试使用 php 应用程序显示测试秘密。部署应用程序时我得到的只是错误 500。根据 gcp 文档(Secret Manager Secret Accessor + Storage Object Admin),我为我的 xxxx@appspot.gserviceaccount.com 服务帐户提供了所需的角色我还从云 shell 安装了 composer所以我真的无法发现我做错了什么。

这是我的 composer.json

这就是我的代码的样子:

感谢您的帮助...我不知道该尝试什么了:-(

0 投票
2 回答
2066 浏览

google-cloud-platform - 如何通过 Terraform 在 Google Cloud Secret Manager 中创建一个秘密?

这是官方页面:https ://registry.terraform.io/providers/hashicorp/google/latest/docs/resources/secret_manager_secret

我创建了这些文件:

变量.tf

主文件

输出.tf

应用时出现错误:

所以我通过 gcloud cli 创建了这个秘密:

然后再次应用 terraform,它说Error: project: required field is not set

如果使用 terraform 创建具有真实价值的秘密,怎么办?

0 投票
2 回答
495 浏览

java - 从 ComputeEngineCredentials 获取 ServiceAccountCredentials 来进行用户模拟

我正在部署一个 Java API,它通过 Domain-widge 委派进行用户模拟以访问用户的日历。为此,我创建了一个服务帐户,完成了委派并为其授予了正确的权限和对用户日历的访问权限。

在本地开发时,我一直在使用 JSON 格式的服务帐户的下载密钥,并使用 GOOGLE_APPLICATION_CREDENTIALS 环境变量指向它。在我的代码中,我使用 Java 客户端库创建这样的凭据:

这在本地运行良好,但在 Cloud Run 中运行时,我得到:

经过数小时的调试,我想我终于明白了它是如何getApplicationDefault工作的。我认为本地发生的事情是这样的:

  1. getApplicationDefault 首先查看环境变量 GOOGLE_APPLICATION_CREDENTIALS,因为它已设置,所以它从该文件中读取凭据
  2. 因为该文件是服务帐户密钥文件,所以它会创建一个 ServiceAccountCredentials 实例,因此“强制转换”成功。

在 Cloud Run 中,它会这样发生:

  1. getApplicationDefault 首先查看环境变量 GOOGLE_APPLICATION_CREDENTIALS,但在 Cloud Run 上未设置
  2. 因此,它通过从元数据服务器获取凭据并将它们作为 ComputeEngineCredentials 的实例返回(因为元数据服务器不分发服务帐户的密钥),从而回退到服务帐户身份。
  3. 然后它尝试将 ComputeEngineCredentials 转换为 ServiceAccountCredentials,这显然不起作用。

所以现在我的问题仍然存在:

  1. 如何将一些 ComputeEngineCredentials 转换为 ServiceAccountCredentials?
  2. 是否有其他方法可以将凭据作为 ServiceAccountCredentials 的实例来获取?
  3. 是否有其他不需要 ServiceAccountCredentials 实例的用户模拟方法?

我目前的想法是使用我得到的 ComputeEngineCredentials,在服务启动时从 Secret Manager 获取服务帐户 JSON 密钥文件,然后将该文件传递给 ServiceAccountCredentials.fromStream 但这感觉像是一个额外的步骤,因为我将使用的 ComputeEngineCredentials 是已经是我要为其获取密钥的同一服务帐户的凭据。