我正在使用javascript SDK根据IP地址(cidr块)撤销非默认vpc安全组的入口,但是得到一个错误
Source Group ID missing.
-
(node:8514) UnhandledPromiseRejectionWarning: MissingParameter: Source group ID missing.
我可以将同一个安全组id设置为“SourceSecurityGroupOwnerId”,但这不起作用(而且这并不是我真正想要的)。
请注意
actualIpPermissions
从ec2sdk.describeSecurityGroups.SecurityGroups[0].IpPermissions中检索,未硬编码。
我的代码:
const actualIpPermissions = [{
FromPort:22,
IpProtocol:"tcp",
IpRanges:[
{CidrIp:"2.123.116.234/32",Description:"SSH some place"},
{CidrIp:"203.44.22.112/32",Description:"SSH from somewhere else"}
],
Ipv6Ranges:[],
PrefixListIds:[],
ToPort:22,
UserIdGroupPairs:[]
}]
const params = {
GroupId: 'sg-111111',
IpPermissions: actualIpPermissions
}
await ec2Sdk.revokeSecurityGroupIngress(params).promise()
我使用的是aws sdk js版本2.275.1
在aws cli中运行等效命令可以正常工作:
aws ec2 revoke-security-group-ingress --group-id sg-111111 --ip-permissions '[{"IpProtocol": "tcp", "FromPort": 22, "ToPort": 22, "IpRanges": [{"CidrIp": "2.123.116.234/32", "Description": "SSH some place"},{"CidrIp":"203.44.22.112/32", "Description":"SSH from somewhere else"}]}]'