首页 > 解决方案 > 加密标志为 true 时,Terraform 脚本为空 azurerm 自动化变量

问题描述

如果加密标志为真,我在访问 azure 自动化帐户变量时遇到问题。值为空。以下是步骤:

步骤1:

resource "azurerm_automation_variable_string" "db-password" {
    name = "test-database-password"
    resource_group_name = var.rgr-initial
    automation_account_name = var.aut-acc-name
    value = "bhdc3tSLZjZUcVj8"
    encrypted = true
}

第2步:

data "azurerm_automation_variable_string" "database-password-var" {
name = "test-database-password"
resource_group_name = var.rgr-initial
automation_account_name = var.aut-acc-name
}

第 3 步:

password = data.azurerm_automation_variable_string.database-password-var.value

如果加密的标志是假的,我就能得到这个值。如果它为真并且值被加密,则它为空。有什么我做错了吗?

标签: azureazure-devopsterraformterraform-provider-azureazure-rm

解决方案


这是因为您无法通过设计读取加密值。来自Azure 文档

不能使用此 [Get-AzAutomationVariable] cmdlet 来检索加密变量的值。执行此操作的唯一方法是在 Runbook 或 DSC 配置中使用内部 Get-AutomationVariable cmdlet。例如,要查看加密变量的值,您可以创建一个运行手册来获取该变量,然后将其写入输出流:


推荐阅读