Вы можете указать учетные данные как Многострочное значение с именем google_credentials в пользовательском интерфейсе Terraform Cloud, пометить его как Sensitive Value и ввести что-то вроде это с правильными значениями для вашей учетной записи (вероятно, это просто копия вашей учетной записи. json файл, который у вас уже есть):
{
"type": "service_account",
"project_id": "project-id",
"private_key_id": "key-id",
"private_key": "-----BEGIN PRIVATE KEY-----\nprivate-key\n-----END PRIVATE KEY-----\n",
"client_email": "service-account-email",
"client_id": "client-id",
"auth_uri": "https://accounts.google.com/o/oauth2/auth",
"token_uri": "https://accounts.google.com/o/oauth2/token",
"auth_provider_x509_cert_url": "https://www.googleapis.com/oauth2/v1/certs",
"client_x509_cert_url": "https://www.googleapis.com/robot/v1/metadata/x509/service-account-email"
}
Затем вы можете предоставить учетные данные из переменной рабочей области в свой google provider в вашем модуле Terraform, как показано ниже, как одна переменная, которая будет интерпретироваться как JSON:
provider "google" {
project = var.project
region = var.region
credentials = var.google_credentials
}
variable "google_credentials" {
description = "the contents of a service account key file in JSON format."
type = string
}
учетные данные - (Необязательно) Либо путь к, либо содержимое файл ключа сервисного аккаунта в формате JSON. Вы можете управлять ключевыми файлами с помощью Cloud Console.
From Справочник по настройке поставщика Google .