gpt4 book ai didi

amazon-web-services - 如何使用 Swagger 在 API 网关上全局设置 API key 安全性

转载 作者:行者123 更新时间:2023-12-03 16:51:11 29 4
gpt4 key购买 nike

我正在尝试将 openapi/swagger 文件导入 api 网关,但我无法按预期获得安全设置。我想要一个所有路径都需要的 api key 。

导入后在控制台中设置所需的 api key 有效,但这种解决方案是不可取的,同样有效的是单独设置每个路径中的安全字段,但我正在寻找一个全局解决方案。

当我尝试导入文件时,我收到以下警告:

Your API was not imported due to errors in the Swagger file.

Method 'GET' on resource '/' specified security,
but no custom authorizers were created and the extension
x-amazon-apigateway-auth was not set.
This method will be not be secured.

如此看来,我要么需要一个 lambda 作为仅用于 api key 的自定义授权方(我不熟悉授权方,但如果我在设置所需的 api key 时不需要授权方,这似乎没有意义控制台);或者我需要对这个神秘的人做点什么 x-amazon-apigateway-auth我找不到相关文档(亚马逊记录的所有其他 openapi 扩展 here )。

一个小例子如下:
openapi: 3.0.1
info:
title: test
version: 0
servers:
- url: "/"
security:
- ApiKey: []
paths:
"/":
get:
# if I copy the security part into here things work
responses:
'204':
description: no content
x-amazon-apigateway-integration:
httpMethod: GET
type: http
uri: https://httpstat.us/204
components:
securitySchemes:
ApiKey:
type: apiKey
name: x-api-key
in: header
x-amazon-apigateway-api-key-source: HEADER


由于 api key 安全设置在根级别,这向我建议所有路径都应使用 api key (除非被单个路径覆盖),实际发生的是上述警告,并且在导入时不需要 api key 。

最佳答案

在我写这个答案的时候,根据他们的 documentation ,AWS API 网关不支持在根级别设置安全性。

API Gateway doesn't use root level security defined in the OpenAPI specification. Hence security needs to be defined at an operation level to be appropriately applied.

关于amazon-web-services - 如何使用 Swagger 在 API 网关上全局设置 API key 安全性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55388231/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com