È possibile applicare valori segreti crittografati alle configurazioni Terraform aggiunte alle progettazioni di modelli cloud di Automation Assembler.
- Nel repository Git, aggiungere un file di origine configurazione Terraform che faccia riferimento alle proprietà segrete come variabili.
In questo esempio di origine configurazione Terraform, le API e le chiavi dell'applicazione sono le variabili segrete.
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" { # ... }
- In Automation Assembler, passare a e immettere i valori delle proprietà segrete.
Aggiungere i nomi segreti e i valori corrispondenti. Per i nomi, è più facile immettere semplicemente lo stesso nome della variabile dell'origine Terraform.
Se necessario, vedere Proprietà di Automation Assembler segrete per ulteriori dettagli.
- In Automation Assembler, importare la configurazione di Terraform da utilizzare in un modello cloud.
Passare a
e fare clic su .Nota: Anche se le variabili vengono visualizzate per la selezione nell'ultima pagina della procedura guidata, non è necessario impostare le variabili segrete come sensibili. Le variabili di Automation Assembler saranno già crittografate e non sarà necessaria la crittografia applicata dalla procedura guidata.Se necessario, vedere Progettazione di configurazioni di Terraform in Automation Assembler per ulteriori dettagli.
Il modello cloud di esempio potrebbe assomigliare al codice seguente:
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
- Nell'editor del codice, per i valori segreti, modificare manualmente
input
insecret
come mostrato.terraform: type: Cloud.Terraform.Configuration properties: variables: datadog_api_key: '${secret.datadog_api_key}' datadog_app_key: '${secret.datadog_app_key}'
- Nella sezione
inputs:
del codice, rimuovere le voci di input che sono state sostituite dalle associazioni con le proprietà segrete.