Вы делаете что-то подобное?
docker run ...
--volume=${LOCAL_PATH}/secrets/service_key.json:/secrets/key.json \
--env=GOOGLE_APPLICATION_CREDENTIALS=/service/key.json \
mycontainerimage
NB Переназначение service_key.json
-> key.json
для ясности намерения
Это не такрешить вопрос о необходимости смонтировать ключ на хосте, на котором запущен контейнер, но это действительно означает необходимость помещать ключ в контейнер.
До тех пор, пока вы можете защитить хост (!)ключ будет достаточно надежным.Вы должны включить процесс, посредством которого вы также часто поворачиваете клавиши.Это требует больше работы по перераспределению ключей, но снижает риск потери ключей.
Используя ключи, вы всегда должны будете защищать ключ, открывая его в потенциально небезопасных местах.
Если ваши контейнеры работают на вычислительной службе Google Cloud Platform (App Engine, Compute, Kubernetes, Run), учетные данные приложения по умолчанию могут использовать учетную запись службы ресурса (без ключа).
Для других типовучетные данные (насколько мне известно, не учетные записи служб Google), вы также можете рассмотреть ключевые службы управления, включая Cloud KMS, HashiCorp Vault.