问题标签 [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.
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 角色,它有一些我无法理解的消息。这是它的屏幕截图 -
我该如何解决?
firebase - 用于本地模拟功能的 Google Secret Manager 权限
我已经为功能的服务帐户提供了必要的权限(“Secret Manager Secret Accessor”),并且在部署后,firebase 功能能够毫无问题地访问这些秘密。
但是,在使用firebase serve
或firebase emulators:start --only functions
本地开发时,我收到以下错误
未处理的错误错误:7 PERMISSION_DENIED:资源的权限“secretmanager.versions.access”被拒绝
我在文档中发现export GOOGLE_APPLICATION_CREDENTIALS=pathtoserviceaccount.json
需要在终端中输入设置,尽管这对我也不起作用。
我会感谢所有的指点。干杯。
google-kubernetes-engine - 在 GKE 集群中运行的 pod 中使用存储在 Google Secrets Manager 中的数据库密码
我正在 Google Kubernetes 集群中运行一个应用程序。其中的一个 pod 需要访问外部管理的数据库(谷歌云 SQL),并且到目前为止已经有一个硬编码密码用于测试目的。是时候转向更安全的解决方案了,所以生成的密码现在在我的 Google Secrets Manager 中,并且已经替换了我数据库中的用户密码。
对我来说,允许 pod 访问数据库的最有效但最安全的方法是什么?
我的部署过程如下:
- 推送到源代码库的源代码更改
- 更改触发 Cloud Build
- Cloud Build 构建、标记和推送映像。
- Cloud Build 将新的映像版本提交到源代码库
- 对 Kubernetes 基本清单的更改会触发 Cloud Build
- Cloud Build 使用 Kustomize 生成新的 Kubernetes 清单并将其推送到我的 GKE
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 时,在安全性方面是否存在任何缺陷?
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 登录,当它具有相同项目的相同角色时,它仍然会失败。我在这里想念什么?
node.js - “无法加载默认凭据”谷歌云机密管理器 - 使用 CLI 授权用户
我想让我的nodeJS
应用程序使用我的凭据在本地进行身份IAM
验证,但是当我运行以下基本secrets manager
功能时:
我收到错误:
无法加载默认凭据。浏览到https://cloud.google.com/docs/authentication/getting-started了解更多信息。在 GoogleAuth.getApplicationDefaultAsync
我似乎找不到任何关于如何在CLI
本地使用我的登录凭据的文档,有什么想法吗?
(我不想使用 JSON 服务帐户配置)
google-cloud-build - GCP:如何从 proj-2 CloudBuild 访问 proj-1 秘密管理器?
我所有的 GCP 容器都在同一个项目 ( )CloudBuild
上使用my-dev-project
和访问。但是,一个项目需要访问on。我想我需要添加一个服务帐户,但是当它已经拥有它的服务帐户时,我不确定如何去做。secret manager
my-dev-project
secrets manger
my-prod-project
CloudBuild
my-dev-project
问题:我怎样才能my-prod-project
secret manger
从my-dev-project
CloudBuild
?
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}]}")'
angular - 从 Angular 应用程序访问 Google Secret Manager 机密
是否可以使用 API 密钥通过简单的 API 调用访问 Google Secret Manager API?
未经身份验证抛出 401。在为 Angular 应用程序提供支持的 Node.js 服务器上,我使用客户端库,但 Typescript 没有这样的东西。
google-secret-manager - 获取最新版本的应用引擎云密文的好方法是什么?
我可以得到秘密版本
但这一切放在我所有的应用程序中都非常尴尬。没有更好的方法吗?