
Я использую 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
Документация доступна по адресу:
похоже, что вы используете функцию правильно. Однако, основываясь на имени параметра SourceSecurityGroupOwnerId
, я подозреваю, что это может быть идентификатор учетной записи владельца группы безопасности, которой вы хотите разрешить доступ, в случаях, когда вы хотите разрешить доступ между учетными записями.
Вместо этого попробуйте использовать IpPermissions
массив для указания информации о группе безопасности.
var params = {
GroupId: <Target Group Id>,
IpPermissions: [
{
IpProtocol: 'tcp',
FromPort: <port>,
ToPort: <port>,
UserIdGroupPairs: [
{
GroupId: <Source Group Id>
}
]
}
]
};