Ошибка при создании проекта firebase с использованием terraform

# #node.js #firebase #google-cloud-platform #terraform #terraform-provider-gcp

Вопрос:

Я пытаюсь создать проект создания базы данных с использованием terraform. Я новичок в ИТ и нуждаюсь в некотором руководстве по настройке проекта firebase. Я столкнулся с проблемой

Ошибка создания проекта: googleapi: Ошибка 403: Ваше приложение прошло проверку подлинности с использованием учетных данных конечного пользователя из Google Cloud SDK или Google Cloud Shell, которые не поддерживаются firebase.googleapis.com. Мы рекомендуем настроить параметр billing/quota_project в gcloud или использовать учетную запись службы с помощью параметра auth/impersonate_service_account. Дополнительные сведения об учетных записях служб и о том, как их использовать в приложении, см. в разделе https://cloud.google.com/docs/authentication/.

код терраформирования

 resource "google_project" "test-project" {
  provider = google-beta

  project_id = "test-project"
  name       = "Test Project"
}

resource "google_firebase_project" "test-project" {
  provider = google-beta
  project  = google_project.test-project.project_id
}

provider "google" {
  project = "test-project"
  region  = var.region
}
 

Ответ №1:

Создание учетной записи службы в проекте администратора Terraform, например.

 gcloud iam service-accounts create terraform 
  --display-name "Terraform admin account"

gcloud iam service-accounts keys create ${TF_CREDS} 
  --iam-account terraform@${TF_ADMIN}.iam.gserviceaccount.com
 

и предоставление разрешений этой учетной записи службы должно решить эту проблему. Пример предоставления разрешений из документации:

 gcloud projects add-iam-policy-binding ${TF_ADMIN} 
  --member serviceAccount:terraform@${TF_ADMIN}.iam.gserviceaccount.com 
  --role roles/viewer

gcloud projects add-iam-policy-binding ${TF_ADMIN} 
  --member serviceAccount:terraform@${TF_ADMIN}.iam.gserviceaccount.com 
  --role roles/storage.admin
 

Вы можете следовать инструкциям о создании облачных проектов Google в Terraform

Проекты, которые вы создаете в GCP, такие же, как и в Firebase.

Комментарии:

1. Спасибо вам за ответ. Я уже пробовал это решение, и я все еще получаю googleapi: Ошибка 403: У вызывающего абонента нет разрешения, запрещено. Если вы получили ошибку 403, убедитесь, что у вас есть roles/resourcemanager.projectCreator разрешение. Я думаю, причина в том, что я работаю с бесплатной пробной учетной записью, и учетная запись службы не может создать проект без указания родителя, который может быть организацией, и поскольку пробная учетная запись не может создать организацию, это может быть и проблема.