È possibile applicare valori segreti crittografati alle configurazioni Terraform aggiunte alle progettazioni di modelli cloud di Cloud Assembly.

  1. 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" {
      # ...
    }
  2. In Cloud Assembly, passare a Infrastruttura > Amministrazione > Segreti 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 Cloud Assembly segrete per ulteriori dettagli.

    Elenco dei segreti
  3. In Cloud Assembly, importare la configurazione di Terraform da utilizzare in un modello cloud.

    Passare a Progettazione > Modelli cloud e fare clic su Nuovo da > Terraform.

    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 Cloud Assembly saranno già crittografate e non sarà necessaria la crittografia applicata dalla procedura guidata.

    Se necessario, vedere Progettazione di configurazioni di Terraform in Cloud Assembly 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
  4. Nell'editor del codice, per i valori segreti, modificare manualmente input in secret come mostrato.
    terraform:
      type: Cloud.Terraform.Configuration
      properties:
        variables:
          datadog_api_key: '${secret.datadog_api_key}'
          datadog_app_key: '${secret.datadog_app_key}'
  5. Nella sezione inputs: del codice, rimuovere le voci di input che sono state sostituite dalle associazioni con le proprietà segrete.