问题标签 [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.
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 ( 1、2 )。我没有使用 GCB,我怀疑我会,因为它是如此基本。
我真的希望 App Engine 有一个像 Heroku 一样的环境变量页面。
java - 如何使用谷歌云 KMS 对 yml 文件中的属性进行加密和解密?
我想了解是否可以使用谷歌云 KMS 加密和解密 yml 文件中的敏感属性?因此,在应用程序启动时,它将解密应用程序中的值和用途。例如,具有读写访问权限的数据库用户名和密码。
我们没有 spring 云配置服务器。
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?
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”
所以当我验证时,我发现证明存在:
以下是屏幕截图:
请问有什么意见吗?
提前致谢。
java - 从 AWS Lambda 调用 Google Cloud KMS
我是谷歌云服务和 Java 的新手,但我正在尝试在 AWS Lambda 上设置一个 Java 函数来调用谷歌云 KMS。我在本地有工作 Java 代码,但据我所知,验证 Google 客户端的唯一方法是设置一个环境变量,其中包含指向包含您的凭据的 JSON 文件的路径。在触发我的 Java 函数时,我可以在本地轻松地做到这一点——我只是在运行代码时将环境变量设置为指向我计算机上的一个文件。谁能给我任何关于如何在 Lambda 中执行此操作的指示,而我似乎所能做的就是上传单个 .jar 文件?
java - 如何使用 java KMS API 设置密钥环的保护级别?
我需要将 ProtectionLevel 设置为 HSM,以便在创建期间和现有情况下为密钥环设置密钥环。
我正在尝试使用与任何其他选项相同的方式将此选项设置为:
如何使用此 API 执行此操作?
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 的每一个都分配给了这个动态创建的新服务帐户。
全栈跟踪:
google-kubernetes-engine - 如何在 kubernetes 机密中/从 kubernetes 机密中存储/检索 KMS 加密的 .enc 文件
我有一个已由 GCP KMS 密钥加密的 .enc 文件。我将此加密文件作为机密存储在 kubernetes 中。Kubernetes 集群有权访问 KMS 密钥。现在我想在容器运行时使用密钥解密存储的加密文件。我的服务是用 python 编写的。如何使用 python 脚本解密存储的加密文件?
encryption - 谷歌云构建 - 在同一步骤中部署一个传递明确 ENV 变量和 KMS secretEnv 变量的云函数
在 cloudbuild 模板中,我有一个部署 Cloud 功能的步骤。我尝试在同一步骤部署传递明确环境变量的函数,但也传递secretEnv。
我已经尝试了几件事但没有成功,文档清楚地表明我们不能在同一命令中使用 --set-env-vars 和 --env-vars-file 或 --update-env-vars 。
有没有人成功发送这两种变量类型:从文件中清除变量和使用 secretEnv 的秘密变量?
以下定义成功地从 .env.prod.yaml 创建了变量,但 USER 和 PASSWORD 机密未创建到 Cloud 函数中。
有什么想法、最佳实践或好的解决方法吗?
oracle - Google Cloud HSM 能否为本地 Oracle 数据库 TDE 托管 KEK?
我们目前正在寻找在 Oracle 数据库上实施透明数据加密的设置。我们正在寻找 Cloud HSM 解决方案。Google Cloud HSM 能否与本地 Oracle 数据库连接以进行 TDE 加密?
谢谢!
奥利维尔