Я развертываю стек облачной информации AWS, который включает две функции Lambda и два соответствующих вызова API-шлюза.
Прямо сейчас я вижу проблему, в которой я получаю недопустимые разрешения для лямбда-функции ошибка при попытке запросить лямбда-функцию с помощью функции 'test' в консоли.
Соответствующий код выглядит следующим образом:
Lambda Permissions:
WholeColApiGatewayInvoke:
Type: "AWS::Lambda::Permission"
Properties:
Action: "lambda:InvokeFunction"
FunctionName:
Fn::ImportValue:
!Sub '${LambdaStackName}-WholeCol'
Principal: "apigateway.amazonaws.com"
SourceArn: !Sub "arn:aws:execute-api:${AWS::Region}:${AWS::AccountId}:*/*/*/*"
DependsOn:
- ApiGatewayRowColMethod
- ApiGatewayOneColMethod
RowColApiGatewayInvoke:
Type: "AWS::Lambda::Permission"
Properties:
Action: "lambda:InvokeFunction"
FunctionName:
Fn::ImportValue:
!Sub '${LambdaStackName}-RowCol'
Principal: "apigateway.amazonaws.com"
SourceArn: !Sub "arn:aws:execute-api:${AWS::Region}:${AWS::AccountId}:*/*/*/*"
DependsOn:
- ApiGatewayRowColMethod
- ApiGatewayOneColMethod
Я вижу, что разрешение применяется при использовании aws lambda get-policy:
{
"Policy": "{\"Version\":\"2012-10-17\",\"Id\":\"default\",\"Statement\":[{\"Sid\":\"idk-feature-matrix-service-test-APIGateway-staging-WholeColApiGatewayInvoke-1JN4YXB696FGN\",\"Effect\":\"Allow\",\"Principal\":{\"Service\":\"apigateway.amazonaws.com\"},\"Action\":\"lambda:InvokeFunction\",\"Resource\":\"arn:aws:lambda:us-east-1:461892165531:function:idk-feature-matrix-service-test-Lambda-st-WholeCol-18OBHGWSBYDNS\",\"Condition\":{\"ArnLike\":{\"AWS:SourceArn\":\"arn:aws:execute-api:us-east-1:461892165531:*/*/*/*\"}}}]}",
"RevisionId": "30bf53a4-1f55-4e39-830e-b942f66c1259"
}
Что-то не так с подстановочным знаком в SourceARN? Это единственная проблема, о которой я могу думать, но здесь, похоже, ничего не работает.