如何使用 AWS Powershell 工具获取入口规则中允许的安全组的 ID?



在AWS Web控制台中,查看安全组的入站规则可以在源列中显示另一个安全组ID,而不是IP地址。我需要通过将其他安全组作为来源的PowerShell查看安全组的入口规则。

Get-EC2SecurityGroup似乎不包括有关其他传入安全组的信息。

在AWS中获取有关单个EC2安全组的信息,可以使用以下PowerShell命令:

Get-EC2SecurityGroup -GroupId sg-121kRandStringf912j

结果看起来像这样:

Description         : My Security Group Description
GroupId             : sg-121kRandStringf912j
GroupName           : SSHIn
IpPermissions       : {Amazon.EC2.Model.IpPermission}
IpPermissionsEgress : {Amazon.EC2.Model.IpPermission}
OwnerId             : 123456789012
Tags                : {Name, aws:cloudformation:stack-name, aws:cloudformation:logical-id, aws:cloudformation:stack-id}
VpcId               : vpc-01q23RandString09ab817

对使用IP地址的规则的Ippermissions属性的仔细检查看起来与此相似:

FromPort         : 22
IpProtocol       : tcp
IpRanges         : {192.168.1.0/32, 192.168.2.0/32}
Ipv6Ranges       : {}
PrefixListIds    : {}
ToPort           : 22
UserIdGroupPairs : {}

在上面的输出中注意,列出了IP范围。

我希望在入口规则允许整个安全组中找到类似的输出。我希望找到与此类似的信息:

FromPort         : 22
IpProtocol       : tcp
IpRanges         : {sg-1q9b2RandomString93q47}
Ipv6Ranges       : {}
PrefixListIds    : {}
ToPort           : 22
UserIdGroupPairs : {}

相反,主安全组对象中的所有其他属性都是相似的,但是在检查iPpermissions属性时,该端口的规则在IPRANGES属性为空时存在,并且没有任何其他属性包含安全组IDS。

FromPort         : 22
IpProtocol       : tcp
IpRanges         : {}
Ipv6Ranges       : {}
PrefixListIds    : {}
ToPort           : 22
UserIdGroupPairs : {}

如何使用PowerShell查找允许其他安全组入站的规则?

您应该看到UserIdGroupPairs中的配置安全组列表,每个列表均为DescriptionGroupIdUserId。这就是AWSCLI返回的。我会检查您在请求中提供了正确的安全组ID。

最新更新