LambdaAuthorizer - Amazon Serverless Application Model
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

LambdaAuthorizer

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

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

语法

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

属性

AuthorizerPayloadFormatVersion

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

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

有效值1.02.0

类型:字符串

必需:是

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

EnableFunctionDefaultPermissions

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

类型:布尔值

必需:否

默认值false

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

EnableSimpleResponses

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

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

类型:布尔值

必需:否

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

FunctionArn

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

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

类型:字符串

必需:是

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

FunctionInvokeRole

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

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

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

类型:字符串

必需:否

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

Identity

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

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

类型LambdaAuthorizationIdentity

必需:否

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

示例

Lambda 授权方

Lambda 授权方示例

YAML

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