Как сохранить учетную запись службы GCP JSON в переменной terrafrom? - PullRequest
1 голос
/ 20 июня 2020

Моя конфигурация провайдера terraform gcp выглядит как

provider "google" {
  project     = var.project
  region      = var.region
  credentials = file("account.json")
}

Я хочу запустить свой файл terraform в облаке terraform и не хочу помещать файл account. json в систему управления версиями. Как я могу сохранить файл учетной записи службы json GCP в облаке terraform, а затем получить к нему доступ из скрипта terraform?

1 Ответ

1 голос
/ 21 июня 2020

Вы можете указать учетные данные как Многострочное значение с именем 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 .

...