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

angular - 如何从 Angular 9 Web 应用服务访问 GCP Secret Manager

我有 Angular 服务(完全托管的 Cloud Run),我想通过 HTTP 客户端调用访问“googleapis”Secret Manager API。

问题是我没有找到一种方法来获取当前服务帐户的身份验证令牌,我可以进一步将其用于 Authorization 标头字段。这是一种使用 Secret Manager API 的方法,但我也可以使用其他可能的解决方案来更改它,除非它在 ​​Agular 应用程序中运行。

提前非常感谢。

0 投票
3 回答
7741 浏览

google-cloud-platform - 无法访问 GCP Secret Manager 中的密钥

我正在尝试将我的代码从使用存储在.env文件中的 API 密钥迁移到使用 Google Cloud Platform Secrets Manager。我已按照此处的说明进行操作,但遇到错误,提示我无权访问该机密。

这就是我得到的错误:

我确实创建了一个具有“所有者”权限的服务帐户,下载并制作了export GOOGLE_APPLICATION_CREDENTIALS=/Users/.... 执行 .json 时,我的服务帐户 .json 文件位置正确显示echo $GOOGLE_APPLICATION_CREDENTIALS

我真的不知道我做错了什么。

0 投票
1 回答
2139 浏览

go - 如何在本地环境中从 GCP 的 Secret Manager 获取秘密?

我在 Secrets Manager 控制台上创建了一个密钥。然后我尝试使用 Go 代码快速入门指南,例如

但后来我得到

rpc error: code = PermissionDenied desc = Permission 'secretmanager.versions.access' denied for resource 'projects/my-project/secrets/API_KEY/versions/latest' (or it may not exist)

这是有道理的,因为秘密管理器 api 甚至如何知道我的代码具有管理员权限?

0 投票
1 回答
134 浏览

node.js - GCP Secret Manager 抛出:“路径”参数必须是字符串类型

我正在使用 Node.js 8.x 中的GCP Secrets Manager(我知道,它很古老,但它是 Cloud Functions 上最新的 GA Node 运行时)。但是,当我运行他们的示例时,它不断从这一行抛出 gRPC 错误:

我正在尝试测试的代码行:

如果我在 Node 8.x 或 Node 10.x 上运行,并且如果我使用最新版本的 secrets lib ( ) 或 Node 8.x ( )3.0.0的旧版本,我会收到相同的错误1.2.1

0 投票
1 回答
4749 浏览

python - 从 Docker 中的 Python 访问 GCP Secret Manager 中的机密 - nontso Permission Denied

我正在构建一个简单的应用程序,它将 Twilio 凭据存储在 GCP Secret Manager 中,并在需要时将它们拉下来。但是,我不断收到项目资源上的拒绝权限错误 (403):

google.api_core.exceptions.PermissionDenied: 403 Permission denied on resource project 。

我正在使用设置为包含服务帐户凭据的 JSON 文件路径的环境变量。

这是我已经尝试过的:

  • 确保在 GCP Console 中正确设置了权限。服务帐户被设置为项目的所有者和项目级别的秘密访问者,以及每个秘密的对象级别的秘密访问者。
  • 确保环境变量设置正确 - 我已经验证 ENV 变量设置正确并且可以读取它指向的文件。我可以通过将 ENV 变量作为 JSON 文件打开来打印文件的内容。
  • 通过将我的 JSON 文件的内容与 GCP 控制台中的数据进行比较,确认身份验证信息是正确的
  • 我使用 gcloud CLI 在服务帐户下登录,然后使用 CLI 命令检索相同的秘密
  • 我可以成功访问并将数据推送到 GCS 存储桶,这表明凭据已从 ENV 变量正确加载
  • 我尝试过以多种方式访问​​这些秘密。我尝试了其他方法,例如列出项目中的秘密。都返回权限错误。

作为参考,我一直按照https://cloud.google.com/secret-manager/docs/reference/libraries#client-libraries-install-python上的说明进行操作,并且一直在使用官方客户端库文档探索还有什么可能是错误的。没有什么能真正帮助我。

我已经阅读了我能找到的所有资源,但没有任何帮助。有什么想法吗?

谢谢!!!

编辑:在下面添加代码:

EDIT2:这是我在其中运行此代码的 Dockerfile:

后来,我有了调用上述函数的 Python 代码:

其中 TWILIO_ACCOUNT_SID 和 TWILIO_AUTH_TOKEN 是 GCP 中秘密的名称。

完整的错误跟踪:

0 投票
1 回答
1816 浏览

spring-boot - Google Secret Manager:不要通过 Spring Boot 从中获得价值

我按照这篇文章的说明进行操作:https ://github.com/spring-cloud/spring-cloud-gcp/tree/master/spring-cloud-gcp-samples/spring-cloud-gcp-secretmanager-sample 启动后应用程序一切正常。

然后我在我的 Spring Boot 应用程序中实现它,我得到 //application-secret而不是秘密的价值。

pom.xml:

引导程序属性

控制器:

知道我能做什么吗?

0 投票
0 回答
559 浏览

google-iam - 为什么我的 Firebase 应用无法连接到 Google Secret Manager?

我不知道为什么我不断收到错误:Error: Could not load the default credentials. Browse to https://cloud.google.com/docs/authentication/getting-started for more information.

firebase login从我的命令行返回我已经登录并且我已my-app@appspot.gserviceaccount.com在同一项目的 GCP IAM 管理仪表板中配置为 Secret Manager Secret Accessor。

这是我正在使用的代码:

0 投票
1 回答
1445 浏览

google-cloud-platform - 如何授予服务帐户访问特定密钥的权限?

我想授予服务帐户访问 Google Secrets Manager 中的密钥的权限。

可以像这样访问秘密:

但是当我的服务帐户尝试相同的命令时,gcloud 会发出此错误:

错误:(gcloud.beta.secrets.versions.access)PERMISSION_DENIED:请求的身份验证范围不足。

主要问题是:我还需要做什么来确保服务帐户可以访问机密?


我已在 Terraform 中授予该服务帐户“roles/secretmanager.secretAccessor”,如下所示:

我可以验证它在 gcp 控制台中是否具有该角色,如下所示:

但是文档中有这个概念:

如果成员只需要访问单个密钥的值,请不要授予该成员访问所有密钥的能力。例如,您可以在单个密钥上授予服务帐户 Secret Accessor 角色 (roles/secretmanager.secretAccessor)。

因此,就像 iam-policy-binding 可以对特定秘密具有亲和力,但我不确定我可以使用哪些 gcloud 命令或 terraform 资源来创建这种亲和力。

0 投票
0 回答
342 浏览

java - 在 Spring Boot 中使用外部 SSL 信任/密钥存储

我有一个 Spring Boot 应用程序,已部署在 Google Compute Engine 上的 docker 容器上,该容器使用 TrustStore 和 KeyStore 进行 TLS。目前,这些 p12 文件直接位于 jar 文件中的 /src/main/resources/ 路径上。我想将它们外部化并在应用程序加载时从 Google SecretManager 中提取它们。该应用程序利用 Undertow。

我有以下设置:

我正在尝试按照这个思路做一些事情来设置信任库属性。

显然,这仅适用于信任库。一旦我能够成功设置它,我也可以添加 KeyStore。

如何从 GCP SecretManager 中提取这些文件并成功为 server.ssl 配置属性引用它们?

0 投票
0 回答
27 浏览

google-secret-manager - 最好在构建期间下载秘密,或在调用云函数期间分配全局变量?

我们目前正在将 GCS 用于我们的机密,但希望转移到 Google Secret Manager。我们在构建步骤中包含 gsutil 副本,但我喜欢在本地开发中避免该步骤的想法,而是在调用时从秘密管理器获取秘密。

我担心冷启动时间会增加。有没有人这样做,如果是这样,它对冷启动时间有多大影响?