小编Rob*_*rtE的帖子

控制台输出中的Terraform掩码变量可以输出吗?

我想将其发布为功能请求,但我想在发布之前先看看是否有人找到了某种巧妙的方法。也许Hashicorp的某人可以告诉我这将是未来的功能

我想通过某种方式在运行时屏蔽控制台中的变量terraform apply/show。最好在将变量传递到脚本时尝试使用local-exec提供程序掩盖变量。

我唯一能找到一个名为Terrahelp的工具来执行此操作,但该工具仅适用于tfvars不允许插值的文件中的变量。这无济于事,因为我们正尝试使用Vault将机密信息从terraform文件中排除。

Current Versions
Terraform v0.11.7
provider.null v1.0.0
provider.template v1.0.0
provider.vault v1.3.1
provider.vsphere v1.8.1
Run Code Online (Sandbox Code Playgroud)

用例

provisioner "local-exec" {
    command = "&'${path.module}\\scripts\\script.ps1' -name ${var.node_name} -pass '${var.pass}' -user ${var.user} -server ${var.server}"
    interpreter = ["Powershell", "-Command"]
  }  
Run Code Online (Sandbox Code Playgroud)

尝试的解决方案 我正在使用保管库将机密信息保存在Terraform文件中,因此我正在使用保管库提供程序并从中调用数据。我试图创建一个模块并输出带有sensitive = true值的机密信息,然后调用该模块以使用机密信息,但仍在控制台中显示。

提案

允许某种敏感值,就像将其输出到Terraform中的变量一样。因此,如果在控制台中调用了上述脚本,它们将不会显示敏感的变量信息。

参考 https://github.com/hashicorp/terraform/issues/16114 https://github.com/hashicorp/terraform/issues/16643

terraform hashicorp-vault

7
推荐指数
1
解决办法
475
查看次数

标签 统计

hashicorp-vault ×1

terraform ×1