
Ich verwende das NodeJS SDK, um einer Datenbank-Sicherheitsgruppe eine eingehende Regel aus einer Datenbank-Zugriffssicherheitsgruppe hinzuzufügen.
Beide Sicherheitsgruppen existieren innerhalb einer VPC. Wenn ich jedoch die Ingress-Regel hinzufüge mit
params =
GroupId: <Target Group Id>
SourceSecurityGroupOwnerId: <Source Group Id>
ec2.authorizeSecurityGroupIngress(params, ...)
Ich erhalte die folgende Fehlermeldung:
{ [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 }
Die Nutzlast, die ich sende, hat gültige Sicherheitsgruppen, und wenn ich mir die EC2-Dokumentation anschaue, scheint die einzige Stelle, von der die Quellgruppen-ID zu stammen scheint, dieSourceSecurityGroupOwnerIdParameter.
Ist das sonst noch jemandem passiert? Ist dieser Endpunkt einfach unzuverlässig?
Antwort1
Sehen Sie sich die Dokumentation an unter:
es scheint, dass Sie die Funktion richtig verwenden. Aufgrund des Parameternamens SourceSecurityGroupOwnerId
vermute ich jedoch, dass es sich hierbei um die Eigentümerkonto-ID der Sicherheitsgruppe handeln könnte, der Sie Zugriff gewähren möchten, wenn Sie kontenübergreifenden Zugriff zulassen möchten.
Versuchen Sie stattdessen, das IpPermissions
Array zu verwenden, um die Sicherheitsgruppeninformationen anzugeben.
var params = {
GroupId: <Target Group Id>,
IpPermissions: [
{
IpProtocol: 'tcp',
FromPort: <port>,
ToPort: <port>,
UserIdGroupPairs: [
{
GroupId: <Source Group Id>
}
]
}
]
};