微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

在 Google 的 App Engine 中加密和访问 Google 应用程序凭据的工作流程是什么?

如何解决在 Google 的 App Engine 中加密和访问 Google 应用程序凭据的工作流程是什么?

我知道 Google Cloud 环境有大量的加密解决方案,但我最终一直在兜圈子,发现自己在应用程序不知道密钥时却持有自己的密钥。

我目前的策略是:

  1. 以本地保存的 json 形式访问我的 google 凭据。
import os
os.environ['GOOGLE_APPLICATION_CREDENTIALS']='<my_google_user>.json'
  1. 通过 Python 在谷歌云中使用有效负载设置我的秘密(为简洁起见,省略了较长的代码

  2. 将我的秘密作为字典访问,以便稍后在代码中直接访问。

client = secretmanager.SecretManagerServiceClient()
sf_str = client.access_secret_version(request={"name":<my_version_name>}).payload.data.decode("utf-8")
sf_cred = json.loads(sf_str)

所以我的问题是如何加密我的谷歌应用程序凭据 json?

我对这种涉及加密的环境和工作流程非常陌生,因此请准确使用 python 或云终端示例。随意敲掉我整个策略的安全性,以便我可以学习更好的策略。

附言如果这是一个步骤,我已经在 Google Cloud Platform 中创建了一个加密密钥,但不知道如何在这个 12 小时重复性任务中使用/自动化它,我想用它来设置此密码访问权限。

解决方法

不确定我是否正确理解您的问题。

您可能根本不需要凭据文件。

您在云中的代码由某个服务帐户下的 App Engine、或 Cloud Function、或 Cloud Run 等执行。它可以是默认服务帐户,也可以是专门创建的服务帐户。例如:Using the Default App Engine Service Account

为了访问 Secret Manager 中的密钥,向执行代码以访问这些密钥的服务帐户添加/分配相关的 IAM 角色可能就足够了。例如 - 将 IAM 角色添加到默认应用引擎服务帐户。

Secret Manager IAM 描述如下:Access control

很可能一个 roles/secretmanager.secretAccessor 角色就足够了。在这种情况下,您的代码将能够获取秘密值,并随后使用它。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。