Как обрабатывать аутентификацию для поставщиков без использования общих учетных данных, когда несколько человек используют Altantis/Terraform

Мы используем Atlantis в Bitbucket VCS для запуска Terraform v0.12.28. Мы терраформируем Cloudflare . Многие люди имеют доступ к репозиторию битбакетов и запускают Atlantis. Однако в настоящее время мы используем общий токен API Cloudflare для аутентификации в Cloudflare, который настраивается в файле provider.tf. Значения сохраняются и извлекаются из AWS SSM.

Есть ли способ динамически передавать разные учетные данные во время плана / применения? Мне нужно удалить общий токен API Cloudflare и заставить пользователей запускать план / применять со своими собственными учетными данными Cloudflare. Их учетные данные не должны быть доступны другим пользователям или отображаться в репо.

      ### Inside provider.tf ###
provider "cloudflare" {
  version = "~>2.0"
  api_token = data.aws_ssm_parameter.CloudflareApiTokenForTerraform.value
  account_id = data.aws_ssm_parameter.CloudflareAccountID.value
}

provider "aws" {
  # Allow any 2.x version of the AWS provider
  version = "~>2.0"
  region  = "us-east-1"
  profile = "temp-profile"
  max_retries = 1
}

### Inside data.tf ###
data "aws_ssm_parameter" "CloudflareAccountID" {
  name = "CloudflareAccountID"
}

data "aws_ssm_parameter" "CloudflareApiTokenForTerraform" {
  name = "CloudflareApiTokenForTerraform"
}

Любая помощь будет принята с благодарностью! Спасибо!

0 ответов

Другие вопросы по тегам