У меня есть облачная функция, которая взаимодействует с облачным хранилищем и BigQuery, и все они принадлежат одному проекту. Обычный способ, которым я следовал при развертывании облачной функции из командной строки:
$ gcloud functions deploy my_function ... --set-env-vars GOOGLE_APPLICATION_CREDENTIALS=my_project_credentials.json
, где my_project_credentials.json
- файл ключа json, содержащий учетную запись службы и ключ для доступа к облачному хранилищу. и BigQuery.
Поскольку с тех пор я так и поступал, мне нужен другой способ полностью избежать этого json файла учетных данных (поскольку эти взаимодействующие службы в любом случае принадлежат одному проекту Google Cloud). Есть ли такой способ? Я немного новичок в Google Cloud, поэтому я не знаком с IAM.
(Еще одна причина, по которой мне это нужно, заключается в том, что у меня есть клиент, который не устраивает меня как разработчика. имея доступ к этому ключу json, а также он / она не хочет, чтобы этот ключ json использовался вместе с кодом функции. Пожалуйста, предоставьте некоторые подробности о том, как это сделать в IAM, особенно в BigQuery и Cloud Storage, поскольку у меня нет контроль и над IAM).