Terraform 使用aws预定义的ssl安全策略地形化aws_lb_ssl_协商_策略
根据: 您可以创建一个新的资源以拥有ELB SSL策略,这样您就可以定制您想要的任何协议和密码。但是,我希望使用由Amazon设置的预定义安全策略Terraform 使用aws预定义的ssl安全策略地形化aws_lb_ssl_协商_策略,terraform,Terraform,根据: 您可以创建一个新的资源以拥有ELB SSL策略,这样您就可以定制您想要的任何协议和密码。但是,我希望使用由Amazon设置的预定义安全策略 TLS-1-1-2017-01或TLS-1-2-2017-01 有没有办法使用预定义策略而不是设置新的自定义策略?是的,您可以定义它。默认安全策略ELBSecurityPolicy-2016-08已涵盖您要求的所有ssl协议 其次,Protocol-TLSv1.2也涵盖了您要求的两项政策(TLS-1-1-2017-01或TLS-1-2-2017-0
TLS-1-1-2017-01
或TLS-1-2-2017-01
有没有办法使用预定义策略而不是设置新的自定义策略?是的,您可以定义它。默认安全策略ELBSecurityPolicy-2016-08已涵盖您要求的所有ssl协议 其次,
Protocol-TLSv1.2
也涵盖了您要求的两项政策(TLS-1-1-2017-01或TLS-1-2-2017-01)
()
因此,请确保使用以下代码启用它:
resource "aws_lb_ssl_negotiation_policy" "foo" {
...
attribute {
name = "Protocol-TLSv1.2"
value = "true"
}
}
为了解决同样的问题,我在这里遇到了以下片段: 基本上,您需要创建两个资源,
aws\u负载平衡器\u策略
,以及aws\u负载平衡器\u侦听器\u策略
。在aws\u负载\u平衡器\u策略中
将policy\u属性设置为引用预定义的安全策略,然后将侦听器策略设置为引用该aws\u负载\u平衡器\u策略
我在terraform AWS文档中添加了一个示例代码,以使其更加明确,但下面是一个示例代码段:
resource "aws_load_balancer_policy" "listener_policy-tls-1-1" {
load_balancer_name = "${aws_elb.elb.name}"
policy_name = "elb-tls-1-1"
policy_type_name = "SSLNegotiationPolicyType"
policy_attribute {
name = "Reference-Security-Policy"
value = "ELBSecurityPolicy-TLS-1-1-2017-01"
}
}
resource "aws_load_balancer_listener_policy" "ssl_policy" {
load_balancer_name = "${aws_elb.elb.name}"
load_balancer_port = 443
policy_names = [
"${aws_load_balancer_policy.listener_policy-tls-1-1.policy_name}",
]
}
乍一看,这似乎是在创建一个基于预定义安全策略的自定义策略,但当您查看AWS控制台中创建的内容时,您会发现它实际上只是选择了适当的预定义安全策略
借鉴Kirkland的答案,对于子孙后代,如果您不需要任何其他保单类型,您可以对aws\u lb\u ssl\u negotation\u保单执行相同的操作:
resource "aws_lb_ssl_negotiation_policy" "my-elb-ssl-policy" {
name = "my-elb-ssl-policy"
load_balancer = "${aws_elb.my-elb.id}"
lb_port = 443
attribute {
name = "Reference-Security-Policy"
value = "ELBSecurityPolicy-TLS-1-2-2017-01"
}
}
我也在寻找同样的答案,但你的答案看起来与他想要的答案不太一样。你没有解释如何应用策略,他也不想启用协议/密码/选项,而是想应用预定义的策略。也许我的理解有误,但你的示例应用了协议协议TLSv1.2,而不是预定义的策略。我粘贴的表单告诉你哪些策略属于。到目前为止,这似乎是不可能的。github上出现了一个问题供进一步参考:到目前为止似乎还不可能。github上有一个问题需要进一步参考:答案很好,也感谢您更新文档!我只是想指出,您也可以使用aws_lb_ssl_Negotation_策略使用一个资源来完成这项工作——请参阅我的答案,了解格式化代码(看起来您无法在注释中发布代码片段)