Как дать разрешения GCP функциям Firebase на доступ к ресурсам? (как GCE)

Кто-нибудь знает, как дать разрешение из моего проекта в GCP функции, созданной и развернутой в firebase? Потому что я делаю следующее:

  1. С сайта (развернутого также в firebase) вызов на серверную часть (функция Firebase)
  2. Сама функция пытается получить ресурсы из моего проекта GCP (в частности, какие экземпляры запущены в данный момент)
  3. Затем я получаю их и показываю на лицевой стороне.

Шаг 2 вызывает мои проблемы, в настоящее время, когда я пытаюсь его запустить, он выдает ошибку: Ошибка: не удалось обработать запрос и в журнале из функции firebase я получил: GaxiosError: требуется разрешение ‘compute.instances.list’ для ‘projects / projectID’, поэтому я точно знаю, что это проблема авторизации.

Весь этот проект работал хорошо 2 месяца назад, но моя бесплатная пробная версия истекла, и мы попытались перейти на другую учетную запись GCP и попытаться завершить этот проект (с этим я знаю, что код работает правильно, проблема наверняка в GCP, потому что также, когда я использую другие КОНЕЧНЫЕ ТОЧКИ API, не связанные с ресурсами GCP, они работают хорошо).

Любая рекомендация была бы потрясающей, и если бы я не дал достаточно информации, просто скажите мне. Спасибо за ваше время

См. также:  Flutter загружает изображение в хранилище firebase, а затем записывает его в хранилище firestore
Понравилась статья? Поделиться с друзьями:
IT Шеф
Комментарии: 1
  1. Arian Calabrese

    Добавьте роль IAM, содержащую необходимое разрешение, в учетную запись службы Cloud Function.

    Например, роль roles/compute.viewer имеет разрешение compute.instances.list.

    Просмотрите эту страницу, чтобы узнать больше о ролях IAM в Compute Engine:

    Роли и разрешения IAM в Compute Engine

    Функции Firebase — это облачные функции. Cloud Functions использует App Engine default service account для управления доступом. Формат имени учетной записи службы: [email;protected]. Найдите эту учетную запись службы в IAM и добавьте упомянутую выше роль.

    Контроль доступа к облачным функциям

    Большое спасибо за вашу помощь. Проблема заключалась в том, что функции находились в другом проекте на GCP. Итак, я включил GCE API в этом проекте и создал экземпляр, и он работал правильно. Теперь мой новый вопрос: можно ли использовать функции из проекта B для доступа к ресурсам из проекта A? Еще раз за полезный ответ. person Arian Calabrese; 30.12.2020

    да. В проекте A перейдите в IAM. Добавьте адрес электронной почты для учетной записи службы App Engine из проекта B. Назначьте необходимые роли. person Arian Calabrese; 30.12.2020

Добавить комментарий

;-) :| :x :twisted: :smile: :shock: :sad: :roll: :razz: :oops: :o :mrgreen: :lol: :idea: :grin: :evil: :cry: :cool: :arrow: :???: :?: :!: