LambdaAuthorizer
Configure a Lambda authorizer to control access to your Amazon API Gateway HTTP API with an AWS Lambda function.
For more information and examples, see Working with AWS Lambda authorizers for HTTP APIs in the API Gateway Developer Guide.
Syntax
To declare this entity in your AWS Serverless Application Model (AWS SAM) template, use the following syntax.
YAML
AuthorizerPayloadFormatVersion:StringEnableFunctionDefaultPermissions:BooleanEnableSimpleResponses:BooleanFunctionArn:StringFunctionInvokeRole:StringIdentity:LambdaAuthorizationIdentity
Properties
-
Specifies the format of the payload sent to an HTTP API Lambda authorizer. Required for HTTP API Lambda authorizers.
This is passed through to the
authorizerPayloadFormatVersionsection of anx-amazon-apigateway-authorizerin thesecuritySchemessection of an OpenAPI definition.Valid values:
1.0or2.0Type: String
Required: Yes
AWS CloudFormation compatibility: This property is unique to AWS SAM and doesn't have an AWS CloudFormation equivalent.
-
By default, the HTTP API resource is not granted permission to invoke the Lambda authorizer. Specify this property as
trueto automatically create permissions between your HTTP API resource and your Lambda authorizer.Type: Boolean
Required: No
Default value:
falseAWS CloudFormation compatibility: This property is unique to AWS SAM and doesn't have an AWS CloudFormation equivalent.
-
Specifies whether a Lambda authorizer returns a response in a simple format. By default, a Lambda authorizer must return an AWS Identity and Access Management (IAM) policy. If enabled, the Lambda authorizer can return a boolean value instead of an IAM policy.
This is passed through to the
enableSimpleResponsessection of anx-amazon-apigateway-authorizerin thesecuritySchemessection of an OpenAPI definition.Type: Boolean
Required: No
AWS CloudFormation compatibility: This property is unique to AWS SAM and doesn't have an AWS CloudFormation equivalent.
-
The Amazon Resource Name (ARN) of the Lambda function that provides authorization for the API.
This is passed through to the
authorizerUrisection of anx-amazon-apigateway-authorizerin thesecuritySchemessection of an OpenAPI definition.Type: String
Required: Yes
AWS CloudFormation compatibility: This property is unique to AWS SAM and doesn't have an AWS CloudFormation equivalent.
-
The ARN of the IAM role that has the credentials required for API Gateway to invoke the authorizer function. Specify this parameter if your function's resource-based policy doesn't grant API Gateway
lambda:InvokeFunctionpermission.This is passed through to the
authorizerCredentialssection of anx-amazon-apigateway-authorizerin thesecuritySchemessection of an OpenAPI definition.For more information, see Create a Lambda authorizer in the API Gateway Developer Guide.
Type: String
Required: No
AWS CloudFormation compatibility: This property is unique to AWS SAM and doesn't have an AWS CloudFormation equivalent.
-
Specifies an
IdentitySourcein an incoming request for an authorizer.This is passed through to the
identitySourcesection of anx-amazon-apigateway-authorizerin thesecuritySchemessection of an OpenAPI definition.Type: LambdaAuthorizationIdentity
Required: No
AWS CloudFormation compatibility: This property is unique to AWS SAM and doesn't have an AWS CloudFormation equivalent.
Examples
LambdaAuthorizer
LambdaAuthorizer example
YAML
Auth: Authorizers: MyLambdaAuthorizer: AuthorizerPayloadFormatVersion: 2.0 FunctionArn: Fn::GetAtt: - MyAuthFunction - Arn FunctionInvokeRole: Fn::GetAtt: - LambdaAuthInvokeRole - Arn Identity: Headers: - Authorization