x-api-key仅保护一些资源

时间:2018-01-19 15:39:22

标签: amazon-web-services flask aws-lambda aws-api-gateway zappa

我的设置:

flask - awsLambda - zappa - api gateway

我确实有一个通过上述服务运行的简单应用程序。 在我的zappa_settings.json中,我有' api_key_required'设置为true。

是否可以设置它,我将为每个资源端点使用api密钥,但是一个(swagger文档)。

如果,是的,实际上我必须在哪里进行设置。我在我的烧瓶应用程序中没有任何API密钥设置,所以我认为它必须在aws.console中的某个地方完成 - 但我找不到它。

修改: 只是添加正确的答案(下面)。如果您使用flasgger,仅添加一个指向 / apidocs 的公共端点是不够的。为了使文档在没有api密钥的情况下工作,我必须打开这些要点:

  1. / apidocs / apidocs / {proxy +}
  2. /apispec_1.json - 您的情况可能会有所不同
  3. / flasgger_static / flasgger_static / {proxy +}

1 个答案:

答案 0 :(得分:1)

是的,这可以通过AWS控制台中的一些配置实现。

在API网关设置中,您可能拥有使用Zappa部署创建的默认资源:closedir/

Default resources

您现在可以手动创建与文档端点相对应的新资源(例如/{proxy+})。

点击"操作" - > "创建资源"您可以创建新资源:

create new resource

创建资源后,单击"操作" - > "创建方法"并选择" ANY"。将方法和资源指向对话框中的Lambda函数。

默认情况下,新资源不应要求API密钥。

no api key required

注意:您可能需要在更改生效之前重新部署网关。 "操作" - > "部署API"。