Как я могу создать AWS APIGateway Custom Authorizer, используя переменные сцены в Terraform?
Я вижу, что теперь AWS ApiGateway предоставляет возможность передавать переменные рабочей области в лямбду настраиваемого авторизатора в консоли, выбирая полезную нагрузку типа "Запрос" и перечисляя переменные, которые должны быть переданы.
Тем не менее, мы создаем наши ресурсы AWS исключительно через Terraform (ручное вмешательство не допускается), и в настоящее время в документации Terraform говорится:
type - (Optional) The type of the authorizer. TOKEN is currently the only allowed value. Defaults to TOKEN.
Есть ли какой-нибудь способ заставить тип полезной нагрузки быть "ЗАПРОС" программно и передать переменные этапа?
1 ответ
Вы можете сделать это через Terraform, несмотря на то, что говорят документы.
Просто установите тип REQUEST и передайте переменные этапа (и / или заголовки, и / или строки запроса) в список через запятую, например, так: "method.request.header.SomeHeaderName,method.request.querystring.SomeQueryStringName,stageVariables.SomeStageVariableName"и т. д.
resource "aws_api_gateway_authorizer" "api-gateway-auth" {
...
type = "REQUEST"
identity_source = "method.request.header.SomeHeaderName,method.request.querystring.SomeQueryStringName,stageVariables.SomeStageVariableName"
...
}