Google Cloud 服务帐户和机密管理工具

问题描述

我正在使用 chamber,这是一种管理机密的工具。

基本上,它使用来自指定服务的秘密填充环境并执行给定的命令。

例如:chAmber exec script.sh

将使用在 script.sh 内的房间内定义的环境变量。

我想对 google cloud service account 做同样的事情,以便使用 Google SQL Proxy

问题是,GOOGLE_APPLICATION_CREDENTIALS env var 是 JSON 文件的路径,而不是实际值。

我可以轻松地将 JSON 存储在 ChAmber 中,但我不能将其用作 env var,除非我将该值复制到 JSON 文件中并将路径传递给 env var。

出于安全原因,我不想将 JSON 文件存储在我的生产实例中。

我知道我可以使用 gcloud auth login用户进行身份验证,但我不想安装不必要的库。

我也可以使用令牌:

./cloud_sql_proxy -instances=INSTANCE_NAME -token=TOKEN_VALUE

问题是令牌很快过期。

如果我可以将服务帐户 JSON 文件转换为 base64 字符串并将其用作令牌,那就完美了。

长话短说:

我想将 Google Cloud 身份验证机密存储在我的管理机密工具中,并将其与 cloud_sql_proxy 一起使用。

我的代码在 aws ec2 上运行。

我能想到的最简单的方法添加 JSON 文件,进行身份验证,然后删除文件...我正在使用打包程序生成实例映像。

知道如何实现这一目标吗?

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)