本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
LambdaAuthorizer
配置 Lambda 授权方以通过 AWS Lambda 函数控制对 Amazon API Gateway HTTP API 的访问。
有关更多信息和示例,请参阅《API Gateway 开发人员指南》中的使用 HTTP API 的 AWS Lambda 授权方。
语法
要在您的 AWS Serverless Application Model (AWS SAM) 模板中声明此实体,请使用以下语法。
YAML
AuthorizerPayloadFormatVersion:
String
EnableFunctionDefaultPermissions:Boolean
EnableSimpleResponses:Boolean
FunctionArn:String
FunctionInvokeRole:String
Identity:LambdaAuthorizationIdentity
属性
-
指定发送到 HTTP API Lambda 授权方的负载的格式。对于 HTTP API Lambda 授权方必须指定。
这会传递到 OpenAPI 定义的
securitySchemes
部分中x-amazon-apigateway-authorizer
的authorizerPayloadFormatVersion
部分。有效值:
1.0
或2.0
类型:字符串
必需:是
AWS CloudFormation 兼容性:此属性为 AWS SAM 独有,没有 AWS CloudFormation 等效属性。
-
默认情况下,未授予 HTTP API 资源调用 Lambda 授权方的权限。将此属性指定为
true
以自动在您的 HTTP API 资源和 Lambda 授权方之间创建权限。类型:布尔值
必需:否
默认值:
false
AWS CloudFormation 兼容性:此属性为 AWS SAM 独有,没有 AWS CloudFormation 等效属性。
-
指定 Lambda 授权方是否以简单格式返回响应。默认情况下,Lambda 授权方必须返回 AWS Identity and Access Management (IAM) policy。如果启用,Lambda 授权方可以返回布尔值,而不是 IAM 策略。
这会传递到 OpenAPI 定义的
securitySchemes
部分中x-amazon-apigateway-authorizer
的enableSimpleResponses
部分。类型:布尔值
必需:否
AWS CloudFormation 兼容性:此属性为 AWS SAM 独有,没有 AWS CloudFormation 等效属性。
-
为 API 提供授权的 Lambda 函数的 Amazon 资源名称(ARN)。
这会传递到 OpenAPI 定义的
securitySchemes
部分中x-amazon-apigateway-authorizer
的authorizerUri
部分。类型:字符串
必需:是
AWS CloudFormation 兼容性:此属性为 AWS SAM 独有,没有 AWS CloudFormation 等效属性。
-
具有 API Gateway 调用授权方函数所需凭证的 IAM 角色的 ARN。如果函数的基于资源的策略未授予 API Gateway
lambda:InvokeFunction
权限,请指定此参数。这会传递到 OpenAPI 定义的
securitySchemes
部分中x-amazon-apigateway-authorizer
的authorizerCredentials
部分。有关更多信息,请参阅《API Gateway 开发人员指南》中的创建 Lambda 授权方。
类型:字符串
必需:否
AWS CloudFormation 兼容性:此属性为 AWS SAM 独有,没有 AWS CloudFormation 等效属性。
-
在授权方传入请求中指定
IdentitySource
。这会传递到 OpenAPI 定义的
securitySchemes
部分中x-amazon-apigateway-authorizer
的identitySource
部分。类型: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