LambdaAuthorizer
配置 Lambda 授权方以通过 Amazon Lambda 函数控制对 Amazon API Gateway HTTP API 的访问。
有关更多信息和示例,请参阅《API Gateway 开发人员指南》中的使用 HTTP API 的 Amazon Lambda 授权方。
语法
要在您的 Amazon Serverless Application Model (Amazon 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类型:字符串
必需:是
Amazon CloudFormation 兼容性:此属性为 Amazon SAM 独有,没有 Amazon CloudFormation 等效属性。
-
默认情况下,未授予 HTTP API 资源调用 Lambda 授权方的权限。将此属性指定为
true以自动在您的 HTTP API 资源和 Lambda 授权方之间创建权限。类型:布尔值
必需:否
默认值:
falseAmazon CloudFormation 兼容性:此属性为 Amazon SAM 独有,没有 Amazon CloudFormation 等效属性。
-
指定 Lambda 授权方是否以简单格式返回响应。默认情况下,Lambda 授权方必须返回 Amazon Identity and Access Management (IAM) policy。如果启用,Lambda 授权方可以返回布尔值,而不是 IAM 策略。
这会传递到 OpenAPI 定义的
securitySchemes部分中x-amazon-apigateway-authorizer的enableSimpleResponses部分。类型:布尔值
必需:否
Amazon CloudFormation 兼容性:此属性为 Amazon SAM 独有,没有 Amazon CloudFormation 等效属性。
-
为 API 提供授权的 Lambda 函数的 Amazon 资源名称(ARN)。
这会传递到 OpenAPI 定义的
securitySchemes部分中x-amazon-apigateway-authorizer的authorizerUri部分。类型:字符串
必需:是
Amazon CloudFormation 兼容性:此属性为 Amazon SAM 独有,没有 Amazon CloudFormation 等效属性。
-
具有 API Gateway 调用授权方函数所需凭证的 IAM 角色的 ARN。如果函数的基于资源的策略未授予 API Gateway
lambda:InvokeFunction权限,请指定此参数。这会传递到 OpenAPI 定义的
securitySchemes部分中x-amazon-apigateway-authorizer的authorizerCredentials部分。有关更多信息,请参阅《API Gateway 开发人员指南》中的创建 Lambda 授权方。
类型:字符串
必需:否
Amazon CloudFormation 兼容性:此属性为 Amazon SAM 独有,没有 Amazon CloudFormation 等效属性。
-
在授权方传入请求中指定
IdentitySource。这会传递到 OpenAPI 定义的
securitySchemes部分中x-amazon-apigateway-authorizer的identitySource部分。类型: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