如何使用 AWS Powershell 工具获取入口规则中允许的安全组 ID?
How do I use the AWS Powershell Tools to get ID's of security groups allowed in ingress rules?
在 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 : {}
相反,主 SecurityGroup 对象中的所有其他属性都相似,但在检查 IPPermissions 属性 时,存在该端口的规则,而 IpRanges 属性 为空并且没有' 包含安全组 ID 的任何其他属性。
FromPort : 22
IpProtocol : tcp
IpRanges : {}
Ipv6Ranges : {}
PrefixListIds : {}
ToPort : 22
UserIdGroupPairs : {}
如何使用 Powershell 查找允许其他安全组入站的规则?
您应该会在 UserIdGroupPairs
中看到配置的安全组列表,每个安全组都有 Description
、GroupId
和 UserId
。那就是awsclireturns。我会检查您是否在请求中提供了正确的安全组 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 : {}
相反,主 SecurityGroup 对象中的所有其他属性都相似,但在检查 IPPermissions 属性 时,存在该端口的规则,而 IpRanges 属性 为空并且没有' 包含安全组 ID 的任何其他属性。
FromPort : 22
IpProtocol : tcp
IpRanges : {}
Ipv6Ranges : {}
PrefixListIds : {}
ToPort : 22
UserIdGroupPairs : {}
如何使用 Powershell 查找允许其他安全组入站的规则?
您应该会在 UserIdGroupPairs
中看到配置的安全组列表,每个安全组都有 Description
、GroupId
和 UserId
。那就是awsclireturns。我会检查您是否在请求中提供了正确的安全组 ID。