Я создал безсерверное приложение Lambda с помощью шаблона AWS Toolkit for Visual Studio (я использовал Учебное пособие: создание и тестирование безсерверного приложения с помощью AWS Lambda ).Я выбрал «Пустой безсерверный проект» и создал простую лямбда-функцию , связанную с API Gateway .
Шаблон CloudFormation выглядит следующим образом:
{
"AWSTemplateFormatVersion" : "2010-09-09",
"Transform" : "AWS::Serverless-2016-10-31",
"Description" : "An AWS Serverless Application.",
"Resources" : {
"Get" : {
"Type" : "AWS::Serverless::Function",
"Properties": {
"Handler": "AWSServerless::AWSServerless.Functions::Get",
"Runtime": "dotnetcore2.0",
"CodeUri": "",
"MemorySize": 256,
"Timeout": 30,
"Role": null,
"Policies": [ "AWSLambdaBasicExecutionRole" ],
"Events": {
"PutResource": {
"Type": "Api",
"Properties": {
"Path": "/",
"Method": "GET"
}
}
}
}
}
},
"Outputs" : {
"ApiURL" : {
"Description" : "API endpoint URL for Prod environment",
"Value" : { "Fn::Sub" : "https://${ServerlessRestApi}.execute-api.${AWS::Region}.amazonaws.com/Prod/" }
}
}
}
Теперь мне нужно защитить свой API-шлюз с помощью Access и Secret Keys.Я немного исследовал, и если я прав, это должно выглядеть следующим образом:
"security":[{"sigv4":[]}]
Но мне все еще не ясно, где я должен применить это?Возможно, что я ошибаюсь и это можно сделать по-другому.Итак, мой вопрос:
Как обезопасить Шлюз API с помощью Access и секретных ключей в CloudFormation?