AWS: authorizeSecurityGroupIngress в VPC

Я использую NodeJS SDK для добавления входящего правила к группе безопасности дб от группы безопасности доступа дб.

Обе из этих групп безопасности существуют в VPC, однако когда я добавляю входное использование правила

params =
  GroupId: <Target Group Id>
  SourceSecurityGroupOwnerId: <Source Group Id>

ec2.authorizeSecurityGroupIngress(params, ...)

Я получаю следующую ошибку: { [MissingParameter: Source group ID missing.] message: 'Source group ID missing.', code: 'MissingParameter', time: Mon Nov 24 2014 19:44:13 GMT-0800 (PST), statusCode: 400, retryable: false, retryDelay: 30 }

Полезная нагрузка, которую я отправляю, имеет допустимые группы безопасности, и когда я смотрю на документацию EC2, единственное место, где идентификатор Source Group, кажется, прибывает из, является параметром SourceSecurityGroupOwnerId.

Кто-либо еще столкнулся с этим? Эта конечная точка просто облуплена?

0
задан 25 November 2014 в 06:16
1 ответ

Посмотрите документацию по адресу:

http://docs.aws.amazon. com / AWSJavaScriptSDK / latest / AWS / EC2.html # authorizeSecurityGroupIngress-property

похоже, что вы правильно используете функцию. Однако, исходя из имени параметра SourceSecurityGroupOwnerId , я подозреваю, что это может быть идентификатор учетной записи владельца группы безопасности, которой вы хотите разрешить доступ, в тех случаях, когда вы хотите разрешить доступ для нескольких учетных записей.

Вместо этого попробуйте использовать массив IpPermissions , чтобы указать информацию о группе безопасности.

var params = {
  GroupId: <Target Group Id>,
  IpPermissions: [
    {
      IpProtocol: 'tcp',
      FromPort: <port>,
      ToPort: <port>,
      UserIdGroupPairs: [
        {
          GroupId: <Source Group Id>
        }
      ]
    }
  ]
};
2
ответ дан 4 December 2019 в 13:54

Теги

Похожие вопросы