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

google-cloud-platform - 尽管有适当的角色,GCP VM 实例仍无法从 Secret Manager 访问机密

Secret Manager我在 GCP 的服务中创造了一些秘密。然后为了在我的本地机器上访问这些秘密,我创建了一个service account和一个JSON密钥来从我的本地机器上验证该服务帐户。我还将角色授予该Secret Manager Secret Accessor服务帐户,以使其能够访问来自Secret Manager. 现在,它在我的本地机器上运行良好。

此外,我想将此代码部署到 GCP Compute Instance。因此,我创建了一个并将源代码发送到该实例。Secret Manager Secret Accessor我还向计算实例的默认服务帐户授予了相同的权限。现在,当我在实例上运行尝试此代码时,它会返回一个权限被拒绝错误,如下所述。

我检查了Compute Instance's服务帐户的 IAM 角色,它有一些我无法理解的消息。这是它的屏幕截图 -

在此处输入图像描述

我该如何解决?

0 投票
2 回答
372 浏览

firebase - 用于本地模拟功能的 Google Secret Manager 权限

我已经为功能的服务帐户提供了必要的权限(“Secret Manager Secret Accessor”),并且在部署后,firebase 功能能够毫无问题地访问这些秘密。

但是,在使用firebase servefirebase emulators:start --only functions本地开发时,我收到以下错误

未处理的错误错误:7 PERMISSION_DENIED:资源的权限“secretmanager.versions.access”被拒绝

我在文档中发现export GOOGLE_APPLICATION_CREDENTIALS=pathtoserviceaccount.json需要在终端中输入设置,尽管这对我也不起作用。

我会感谢所有的指点。干杯。

0 投票
1 回答
392 浏览

google-kubernetes-engine - 在 GKE 集群中运行的 pod 中使用存储在 Google Secrets Manager 中的数据库密码

我正在 Google Kubernetes 集群中运行一个应用程序。其中的一个 pod 需要访问外部管理的数据库(谷歌云 SQL),并且到目前为止已经有一个硬编码密码用于测试目的。是时候转向更安全的解决方案了,所以生成的密码现在在我的 Google Secrets Manager 中,并且已经替换了我数据库中的用户密码。

对我来说,允许 pod 访问数据库的最有效但最安全的方法是什么?

我的部署过程如下:

  1. 推送到源代码库的源代码更改
  2. 更改触发 Cloud Build
  3. Cloud Build 构建、标记和推送映像。
  4. Cloud Build 将新的映像版本提交到源代码库
  5. 对 Kubernetes 基本清单的更改会触发 Cloud Build
  6. Cloud Build 使用 Kustomize 生成新的 Kubernetes 清单并将其推送到我的 GKE
0 投票
1 回答
322 浏览

firebase - 在 Firebase 项目中存储机密:Firebase 配置 API 还是 Secret Manager API?

为了从云函数中访问机密,Google 提供了Secret Manager API

Secret Manager存储 API 密钥、密码、证书和其他敏感数据。它在提高安全性的同时提供了便利。

另一方面,Firebase 建议通过其环境配置 API存储机密,如其文档和示例中明确提到的:

通常,您需要对函数进行额外配置,例如第三方 API 密钥或可调设置。Firebase SDK for Cloud Functions 提供了内置的环境配置,让您可以轻松地为您的项目存储和检索此类数据。

问题:

Firebase 的配置 API 在处理数据的方式上似乎更加简单,而且是免费的,这使得它可以用于 Firebase 项目而不是 Secret Manager API。

在 firebase 项目的上下文中比较这两个 API 有哪些优点和缺点?最重要的是,在使用 Firebase 的配置 API 而不是 Secret Manager API 时,在安全性方面是否存在任何缺陷?

0 投票
0 回答
185 浏览

python - 当角色/项目/服务帐户正确时,Google Secrets Manager 拒绝访问?

这真是令人难以置信。我正在使用 Python 并试图从我可以知道的可以访问的资源中提取秘密管理器值。我在使用 Python 3.8 的 Windows 上。

错误

google.api_core.exceptions.PermissionDenied:403 权限 'secretmanager.secrets.get' 拒绝资源'projects/109837978792/secrets/some_secret_name/versions/1'(或者它可能不存在)。

“grpc_message”:“资源的权限‘secretmanager.versions.access’被拒绝

配置

  • gcloud 在列表中显示我的项目名称、ID 和编号。
  • gcloud 在 auth 列表上显示 my-serviceaccount@myprojectname.iam.gserviceaccount.com 并被选中。
  • 控制台将服务账户的 IAM 角色显示为:Owner、DLP User 和 Secret Manager Secret Accessor。
  • 控制台将服务帐户密钥显示为活动的并以 JSON 形式显示。有效期至 9999 年 12 月 31 日。
  • 控制台将密钥显示为活动并位于路径:projects/109837978792/secrets/some_secret_name
  • 控制台显示秘密在版本 1
  • 控制台显示在密钥名称上为服务帐户继承的密钥特定 IAM 角色。
  • 控制台显示项目中活动的 Secrets Manager API 和 Cloud Resource Manager API。
  • 控制台以图表形式显示来自失败调用的秘密管理器活动。
  • windows 已设置 GOOGLE_APPLICATION_CREDENTIALS=C:/etc/service_account.json

绑定

为我的 gmail 设置了相同的角色。如果我使用我的 gmail 帐户使用 gcloud auth login 登录,当它具有相同项目的相同角色时,它仍然会失败。我在这里想念什么?

0 投票
1 回答
300 浏览

node.js - “无法加载默认凭据”谷歌云机密管理器 - 使用 CLI 授权用户

我想让我的nodeJS应用程序使用我的凭据在本地进行身份IAM验证,但是当我运行以下基本secrets manager功能时:

我收到错误:

无法加载默认凭据。浏览到https://cloud.google.com/docs/authentication/getting-started了解更多信息。在 GoogleAuth.getApplicationDefaultAsync

我似乎找不到任何关于如何在CLI本地使用我的登录凭据的文档,有什么想法吗?

(我不想使用 JSON 服务帐户配置)

0 投票
1 回答
40 浏览

google-cloud-build - GCP:如何从 proj-2 CloudBuild 访问 proj-1 秘密管理器?

我所有的 GCP 容器都在同一个项目 ( )CloudBuild上使用my-dev-project和访问。但是,一个项目需要访问on。我想我需要添加一个服务帐户,但是当它已经拥有它的服务帐户时,我不确定如何去做。secret managermy-dev-projectsecrets mangermy-prod-projectCloudBuildmy-dev-project

问题:我怎样才能my-prod-project secret mangermy-dev-project CloudBuild

0 投票
0 回答
862 浏览

c# - Grpc.Core.RpcException - Detail=未能连接到所有地址

我一直在 .Net 核心项目中使用 GCP SecretManager,在访问放置在 GCP 中的秘密之一时,它会引发错误


Grpc.Core.RpcException: 'Status(StatusCode="Unavailable", Detail="未能连接到所有地址", DebugException="Grpc.Core.Internal.CoreErrorDetailException: {"created":"@1621849302.013000000","description" :"未能选择子频道","file":"......\src\core\ext\filters\client_channel\client_channel.cc","file_line":5397,"referenced_errors":[{"created" :"@1621849296.458000000","description":"连接所有地址失败","file":"......\src\core\ext\filters\client_channel\lb_policy\pick_first\pick_first.cc", "file_line":398,"grpc_status":14}]}")'


0 投票
2 回答
170 浏览

angular - 从 Angular 应用程序访问 Google Secret Manager 机密

是否可以使用 API 密钥通过简单的 API 调用访问 Google Secret Manager API?

未经身份验证抛出 401。在为 Angular 应用程序提供支持的 Node.js 服务器上,我使用客户端库,但 Typescript 没有这样的东西。

0 投票
1 回答
34 浏览

google-secret-manager - 获取最新版本的应用引擎云密文的好方法是什么?

我可以得到秘密版本

但这一切放在我所有的应用程序中都非常尴尬。没有更好的方法吗?