LambdaAuthorizer - AWS Serverless Application Model

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

LambdaAuthorizer

配置 Lambda 授权方以通过 AWS Lambda 函数控制对 Amazon API Gateway HTTP API 的访问。

有关更多信息和示例,请参阅《API Gateway 开发人员指南》中的使用 HTTP API 的 AWS Lambda 授权方

语法

要在您的 AWS Serverless Application Model (AWS SAM) 模板中声明此实体,请使用以下语法。

属性

AuthorizerPayloadFormatVersion

指定发送到 HTTP API Lambda 授权方的负载的格式。对于 HTTP API Lambda 授权方必须指定。

这会传递到 OpenAPI 定义的 securitySchemes 部分中 x-amazon-apigateway-authorizerauthorizerPayloadFormatVersion 部分。

有效值1.02.0

类型:字符串

必需:是

AWS CloudFormation 兼容性:此属性为 AWS SAM 独有,没有 AWS CloudFormation 等效属性。

EnableFunctionDefaultPermissions

默认情况下,未授予 HTTP API 资源调用 Lambda 授权方的权限。将此属性指定为 true 以自动在您的 HTTP API 资源和 Lambda 授权方之间创建权限。

类型:布尔值

必需:否

默认值false

AWS CloudFormation 兼容性:此属性为 AWS SAM 独有,没有 AWS CloudFormation 等效属性。

EnableSimpleResponses

指定 Lambda 授权方是否以简单格式返回响应。默认情况下,Lambda 授权方必须返回 AWS Identity and Access Management (IAM) policy。如果启用,Lambda 授权方可以返回布尔值,而不是 IAM 策略。

这会传递到 OpenAPI 定义的 securitySchemes 部分中 x-amazon-apigateway-authorizerenableSimpleResponses 部分。

类型:布尔值

必需:否

AWS CloudFormation 兼容性:此属性为 AWS SAM 独有,没有 AWS CloudFormation 等效属性。

FunctionArn

为 API 提供授权的 Lambda 函数的 Amazon 资源名称(ARN)。

这会传递到 OpenAPI 定义的 securitySchemes 部分中 x-amazon-apigateway-authorizerauthorizerUri 部分。

类型:字符串

必需:是

AWS CloudFormation 兼容性:此属性为 AWS SAM 独有,没有 AWS CloudFormation 等效属性。

FunctionInvokeRole

具有 API Gateway 调用授权方函数所需凭证的 IAM 角色的 ARN。如果函数的基于资源的策略未授予 API Gateway lambda:InvokeFunction 权限,请指定此参数。

这会传递到 OpenAPI 定义的 securitySchemes 部分中 x-amazon-apigateway-authorizerauthorizerCredentials 部分。

有关更多信息,请参阅《API Gateway 开发人员指南》中的创建 Lambda 授权方

类型:字符串

必需:否

AWS CloudFormation 兼容性:此属性为 AWS SAM 独有,没有 AWS CloudFormation 等效属性。

Identity

在授权方传入请求中指定 IdentitySource

这会传递到 OpenAPI 定义的 securitySchemes 部分中 x-amazon-apigateway-authorizeridentitySource 部分。

类型LambdaAuthorizationIdentity

必需:否

AWS CloudFormation 兼容性:此属性为 AWS SAM 独有,没有 AWS CloudFormation 等效属性。

示例

Lambda 授权方

Lambda 授权方示例

YAML

Auth: Authorizers: MyLambdaAuthorizer: AuthorizerPayloadFormatVersion: 2.0 FunctionArn: Fn::GetAtt: - MyAuthFunction - Arn FunctionInvokeRole: Fn::GetAtt: - LambdaAuthInvokeRole - Arn Identity: Headers: - Authorization