Wie @ gary69 und @Adriaan Pelzer erwähnen
https://stackoverflow.com/a/52727654/809043
https://stackoverflow.com/a/55136675/809043
Sie können die Nachricht {"message": "Forbidden"} erhalten, wenn Sie eine private API anfordern.
Wenn Sie also ein Setup haben, bei dem der gesamte Datenverkehr über einen API-Endpunkt geleitet werden soll, der den Datenverkehr dann an das API-Gateway weiterleitet, können die folgenden Parameter verwendet werden.
APIGatewayVPCEndpoint:
Type: 'AWS::EC2::VPCEndpoint'
Properties:
PolicyDocument: '{
"Version":"2012-10-17",
"Statement":[{
"Effect":"Allow",
"Principal": "*",
"Action":["execute-api:Invoke"],
"Resource":["arn:aws:execute-api:eu-north-1:000000000000:*/*"]
}]
}'
...
VpcEndpointType: Interface
PrivateDnsEnabled: true
Wenn PrivateDnsEnabled aktiviert ist, muss der Endpunkt im API-Gateway vom Typ Privat sein und eine Richtlinie muss hinzugefügt werden.
ApiGatewayRest:
Type: AWS::ApiGateway::RestApi
Properties:
Description: A mocked API
Name: Mocked API
EndpointConfiguration:
Types:
- PRIVATE
Policy: '{
"Version": "2012-10-17",
"Statement": [{
"Effect": "Allow",
"Principal": "*",
"Action": "execute-api:Invoke",
"Resource": "arn:aws:execute-api:eu-north-1:000000000000:*/*/*/*"
}]
}'
Dieser Forenthread hat mir geholfen, einige Details zu klären
https://forums.aws.amazon.com/thread.jspa?threadID=286760