Секретные зашифрованные значения можно применять в конфигурациях Terraform, которые добавляются в проекты облачных шаблонов Cloud Assembly.
- В репозитории Git добавьте исходный файл конфигурации Terraform, который ссылается на секретные свойства как на переменные.
В этом примере источника конфигурации Terraform и ключи API-интерфейса и приложения являются секретными переменными.
variable "datadog_api_key" { description = "Datadog API Key" } variable "datadog_app_key" { description = "Datadog App Key" } provider "datadog" { api_key = "${var.datadog_api_key}" app_key = "${var.datadog_app_key}" } # Create a new monitor resource "datadog_monitor" "default" { # ... } # Create a new timeboard resource "datadog_timeboard" "default" { # ... }
- В Cloud Assembly выберите и введите значения секретных свойств.
Добавьте для секретных элементов имена и соответствующие значения. Для имен проще всего ввести то же имя, что и имя переменной из источника Terraform.
Дополнительные сведения можно найти в Секретные свойства Cloud Assembly.
- В Cloud Assembly импортируйте конфигурацию Terraform для использования в облачном шаблоне.
Выберите
и щелкните .Примечание: Несмотря на то что переменные отображаются для выбора на последней странице мастера, секретные переменные не нужно указывать как конфиденциальные. Секретные переменные Cloud Assembly уже будут зашифрованы, поэтому для них не требуется шифрование, выполняемое мастером.Дополнительные сведения можно найти в Проектирование конфигураций Terraform в Cloud Assembly.
Пример облачного шаблона должен иметь приблизительно следующий вид:
inputs: datadog_api_key: type: string description: Datadog API Key datadog_app_key: type: string description: Datadog App Key resources: terraform: type: Cloud.Terraform.Configuration properties: variables: datadog_api_key: '${input.datadog_api_key}' datadog_app_key: '${input.datadog_app_key}' providers: [] terraformVersion: 0.12.29 configurationSource: repositoryId: 0fbf8f5e-54e1-4da3-9508-2b701gf25f51 commitId: ed12424b249aa50439kr1c268942a4616bd751b6 sourceDirectory: datadog
- В редакторе кода для секретных значений вручную измените
input
наsecret
, как показано ниже.terraform: type: Cloud.Terraform.Configuration properties: variables: datadog_api_key: '${secret.datadog_api_key}' datadog_app_key: '${secret.datadog_app_key}'
- В разделе
inputs:
кода удалите входные записи, которые были заменены привязками на секретные свойства.