问题标签 [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.
angular - 如何从 Angular 9 Web 应用服务访问 GCP Secret Manager
我有 Angular 服务(完全托管的 Cloud Run),我想通过 HTTP 客户端调用访问“googleapis”Secret Manager API。
问题是我没有找到一种方法来获取当前服务帐户的身份验证令牌,我可以进一步将其用于 Authorization 标头字段。这是一种使用 Secret Manager API 的方法,但我也可以使用其他可能的解决方案来更改它,除非它在 Agular 应用程序中运行。
提前非常感谢。
google-cloud-platform - 无法访问 GCP Secret Manager 中的密钥
我正在尝试将我的代码从使用存储在.env
文件中的 API 密钥迁移到使用 Google Cloud Platform Secrets Manager。我已按照此处的说明进行操作,但遇到错误,提示我无权访问该机密。
这就是我得到的错误:
我确实创建了一个具有“所有者”权限的服务帐户,下载并制作了export GOOGLE_APPLICATION_CREDENTIALS=/Users/...
. 执行 .json 时,我的服务帐户 .json 文件位置正确显示echo $GOOGLE_APPLICATION_CREDENTIALS
。
我真的不知道我做错了什么。
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 甚至如何知道我的代码具有管理员权限?
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
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 中秘密的名称。
完整的错误跟踪:
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:
引导程序属性
控制器:
知道我能做什么吗?
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。
这是我正在使用的代码:
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 资源来创建这种亲和力。
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 配置属性引用它们?
google-secret-manager - 最好在构建期间下载秘密,或在调用云函数期间分配全局变量?
我们目前正在将 GCS 用于我们的机密,但希望转移到 Google Secret Manager。我们在构建步骤中包含 gsutil 副本,但我喜欢在本地开发中避免该步骤的想法,而是在调用时从秘密管理器获取秘密。
我担心冷启动时间会增加。有没有人这样做,如果是这样,它对冷启动时间有多大影响?