可以將加密的密碼值套用至在 Cloud Assembly 雲端範本設計中新增的 Terraform 組態。

  1. 在 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" {
      # ...
    }
  2. Cloud Assembly 中,移至基礎結構 > 管理 > 密碼,然後輸入您的密碼內容值。

    新增密碼名稱和對應的值。對於名稱,最簡單的方法是輸入與 Terraform 來源中的變數名稱相同的名稱。

    如有需要,請參閱密碼 Cloud Assembly 內容以取得更多詳細資料。

    密碼清單
  3. Cloud Assembly 中,匯入用於雲端範本的 Terraform 組態。

    移至設計 > 雲端範本,然後按一下新增自 > Terraform

    備註: 即使在精靈的最後一頁中顯示變數以供選取,也不需要將密碼變數設定為敏感變數。密碼 Cloud Assembly 變數將已加密,且不需要此精靈所套用的加密。

    如有需要,請參閱在 Cloud Assembly 中針對 Terraform 組態進行設計以取得更多詳細資料。

    雲端範本範例應類似於下列代碼:

    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. 在代碼編輯器中,對於密碼值,手動將 input 變更為 secret,如下所示。
    terraform:
      type: Cloud.Terraform.Configuration
      properties:
        variables:
          datadog_api_key: '${secret.datadog_api_key}'
          datadog_app_key: '${secret.datadog_app_key}'
  5. 在代碼的 inputs: 區段中,移除由密碼內容繫結取代的輸入項目。