Учетная запись Google Cloud и инструменты управления секретами
Я использую камеру , инструмент для управления секретами.
По сути, он заполняет среду секретами указанных служб и выполняет заданную команду.
Например:
chamber exec script.sh
Будет использовать переменные env, определенные в камере внутри
script.sh
.
Я хочу сделать то же самое с учетной записью облачной службы Google , чтобы использовать прокси-сервер Google SQL .
Проблема в том, что GOOGLE_APPLICATION_CREDENTIALS env var - это путь к файлу JSON, а не фактическое значение.
Я могу легко сохранить JSON в камере, но я не могу использовать его как env var, если я не скопирую значение в файл JSON и не передам путь к env var.
По соображениям безопасности я не хочу хранить файл JSON внутри своего производственного экземпляра.
Я знаю, что могу использовать gcloud auth login для аутентификации пользователя, но я не хотел устанавливать ненужные библиотеки.
Я также мог бы использовать токен:
./cloud_sql_proxy -instances=INSTANCE_NAME -token=TOKEN_VALUE
Проблема в том, что токен истекает очень быстро.
Если бы я мог преобразовать JSON-файл служебной учетной записи в строку base64 и использовать ее в качестве токена, это было бы идеально.
Короче:
Я хотел бы сохранить секреты облачной аутентификации Google в моем инструменте управления секретами и использовать его с cloud_sql_proxy.
Мой код работает на aws ec2.
Наивный подход, который я могу придумать, заключался бы в добавлении файла JSON, аутентификации, а затем удалении файла ... Я использую упаковщик для создания образа экземпляра.
Есть идеи, как я могу этого добиться?