Cloud Assembly クラウド テンプレート デザインに追加した Terraform 構成に、暗号化されたシークレット値を適用できます。
- 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 のシークレット変数は、すでに暗号化されているため、ウィザードで適用される暗号化は不要です。必要な場合は、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
- 次に示すように、コード エディタで、シークレット値について、
input
をsecret
に手動で変更します。terraform: type: Cloud.Terraform.Configuration properties: variables: datadog_api_key: '${secret.datadog_api_key}' datadog_app_key: '${secret.datadog_app_key}'
- コードの
inputs:
セクションで、シークレット プロパティへのバインドによって置換された入力エントリを削除します。