Vla*_*mir 5 secret-key terraform
我有一个 terraform 配置,它使用访问密钥创建一个 AWS IAM 用户,并将 id 和 secret 分配给输出变量:
...
resource "aws_iam_access_key" "brand_new_user" {
user = aws_iam_user.brand_new_user.name
}
output "brand_new_user_id" {
value = aws_iam_access_key.brand_new_user.id
}
output "brand_new_user_secret" {
value = aws_iam_access_key.brand_new_user.encrypted_secret
sensitive = true
}
Run Code Online (Sandbox Code Playgroud)
这里brand_new_user_secret被声明为敏感的,所以terraform output显然不打印它。
有没有办法在不解析整个状态文件的情况下获取其输出值?尝试直接访问它 ( terraform output brand_new_user_secret) 不起作用(导致错误“在状态文件中找不到请求的输出变量...”)。
地形版本:0.12.18
Yur*_*rik 22
要以交互方式查看敏感值,即出于分析/调试状态的目的,您可以使用 Terraform 的控制台命令和nonsensitive()函数:
$ terraform console
> nonsensitive(aws_iam_access_key.brand_new_user.encrypted_secret)
Run Code Online (Sandbox Code Playgroud)
在打印之前,您可能需要使用其他函数来解码/操作该值。
Vla*_*mir 10
我有一些希望避免它,但到目前为止我没有找到比解析 terraform state 更好的方法:
terraform state pull | jq '.resources[] | select(.type == "aws_iam_access_key") | .instances[0].attributes'
Run Code Online (Sandbox Code Playgroud)
这将导致类似于以下的结构:
{
"encrypted_secret": null,
"id": "....",
"key_fingerprint": null,
"pgp_key": null,
"secret": "....",
"ses_smtp_password": "....",
"ses_smtp_password_v4": null,
"status": "Active",
"user": "...."
}
Run Code Online (Sandbox Code Playgroud)
小智 8
如果指定了单个输出,则输出命令会打印敏感输出。这是使用 Terraform v1.1.7 和 0.14.8
terraform output brand_new_user_secret
Run Code Online (Sandbox Code Playgroud)
未指定属性名称时得到的响应是:
brand_new_user_secret = (sensitive)
Run Code Online (Sandbox Code Playgroud)
而问题说这产生了一个错误,因此行为自 0.12 以来可能已经改变。
请参阅https://www.terraform.io/cli/commands/output
小智 6
我在这里使用一个像这样的黑客解决方法......
resource "aws_iam_access_key" "brand_new_user" {
user = aws_iam_user.brand_new_user.name
}
output "brand_new_user_id" {
value = aws_iam_access_key.brand_new_user.id
}
data "template_file" "secret" {
template = aws_iam_access_key.brand_new_user.encrypted_secret
}
output "brand_new_user_secret" {
value = data.template_file.secret.rendered
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
4147 次 |
| 最近记录: |