У меня есть проект Firebase, для которого не включено выставление счетов.Я хочу создавать резервные копии базы данных, используя виртуальную машину, принадлежащую другому проекту с поддержкой биллинга.Сценарий резервного копирования так же прост:
.npm/bin/firebase --project $PROJECT_ID database:get /
Недавно созданная учетная запись службы назначается виртуальной машине, выполняющей этот сценарий (через GCE).Если эта учетная запись не имеет доступа к проекту $PROJECT_ID
, то очевидно, что это не удается:
Error: Authorization failed. This account is missing the following required permissions on project $PROJECT_ID:
firebase.projects.get
firebasedatabase.instances.get
Но предоставление этих специальных разрешений учетной записи службы или даже назначение роли «Владелец» этому проекту несделать это намного лучше.Вместо этого:
Error: HTTP Error: 404, The specified project was not found.
Работа с --debug
показывает, что конкретно GET https://admin.firebase.com/v1/projects/$PROJECT_ID
возвращает 404.
Проект существует, и я проверяю, выполняя точно такую же команду с моей собственной (несервис) аккаунт на моей рабочей станции.Я также проверил правильность учетной записи, запустив на виртуальной машине gcloud auth list
.Проект также отображается в выводе gcloud projects list
на той же виртуальной машине.
Есть ли способ заставить учетную запись службы работать в разных проектах и получать доступ к базе данных Firebase?