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