问题标签 [google-cloud-kms]

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 投票
5 回答
11817 浏览

google-app-engine - 如何处理 Google App Engine 中的秘密?

我的应用程序需要一堆秘密才能运行:数据库凭据、API 凭据等。它在 Google App Engine 标准 Java 11 中运行。我需要这些秘密作为环境变量或应用程序的参数,以便我的框架可以获取它们并相应地建立连接。我的特定框架是 Spring Boot,但我相信 Django、Rails 和许多其他人使用相同的方法。

这样做的最佳方法是什么?

我对这个问题的答案之一是使用 Google Cloud Key Management,这看起来很有希望,但我不知道如何将这些值转换为 App Engine 中的环境变量。可能吗?我已阅读 Setting Up Authentication for Server to Server Production Applications,但我没有看到任何关于如何在 App Engine 中将机密转换为环境变量的指示(我错过了吗?)。

我见过的其他替代方案包括将它们硬编码到app.yaml另一个从未提交并存在于我的机器中的文件中,这意味着我是唯一可以部署的人......我什至无法从另一台机器部署。这对我来说是个问题。

我见过的另一个潜在解决方案是将问题委托给 Google Cloud Build,以便它从 CKM 获取值/文件并将其推送到 App Engine ( 12 )。我没有使用 GCB,我怀疑我会,因为它是如此基本。

我真的希望 App Engine 有一个像 Heroku 一样的环境变量页面。

0 投票
0 回答
615 浏览

java - 如何使用谷歌云 KMS 对 yml 文件中的属性进行加密和解密?

我想了解是否可以使用谷歌云 KMS 加密和解密 yml 文件中的敏感属性?因此,在应用程序启动时,它将解密应用程序中的值和用途。例如,具有读写访问权限的数据库用户名和密码。

我们没有 spring 云配置服务器。

0 投票
2 回答
388 浏览

3des - 我可以在 google KMS HSM 中使用 3DES 密钥吗?

我一直在查看 Azure、AWS、IBM 和 Google 等不同 HSM 提供的产品,但我没有找到任何关于 google HSM 明确支持 3DES 密钥的文档。

但是我可以看到类型

https://cloud.google.com/kms/docs/reference/rest/v1/CryptoKeyVersionAlgorithm

此类型用于在 KMS 中创建密钥。

Google KMS HSM 是否支持 3DES?

0 投票
2 回答
359 浏览

security - 二进制授权 - 部署失败 - 被证明者拒绝。证明者无法证明 GKE 中的图像

我试图向我的客户展示二进制授权作为 POC。在部署期间,它失败并显示以下错误消息:

pod“hello-app-6589454ddd-wlkbg”被禁止:图像策略 webhook 后端拒绝一个或多个图像:被 us-central1.staging-cluster 的集群准入规则拒绝。被证明者拒绝。Image gcr.io//hello-app:e1479a4 denied by projects//attestors/vulnz-attestor: Attestor cannot attest to an image deploy by tag

我已遵守网站中提到的所有步骤。

我已经多次验证了图像,例如使用以下命令强制完全进行证明:

它抛出错误为:

错误:(gcloud.alpha.container.binauthz.attestations.sign-and-create)项目 [项目 xyz] 中的资源是冲突的主题:项目中已存在事件 ID“c5f03cc3-3829-44cc-ae38-2b2b3967ba61” “项目xyz”

所以当我验证时,我发现证明存在:

以下是屏幕截图:

部署错误

容器

云构建

请问有什么意见吗?

提前致谢。

0 投票
1 回答
101 浏览

java - 从 AWS Lambda 调用 Google Cloud KMS

我是谷歌云服务和 Java 的新手,但我正在尝试在 AWS Lambda 上设置一个 Java 函数来调用谷歌云 KMS。我在本地有工作 Java 代码,但据我所知,验证 Google 客户端的唯一方法是设置一个环境变量,其中包含指向包含您的凭据的 JSON 文件的路径。在触发我的 Java 函数时,我可以在本地轻松地做到这一点——我只是在运行代码时将环境变量设置为指向我计算机上的一个文件。谁能给我任何关于如何在 Lambda 中执行此操作的指示,而我似乎所能做的就是上传单个 .jar 文件?

0 投票
1 回答
143 浏览

java - 如何使用 java KMS API 设置密钥环的保护级别?

我需要将 ProtectionLevel 设置为 HSM,以便在创建期间和现有情况下为密钥环设置密钥环。

我正在尝试使用与任何其他选项相同的方式将此选项设置为:

如何使用此 API 执行此操作?

0 投票
2 回答
1069 浏览

c# - 将内容上传到 GCP 存储桶的 KMS 权限出现 403 错误

弄清楚了

所以有两种方法可以解决这个问题:

选项1:

  • 我没有使项目能够访问用于加密/解密存储桶的 KMS 密钥。以我自己的身份登录时,我能够通过在 cli 中运行以下命令进行测试:

    /li>
  • 然后我以服务帐户登录并尝试上传文件。这样做之后就成功了。

选项 2:

  • 在使用云控制台挖掘之后,我发现有一个存储服务帐户需要访问加密解密。此帐户列在存储 > 设置 > 云存储服务帐户下。
  • GCP 似乎将实际工作委派给该帐户以执行上传任务。因此,虽然它具有存储桶访问权限(显然,因为它是存储服务帐户),但它没有 KMS 访问权限。将 KMS 加密/解密添加到此 SA 后,它现在自动为我工作,无需任何 gsutil 干预。

我还更新了用于上传的 SA 凭证的范围,使其同时具有 cloudkms 和 devstorage.full_control。不过,我不确定这是否会影响任何事情。


原始问题:

我正在为多租户托管环境自动创建服务帐户、存储桶和 KMS 密钥环和密钥的工作流程。

我有一个具有有限 KMS、SA 和存储权限的服务帐户,可以创建其他服务帐户并允许他们成为自己的租户项目的管理员(例如:为租户创建服务帐户,它可以完全控制租户的 KMS 和存储桶,而不是其他租户的)。

但是,我目前遇到了让新服务帐户能够上传文件的问题。它拥有所需的所有权限:

1. KMS Admin 及其 KeyRing 的加密/解密
2. Storage Bucket Admin

但是,当我尝试使用该服务帐户上传内容时出现以下错误

这是我用来分配权限的代码,后面是用于访问存储桶的代码:

}

有什么想法我可能做错了吗?看起来这是一个权限问题,但我几乎将存储和 KMS 的每一个都分配给了这个动态创建的新服务帐户。

全栈跟踪:

0 投票
1 回答
311 浏览

google-kubernetes-engine - 如何在 kubernetes 机密中/从 kubernetes 机密中存储/检索 KMS 加密的 .enc 文件

我有一个已由 GCP KMS 密钥加密的 .enc 文件。我将此加密文件作为机密存储在 kubernetes 中。Kubernetes 集群有权访问 KMS 密钥。现在我想在容器运行时使用密钥解密存储的加密文件。我的服务是用 python 编写的。如何使用 python 脚本解密存储的加密文件?

0 投票
2 回答
741 浏览

encryption - 谷歌云构建 - 在同一步骤中部署一个传递明确 ENV 变量和 KMS secretEnv 变量的云函数

在 cloudbuild 模板中,我有一个部署 Cloud 功能的步骤。我尝试在同一步骤部署传递明确环境变量的函数,但也传递secretEnv。

我已经尝试了几件事但没有成功,文档清楚地表明我们不能在同一命令中使用 --set-env-vars 和 --env-vars-file 或 --update-env-vars 。

有没有人成功发送这两种变量类型:从文件中清除变量和使用 secretEnv 的秘密变量?

以下定义成功地从 .env.prod.yaml 创建了变量,但 USER 和 PASSWORD 机密未创建到 Cloud 函数中。

有什么想法、最佳实践或好的解决方法吗?

0 投票
2 回答
101 浏览

oracle - Google Cloud HSM 能否为本地 Oracle 数据库 TDE 托管 KEK?

我们目前正在寻找在 Oracle 数据库上实施透明数据加密的设置。我们正在寻找 Cloud HSM 解决方案。Google Cloud HSM 能否与本地 Oracle 数据库连接以进行 TDE 加密?

谢谢!

奥利维尔