Как обрабатывать ключи и учетные данные при развертывании в облачных функциях Google? - PullRequest
0 голосов
/ 28 октября 2019

У меня есть несколько облачных функций (в Python), для которых требуется пакет modulair auth, в котором есть подпапка с credentials (содержащая в основном файлы json из файлов учетных записей служб Google или конфигураций Firebase).

С точки зрения безопасности, я явно не включил эти файлы в .git, добавив папку в файл .gitignore (auth/credentials).

Однако я сейчасзастрял с тем, что делать при развертывании облачной функции Google (.gcloudignore). Если я разверну его с учетными данными, то представлю, что эти ключи выставлены на сервере? Как я мог преодолеть это?

Я слышал некоторые разговоры о переменных среды, но я не уверен, что это более безопасно, чем просто их развертывание?

Как Google это делает?

1 Ответ

1 голос
/ 28 октября 2019

У вас есть два основных решения. Во-первых, облачная функция может запускаться с идентификатором пользовательской учетной записи службы. Эта учетная запись службы затем может быть связана со всеми ролями, необходимыми для выполнения вашей задачи. Значение этого в том, что никакие учетные данные не должны быть явно известны вашей логике. Среда, в которой ваши вызовы выполняются «неявно», имеет все, что нужно.

См .: Идентификация для каждой функции

Второй механизм, который больше соответствуетс тем, что вы сейчас делаете, используется концепция сервера вычислительных метаданных . Эти метаданные могут быть сконфигурированы с токенами, необходимыми для совершения звонков. Метаданные настраиваются отдельно от вашей логики облачной функции, которая просто извлекает данные по мере необходимости.

См .: Получение идентификаторов и токенов доступа .

...