# #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
разрешение. Я думаю, причина в том, что я работаю с бесплатной пробной учетной записью, и учетная запись службы не может создать проект без указания родителя, который может быть организацией, и поскольку пробная учетная запись не может создать организацию, это может быть и проблема.