AWS: авторизация SecurityGroupIngress в VPC

AWS: авторизация SecurityGroupIngress в 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, единственное место, откуда, по-видимому, берется идентификатор исходной группы, — этоSourceSecurityGroupOwnerIdпараметр.

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

решение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>
        }
      ]
    }
  ]
};

Связанный контент