可以将经过加密的密钥值应用于添加到 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:
部分中,移除由密钥属性绑定替换的输入条目。