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

google-cloud-platform - 从 Google 的 Secret Manager 获取 SSH 私钥后无法正常工作

我有一个 SSH 私钥,我用它来 SSH 到某个服务器。我已经测试了密钥,它工作得很好。我已将密钥上传到 Google Cloud Secret Manager,但是当我使用gcloud secrets versions 访问命令从 Secret Manager 获取它时,密钥不起作用,而是返回此错误:

有没有办法在保留其格式的同时获取密钥?或者我可以重新格式化密钥吗?

到目前为止我尝试过的

我尝试过使用不同格式的关键;

但它没有奏效。

0 投票
1 回答
57 浏览

google-cloud-platform - 将秘密存储为云构建环境变量

在 Cloud Build 上构建期间使用密钥的推荐方法是从 Secret Manager 中加载它们。将它们保存为构建触发器上的环境变量会有什么危险?

0 投票
1 回答
157 浏览

c# - 将文件从本地 C# winforms 应用程序安全地上传到生产环境中的 Google Cloud Storage Bucket

我尝试在我正在创建的 Winforms C# 应用程序中使用 GCPs Secret Manager,但我首先需要 credentials.json 来访问 Secret Manager。这适用于开发,但不适用于生产。也许我根本不应该使用秘密经理。

目前我有一个本地 C# winforms 应用程序,在本地使用该应用程序的用户(不是管理员的客户)可以从 Windows 文件系统中选择文件并将这些文件上传到 Google Cloud Storage 存储桶。我根本没有服务器,但如果我应该的话,我不确定它里面应该有什么样的逻辑。

从评论中我认为服务器应该是用户登录的中间人,用户获取令牌,然后用户可以使用令牌通过服务器将文件上传到 gcloud 存储桶。这样一来,我从来没有真正给用户一个 credentials.json 文件。

对于这个架构,我认为我应该使用服务帐户,因为服务器将代表经过身份验证的用户进行 gcloud 存储桶上传调用,但是我从 John Hanley 那里看到,假设用户凭据是在不安全的环境中启动的,我d 希望在审核日志中获得“用户做了什么”的信息。

在我的开发版本中,我将credentials.json 存储在我的项目目录之外,并使用环境变量指向它。这可行,但这个答案建议我使用 Google KMS 对其进行加密并在应用程序中解密。

在评论中,我看到这并不安全,因为服务帐户凭据可能会暴露。

根据这个答案dll 可以反编译为等效的 C# 代码,因此任何人都可以看到我用来解密密钥的内容。

  1. 所以现在我想知道我应该在生产中使用什么架构以及如何确保它的安全?
  2. 我正在考虑制作一个 GAE 实例,将用户信息存储在数据库中,为经过身份验证的用户提供令牌,并在调用上传到 gcloud 存储桶时使用此令牌。这对于生产应用程序是否足够?
0 投票
6 回答
3738 浏览

google-cloud-run - 如何在已部署的 Cloud Run Service(托管)中使用 Google Secret?

我有一个正在运行的云运行服务user-service。出于测试目的,我通过环境变量将客户端机密作为纯文本传递。现在,由于一切正常,我想改用一个秘密。

在“编辑修订”选项的“变量”选项卡中,我可以声明环境变量,但我不知道如何传递秘密?我只需要像${my-secret-id}在变量的值字段中一样传递秘密名称吗?此选项卡中没有关于如何使用机密的文档,只有顶部的提示:

在这种情况下,这不是很有帮助。

0 投票
2 回答
150 浏览

google-cloud-build - 使用具有秘密管理器优势的云构建运行声纳扫描仪时出错

你能帮我解决下面的问题吗?因为我正在使用具有秘密管理器优势但面临问题的云构建进行声纳扫描仪。并遵循https://cloud.google.com/cloud-build/docs/securing-builds/use-secrets的相同步骤, 这是我的代码

我面临的问题是:

尝试了不同的项目,但找不到解决方案。

如果你们在这方面帮助我,我将不胜感激。谢谢

0 投票
2 回答
643 浏览

google-cloud-platform - 在云构建 yaml 中访问谷歌云秘密

我正试图从谷歌秘密经理那里得到秘密。根据访问机密的文档,入口点应该是 bash,但我有不同的入口点。试图弄清楚如何在“创建数据流模板”步骤中获取秘密。似乎在步骤之外无法访问环境变量值。

在数据流管道中传递的值

在此处输入图像描述

秘密值:

在此处输入图像描述

构建日志 1: 在此处输入图像描述

构建日志 2: 在此处输入图像描述

0 投票
1 回答
382 浏览

api - python 3.7 无法访问谷歌秘密服务管理器

我为秘密服务经理配置了所需的角色,但是当我尝试通过 python 3.7 代码访问它们时,我收到错误 403 拒绝访问:

如果我使用命令行访问它们,它可以工作:

这是python代码:

0 投票
1 回答
558 浏览

spring - GCloud 的秘密在 spring 属性中没有解决

TL;DR:GCP 机密未在引导文件中解析,但 sql 启动器在引导时需要实例连接名称和数据库名称

我正在尝试将 GCP Secretmanager 合并到在 Google App Engine 上运行并使用 GCP SQL 的 Spring Boot 应用程序中。

但是,${sm://前缀似乎在引导时没有得到解决。

作为参考,这是我的 pom 的一部分。(我正在使用 com.google.cloud 依赖项)并且我启用了 spring 配置文件“gcp”

在我的引导程序中(例如)

部署时出现异常,指出需要定义数据库名称。

如果我填写普通属性,它就可以正常工作。甚至我文件中的${sm://db-username} 作品。application-gcp.yml

当我从引导文件中移动属性时,它也会失败。引导时似乎需要连接。(我对此有点不知所措)

没有花哨的多项目正在进行,是的,秘密是存在的。

我有一种感觉,我在这里遗漏了一些愚蠢的东西,或者某处存在版本不匹配。(Codelab似乎根本没有提到任何特别之处。)

我也检查了这个问题。然而,提议的答案似乎不再有效。com.google.cloud.spring.autoconfigure.secretmanager.GcpSecretManagerProperties甚至不包含前缀属性,除了它在我的普通属性文件中工作得很好。

0 投票
1 回答
639 浏览

google-cloud-platform - 最新别名不适用于 gcloud secrets 版本销毁

根据文档gcloud secrets versions destroy可以使用最新的别名调用:

但是当我这样做时,我得到

如果我做

我得到一个有效的秘密返回。

该命令的文档是错误的destroy,还是我遗漏了什么?

0 投票
1 回答
464 浏览

c# - 如何在不使用 json 文件的情况下使用 SecretManagerServiceClient 的服务帐户凭据

我正在使用下面的代码来访问服务帐户凭据,不确定由于秘密管理器在其 Create() 中不接受凭据,因此我按照https://cloud.google.com/docs/尝试了第二种方法身份验证/生产#passing_code。我究竟做错了什么?