博客园  :: 首页  :: 管理

关于aws-SecurityGroup-安全组策略的批量添加的方法记录

Posted on 2022-09-17 15:33  520_1351  阅读(385)  评论(0编辑  收藏  举报

因一些服务的客户端网络地址段计划变更,会影响到aws上配置这这些网段安全组策略所绑定的资源

因此需要先整理包含了出那些服务的网络地址段的安全组

然后根据旧网段的策略信息,将新的地址段给添加上,待后续正式变更后,再删除安全组上旧网络地址段策略

此次更新量较大,于是笔者想到了使用aws - cli的方式进行更新,但不一定适用大部分策略

1、首先,先整理出的包含了服务旧网段的安全组策略,至少要包含【安全组id】、【协议】、【FromPort】、【ToPort】

2、然后通过如下aws cli命令进行新增,这里有一个注意点

此方法只能针对入站策略-(TCP/UDP常用协议),还有因aws-安全组默认只能60条策略,因为适合离60上限数量还多的安全组

[qq_5201351@localhost ~]$ aws --profile xxxxx ec2 authorize-security-group-ingress \
--group-id sg-xxxxx \
--ip-permissions IpProtocol=TCP,FromPort=8000,ToPort=8010,IpRanges='[{CidrIp=1.1.1.0/24,Description="xxx net update"}]'

3、因为此次新加了是多个段,所以旧的一条策略、就要对应上多条,因为量比较大,要生成批量的策略添加命令,需要借助于字符串处理工具,如excel或者其他工具,或者其他linux命令,这里笔者使用的是自己快速编写的一个gui小工具,效果如下:

填入上面4个字段,正常情况,理论上需要少保证4个字段的行数一行,执行后就会产生如下结果:

aws --profile xxxxx ec2 authorize-security-group-ingress --group-id sg-16297290dd0c48b15 --ip-permissions IpProtocol=TCP,FromPort=8000,ToPort=8010,IpRanges='[{CidrIp=1.1.1.1/19,Description="xxx net add_20220917"}]'
aws --profile xxxxx ec2 authorize-security-group-ingress --group-id sg-16297290dd0c48b15 --ip-permissions IpProtocol=TCP,FromPort=8000,ToPort=8010,IpRanges='[{CidrIp=2.2.2.2/24,Description="xxx net add_20220917"}]'
aws --profile xxxxx ec2 authorize-security-group-ingress --group-id sg-09638e110721c7635 --ip-permissions IpProtocol=UDP,FromPort=137,ToPort=137,IpRanges='[{CidrIp=1.1.1.1/19,Description="xxx net add_20220917"}]'
aws --profile xxxxx ec2 authorize-security-group-ingress --group-id sg-09638e110721c7635 --ip-permissions IpProtocol=UDP,FromPort=137,ToPort=137,IpRanges='[{CidrIp=2.2.2.2/24,Description="xxx net add_20220917"}]'

注:还有对于ICMP等非TCP/UDP的条目,以及安全组策略接近和达到60条上限的,也需要单独处理

 

 

尊重别人的劳动成果 转载请务必注明出处:https://www.cnblogs.com/5201351/p/16702746.html