使用 Google Cloud 运行 时如何访问安装的机密?
How do I access mounted secrets when using Google Cloud Run?
我有两个问题:
为什么不能在同一个目录下挂载两个云密?
我试图在目录中安装两个秘密,FIREBASE_AUTH_SERVICE_ACCOUNT
和 PURCHASE_VALIDATION_SERVICE_ACCOUNT
:
flask_app/src/services/firebase/service_accounts/
然而,当我尝试这样做时,我得到了这个错误:
spec.template.spec.containers[0].volume_mounts[1].mount_path, Duplicate volume mount paths are forbidden
这是为什么?
如何使用 python 访问安装的机密?
我真的不知道该怎么做,因为我找不到任何关于如何实际访问秘密本身的文档。这是我唯一的found。我使用 python 只是为了上下文。机密是否会作为 .txt 挂载,挂载路径是存储它的文件夹还是它也指定文件名?
使用 Cloud 运行 和 Secret Manager,您可以通过两种方式加载 Secret:
- 在环境变量中加载秘密,使用
--set-secrets=ENV_VAR_NAME=secretName:version
- 加载文件中的秘密,使用
--set-secrets=/path/to/file=secretName:version
因此,边看边读一个秘密
- 一个环境变量(类似于
os.getenv()
)
- 一个文件(类似于
fs.open('/path/to/file','w')
)
那么,您关于目录的第一个问题并不清楚。如果你在同一目录下的 2 个文件中挂载 2 个秘密,没问题!
如果不能解决您的问题,请说明。
我有两个问题:
为什么不能在同一个目录下挂载两个云密?
我试图在目录中安装两个秘密,
FIREBASE_AUTH_SERVICE_ACCOUNT
和PURCHASE_VALIDATION_SERVICE_ACCOUNT
:flask_app/src/services/firebase/service_accounts/
然而,当我尝试这样做时,我得到了这个错误:
spec.template.spec.containers[0].volume_mounts[1].mount_path, Duplicate volume mount paths are forbidden
这是为什么?如何使用 python 访问安装的机密?
我真的不知道该怎么做,因为我找不到任何关于如何实际访问秘密本身的文档。这是我唯一的found。我使用 python 只是为了上下文。机密是否会作为 .txt 挂载,挂载路径是存储它的文件夹还是它也指定文件名?
使用 Cloud 运行 和 Secret Manager,您可以通过两种方式加载 Secret:
- 在环境变量中加载秘密,使用
--set-secrets=ENV_VAR_NAME=secretName:version
- 加载文件中的秘密,使用
--set-secrets=/path/to/file=secretName:version
因此,边看边读一个秘密
- 一个环境变量(类似于
os.getenv()
) - 一个文件(类似于
fs.open('/path/to/file','w')
)
那么,您关于目录的第一个问题并不清楚。如果你在同一目录下的 2 个文件中挂载 2 个秘密,没问题!
如果不能解决您的问题,请说明。