有没有办法为 AWS 安全组规则添加描述

Posted

技术标签:

【中文标题】有没有办法为 AWS 安全组规则添加描述【英文标题】:Is there a way to add a description for AWS Security Group rules 【发布时间】:2016-12-15 09:59:20 【问题描述】:

我现在有 5 个不同的安全组,我已尽力组织起来。

我有时需要根据我所在的位置打开对某些实例的 SSH 访问,所以我从我当前的 IP 为入站端口 22 添加规则。我可以很好,但为了保持整洁,我想能够指定这个 IP 来自格拉斯哥的办公室,这个来自伦敦、纽约等地,但我看不出有什么方法可以提供一点点或额外的信息。

我们是几个更新安全组的人,一段时间后有些人忘记删除临时规则,这可能会变得有点混乱,并且当我们想要清理安全组并删除这些临时规则同时保留永久的。

我在文档中看不到任何可以让我在每条规则旁边添加这个小描述的内容;我错过了什么吗?

【问题讨论】:

【参考方案1】:

这个问题的答案最近发生了变化。

安全组规则现在有一个描述字段

AWS 公告(2017 年 8 月 31 日)https://aws.amazon.com/about-aws/whats-new/2017/08/simplify-management-of-security-groups-with-security-group-rule-descriptions/

Amazon EC2 现在允许客户向各个安全组规则添加简短描述。使用此功能,客户可以添加详细信息,例如创建或更新某个安全组规则的时间和原因。此功能简化了安全组的管理,因为客户不再需要使用电子表格或文档来跟踪此信息。

【讨论】:

所以使用这样的命令:aws ec2 authorize-security-group-ingress --group-id $security_group_id --cidr $(dig +short myip.opendns.com @resolver1.opendns.com)/32 --protocol tcp --port $port 我在哪里传递描述? @ndtreviv from docs.aws.amazon.com/cli/latest/reference/ec2/… aws ec2 authorize-security-group-ingress --group-id sg-123abc12 --ip-permissions '["IpProtocol": "tcp", "FromPort": 3389, "ToPort": 3389, "IpRanges": ["CidrIp": "203.0.113.0/24", "Description": "RDP access from NY office"]]' 是的,但是如果我有相同范围的其他 IP 协议,它不会将它们清除吗?当您获得安全组详细信息时,它会将它们合并到一个组中。【参考方案2】:

不,您没有错过任何事情,但是您无法向安全组中的 IP 添加描述。您可以安排的另一种方法是为资源创建一个主安全组,并按您办公室的名称创建多个安全组,并将它们附加到主安全组。您必须为 IP 地址维护单独的文档。

【讨论】:

我已经保留了一个共享文档,我会尝试保持更新,不幸的是它并不总是得到更新,这使得它完全无用加班,我真的很喜欢让主 SG 和孩子们的想法每个办公室都附在它上面,我认为它非常适合我的需求,听起来像是一个快速简单的解决方案,我现在可以就位,谢谢队友。【参考方案3】:

虽然安全组没有描述字段,但您可以(并且应该)使用标签将元数据添加到每个安全组。

我建议您为每个名为description 的安全组创建标签,并在此处提供详细说明。

对 EC2 对象有用的其他标签通常是 ownerfunctionenvironment

因此对于 SSH SG,您可以定义如下标签:

owner=rodrigo m
function=secure ssh access
environment=production
description=Glasgow's office IP x.x.x.x London Office IP y.y.y.y
updated_on=8/9/2016

【讨论】:

【参考方案4】:

这里我很疑惑,因为它看起来像命令

aws ec2 describe-security-groups --generate-cli-skeleton

允许基于标签名称和值的过滤器


    "DryRun": true, 
    "GroupNames": [
        ""
    ], 
    "GroupIds": [
        ""
    ], 
    "Filters": [
        
            "Name": "", 
            "Values": [
                ""
            ]
        
    ]

这将直接回答您关于如何将元数据应用于所需安全组的问题,但我在任何 aws cli 命令中都看不到设置该元数据的方法。

我见过的另一种成功简化安全组的方法是使用 *** 配置,该配置为您的用户提供稳定的 IP 地址端点,这样您就不必在安全组中戳漏洞,而是移动受信任的连接到受加密保护的 *** 的端点。

【讨论】:

以上是关于有没有办法为 AWS 安全组规则添加描述的主要内容,如果未能解决你的问题,请参考以下文章

将入站规则添加到安全组 aws cdk

通过 Terraform 添加 AWS 安全组时出现问题

AWS CLI;撤销默认安全组入口规则会导致错误

在 AWS EC2 中,没有入站规则的安全组是啥意思?

如何使用 Terraform 附加或删除安全组的入口/出口规则?

适用于 RDS 的 AWS 安全组 - 出站规则