使用 Google Cloud 运行 时如何访问安装的机密?

How do I access mounted secrets when using Google Cloud Run?

我有两个问题:

  1. 为什么不能在同一个目录下挂载两个云密?

    我试图在目录中安装两个秘密,FIREBASE_AUTH_SERVICE_ACCOUNTPURCHASE_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这是为什么?

  2. 如何使用 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 个秘密,没问题!

如果不能解决您的问题,请说明。