问题标签 [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 回答
950 浏览

google-cloud-run - 谷歌云秘密管理器nodejs getsecret问题

我需要在 Cloudrun 应用程序中从 Google Secret Manager 获取密码。我的代码:

在部署期间接收...

0 投票
0 回答
45 浏览

javascript - 异步函数返回 Promise{pending} 而不是一个值

我需要该函数getAUTH返回一个值,我稍后将分配给变量“AUTH”,但它返回 Promise {pending}。这是我的代码:

尝试像这样解决承诺: const AUTH = getAUTH().then(res => res) 但是分配值 AUTH 仍然没有返回值。在函数外部声明的变量可以从 Promise 中赋值吗?

我会很感激这方面的任何帮助。

0 投票
1 回答
179 浏览

google-cloud-platform - 在 Google Cloud Run 中找不到将创建的秘密添加到变量的选项 - 文档具有误导性

我想添加一个秘密来通过我的 Cloud Run Managed 应用程序访问我的 Mongo Atlas 数据库。我遵循了本指南:https ://cloud.google.com/run/docs/configuring/using-secrets?hl=en

它描述了首先创造秘密——我做到了

在此处输入图像描述

然后我必须将秘密添加到我的 Cloud Run 服务中。但是我找不到这样做的选项。我只看到创建“环境变量”的选项。

这是我在遵循文档时期望找到的

在此处输入图像描述

但我只能看到这个

在此处输入图像描述

我是否错过了为我的 Cloud Run 服务预先配置一些东西来“激活”机密?

0 投票
1 回答
1022 浏览

google-cloud-platform - 从运行在 Google Cloud VM 实例上的应用程序访问 Google Secrets - 将 Cloud API 分配给 VM

我正在使用 Google Secrets 来存储 API 密钥和其他特定于应用程序的“秘密”。当我使用 docker 容器将我的应用程序部署到 VM 实例时,我希望它使用 VM 的关联服务帐户访问 Google Secrets。

我已经使用以下方法进行了这项工作:

  • 将“Secret Manager Secret Accessor”权限分配给服务帐户。在此处输入图像描述
  • 让我的虚拟机访问所有 API:
  • 在此处输入图像描述

从安全角度和推荐的最佳实践来看,我不想授予对所有 API 的访问权限。默认访问选项不起作用,我无法从列表中找出启用哪些选项以允许从我的 VM 访问 Google 机密。

在此处输入图像描述

TLDR - 我需要授予我的 Google Compute VM 实例访问哪些 Cloud API,以便它可以访问 Google Secrets 而无需授予它对所有 Cloud API 的访问权限?

0 投票
0 回答
467 浏览

spring-boot - Spring Boot 和 GCP:没有 org.springframework.cloud.gcp.secretmanager.SecretManagerTemplate 类型的合格 bean

连接到 GCP 以从秘密管理器获取秘密时出错,但不知何故它对我不起作用。

运行应用程序时出现错误:

没有 org.springframework.cloud.gcp.secretmanager.SecretManagerTemplate 类型的合格 bean

我正在使用如下 SecretManagerTemplate 来获取秘密:

细节:

  • Spring Boot 版本:2.1.8
  • Spring Cloud 版本:Greenwich.RELEASE
  • Spring Cloud GCP 版本 1.2.5.RELEASE

注意:我不想升级 Spring Boot 版本。

请帮忙。

0 投票
0 回答
986 浏览

node.js - 错误:4 DEADLINE_EXCEEDED:CloudRUN 已超过截止日期

我得到了部署在 Google CloudRun 中的 google express 应用程序。我想使用一些与所有用户相关的共享数据并将其加载到全局参数中。我的代码正在使用谷歌秘密管理器来检索一些数据库连接信息,以便将数据检索到全局参数中。当应用程序处于冷态时,第一个用户会收到错误消息,但会启动异步函数,将数据加载到全局参数中,最终将正确处理下一个调用。一切正常购买最近我在尝试连接到 Google 秘密管理器时发现了一个错误:

我的代码是这样的:

不知道这可能是什么原因。错误不一致。

0 投票
1 回答
384 浏览

google-secret-manager - 如何从 Google Secret Manager 解码 base64 有效负载?

使用秘密管理器时,响应是base64 编码的。如何解码它?

0 投票
1 回答
825 浏览

node.js - Google Secret Manager 客户端的玩笑被破坏了

我正在尝试从 GCP Secret Manager 获取秘密,如下所示:

对于这个函数,为了编写单元,我需要模拟SecretManagerServiceClient它的函数accessSecretVersion,所以跟进我为此编写的代码。

在这里,测试被破坏了TypeError: (intermediate value) is not iterable,我在这里完全被阻止了,并且这种方法解决了嘲笑的任何线索

0 投票
0 回答
855 浏览

python-3.x - Google Cloud Run 中的 SecretManagerServiceClient 和通过服务帐户进行身份验证

我可以在 Google Cloud Shell 中不成功使用密钥文件的情况下创建 SecretManagerServiceClient:

但是,当我在 Google Cloud Run 中使用类似的代码作为容器入口点的基础时,尝试使用默认服务帐户的凭据检索客户端失败并出现

默认服务帐户具有 Editor 和 Secret Manager Admin 角色(感谢 @DanielOcando 的评论)。为什么这里描述的 ADC 库没有获取默认服务帐户的权限并使用它们来实例化客户端?

更新 1

@guillaumeblaquiere 询问了依赖关系。该容器使用 Python 3.6.12 和以下库构建:

我创建了一个自定义服务帐户,向其中添加了 Editor 和 Secret Manager Admin 角色,然后使用控制台使用该帐户部署了一个新修订版,但出现了同样的错误。

更新 2

认为匹配 Cloud Shell 中的 CPython 版本就可以解决问题,我使用 Python 3.7 重建了图像。没运气。

更新 3

采取不同的策略,我将 Service Account Token Creator 角色添加到项目的默认服务帐户中,并创建了一个 terraform 文件并将其配置为服务帐户模拟。gcloud auth application-default login在调用 terraform 之前,我还在 shell 中运行。

这确实可以创建服务,但是当端点尝试实例化 SecretManagerServiceClient 时,同样会导致相同的错误。

0 投票
1 回答
395 浏览

python - Google Cloud Secret Manager 在计算引擎中运行时打印不必要的调试信息

我在 GCP AI 平台笔记本的 Jupyterlab 笔记本中使用 Google Cloud Secret Manager。我能够以例外的方式访问机密,但我的代码正在打印出许多与身份验证相关的 DEBUG 行。

这是我的代码:

这是运行我的代码时的日志(IP地址和服务帐户已更改):

我尝试在终端中显式设置计算引擎服务帐户,并使用服务帐户 JSON 文件作为脚本中的环境变量。

打印调试代码的原因是什么,如何让它消失?