Terraform 如何将敏感输出变量的值分配给环境变量?
我正在GitHub工作流中自动化terraform脚本 在我的terraform脚本中,我有一个敏感的输出变量,如下所示:Terraform 如何将敏感输出变量的值分配给环境变量?,terraform,Terraform,我正在GitHub工作流中自动化terraform脚本 在我的terraform脚本中,我有一个敏感的输出变量,如下所示: output "db_password" { value = aws_db_instance.db.password description = "The password for logging in to the database." sensitive = true } 我正在GitHub操作工作流中部署(terr
output "db_password" {
value = aws_db_instance.db.password
description = "The password for logging in to the database."
sensitive = true
}
我正在GitHub操作工作流中部署(terraform应用)脚本。
成功部署后,我需要将密码存储在安全存储(Azure KeyVault)中。我有一个bash命令来做这件事
我需要在环境变量中输入db_密码的值
如何将敏感输出变量的值分配给环境变量
有更好的方法吗?我建议在
地形应用之后使用地形输出
。然后,您可以将输出存储到Bash/shell变量或文件,而无需打印输出
e、 g
缺点是它可能:
- 在控制台输出中显示最后一个命令
- 在
ps
中作为命令行参数可见
因此,改进后的解决方案是存储在临时文件中
CREDENTIALS=$(mktemp -t tmp.XXXXXXXXXX)
terraform output db_password >$CREDENTIALS
# and now use the $CREDENTIALS file as input to Azure
rm -rf $CREDENTIALS
CREDENTIALS=$(mktemp -t tmp.XXXXXXXXXX)
terraform output db_password >$CREDENTIALS
# and now use the $CREDENTIALS file as input to Azure
rm -rf $CREDENTIALS