我需要在AWS中存储一个私钥。因为当我从AWS创建ec2实例时,我需要使用此主键在预配器“ remote-exec”中进行身份验证。我不想保存在回购AWS中。
在Secret Manager中保存私钥是个好主意吗?然后食用吗?
如果是肯定的话,如何在Secret Manager中保存主键,然后在TF aws_secretsmanager_secret_version中检索?
对于我来说,如果我通过file()进行验证,则可以正常工作,但是如果我通过字符串进行验证,则失败。
connection {
host = self.private_ip
type = "ssh"
user = "ec2-user"
#private_key = file("${path.module}/key") <-- Is working
private_key = jsondecode(data.aws_secretsmanager_secret_version.secret_terraform.secret_string)["ec2_key"] <-- not working. Error: Failed to read ssh private key: no key found
}
答案 0 :(得分:1)
我认为原因是由于您如何存储它。我使用自己的沙盒帐户对const list = [ 'h', 'e', 'l', 'l', 'o'];
list.map((currElement, index) => {
console.log("The current : " + index);
console.log("The curre: " + currElement);
console.log("\n");
return currElement; //equivalent to list[index]
});
进行了验证,它可以正常工作。但是,我将其存储为痛苦的文本,而不是json:
然后我成功将其用于实例:
aws_secretsmanager_secret_version