【发布时间】:2021-02-03 22:41:09
【问题描述】:
我正在尝试使用 Terraform 在帕洛阿尔托创建 IPSEC 隧道。代码将通过管道推送。我希望隧道的所有信息都是可读的,pre_shared_key 除外。我知道如何为一个实例加密它,但由于会有多个隧道,如何加密密钥并将其映射到它的实例?
vpns.yml:
vpns:
- name: "Test"
template: "template_name"
ip_type: "IP"
ip_remote: "1.1.1.1"
firewall_interface: "vlan.xxxx"
local_ip: "public_ip/24"
ikev2_profile: "VerySecure"
tunnel_interface: "tunnel1"
pre_shared_key: "*******"
我迭代的隧道模块如下所示:
locals {
tunnel = yamldecode(file(var.vpn_file))
}
resource "panos_panorama_ike_gateway" "gateway" {
for_each = { for e in local.tunnel : e.Name => e }
name = each.value.name
template = each.value.template
version = "ikev2-preferred"
peer_ip_type = each.value.ip_type
peer_ip_value = each.value.ip_remote
interface = each.value.firewall_interface
local_ip_address_type = "ip"
local_ip_address_value = each.value.local_ip
pre_shared_key = each.value.pre_shared_key
ikev2_crypto_profile = each.value.ikev2_profile
enable_dead_peer_detection = true
dead_peer_detection_interval = "10"
dead_peer_detection_retry = "3"
liveness_check_interval = "5"
}
【问题讨论】:
-
哪部分要保密?只是不将其以纯文本形式存储在存储库中?还是其他地方,例如 Terraform 输出?
-
理想情况下两者都是,但它不会以纯文本形式存储这一事实似乎是最重要的。
标签: terraform