限制 terraform 嵌套资源中的 AWS 安全组设置
Posted
技术标签:
【中文标题】限制 terraform 嵌套资源中的 AWS 安全组设置【英文标题】:Restrict AWS security group settings in terraform nested resource 【发布时间】:2021-11-05 00:09:46 【问题描述】:我在服务中定义了一个 aws_directory_service_directory
资源,它创建了一个 security group 允许从 0.0.0.0/0 访问端口 1024-65535 并且由于 AWS CIS 标准没有建议允许 TCP 端口 3389 从 0.0.0.0/0 进入。
我的问题是如何限制由aws_directory_service_directory
资源创建的结果安全组中的一些规则。您如何 remediate 在作为另一个副产品的资源上使用 terraform?
【问题讨论】:
你能分享你正在创建目录的 Terraform 吗?理想情况下,它应该采用minimal reproducible example 的形式。该资源创建了完全不同的目录类型,这些目录类型会影响对此的答案,因此了解您如何配置它很有用。 @ydaetskcoR 考虑上面我的描述中链接的 terraform 页面中的示例。如果您向下滚动到“属性参考”部分,您将看到 AD 资源的属性之一是安全组。我正在尝试修改该安全组的属性。 看起来没有简单的方法来改变这些,但docs.aws.amazon.com/directoryservice/latest/admin-guide/… 基本上说不用担心,因为域控制器应该暴露给你的整个网络并且它们可以'不要暴露在互联网上,因为你不能给它一个公共 IP 地址。我不知道如果您有一些东西扫描您的安全组并标记对所有内容开放的非常广泛的范围,这是否对您有帮助。 是的。我看到了那个条款并决定“接受风险” 【参考方案1】:您不能在安全组中明确限制入站流量,由于安全组的目的是只允许流量,默认情况下它限制所有流量。但是,如果您想允许或拒绝特定端口或入站流量,请在子网级别使用 AWS NACL。
【讨论】:
请添加更多详细信息以扩展您的答案,例如工作代码或文档引用。以上是关于限制 terraform 嵌套资源中的 AWS 安全组设置的主要内容,如果未能解决你的问题,请参考以下文章
terraform 中的 aws_config_remediation_configuration 资源中缺少参数
用于 eu-west-1 中资源的 us-east-1 中的 Terraform AWS ACM 证书
在 Terraform 的 aws_ecs_task_definition 资源中设置 ulimit 堆栈大小
Terraform:导入 aws 资源时出现凭证错误 - 调用 sts 时出错:GetCallerIdentity:ExpiredToken