LambdaAuthorizer - AWS Serverless Application Model

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

LambdaAuthorizer

設定 Lambda 授權器,以透過某個 AWS Lambda 函數控制對 Amazon API Gateway HTTP API 的存取。

如需詳細資訊和範例,請參閱 API Gateway 開發人員指南中的使用 HTTP API 的 AWS Lambda 授權人員

語法

若要在 AWS Serverless Application Model (AWS SAM) 範本中宣告此實體,請使用下列語法。

屬性

AuthorizerPayloadFormatVersion

指定傳送至 HTTP API Lambda 授權方的承載格式。HTTP API Lambda 授權方的必要項目。

這會傳遞至 OpenAPI 定義一securitySchemesx-amazon-apigateway-authorizer中的一節。authorizerPayloadFormatVersion

有效值1.02.0

類型:字串

必要:是

AWS CloudFormation 兼容性:此屬性是唯一的, AWS SAM 並且沒有相 AWS CloudFormation 等的屬性。

EnableFunctionDefaultPermissions

依預設,HTTP API 資源不會被授與叫用 Lambda 授權者的權限。將此屬性指定true為可在 HTTP API 資源和 Lambda 授權者之間自動建立權限。

類型:布林值

必要:否

預設值false

AWS CloudFormation 兼容性:此屬性是唯一的, AWS SAM 並且沒有相 AWS CloudFormation 等的屬性。

EnableSimpleResponses

指定 Lambda 授權方是否以簡單格式傳回回應。根據預設,Lambda 授權者必須傳回 AWS Identity and Access Management (IAM) 政策。如果啟用,Lambda 授權方會傳回布林值,而不是 IAM 政策。

這會傳遞至 OpenAPI 定義一securitySchemesx-amazon-apigateway-authorizer中的一節。enableSimpleResponses

類型:布林值

必要:否

AWS CloudFormation 兼容性:此屬性是唯一的, AWS SAM 並且沒有相 AWS CloudFormation 等的屬性。

FunctionArn

提供 API 授權的 Lambda 函數的 Amazon 資源名稱 (ARN)。

這會傳遞至 OpenAPI 定義一securitySchemesx-amazon-apigateway-authorizer中的一節。authorizerUri

類型:字串

必要:是

AWS CloudFormation 兼容性:此屬性是唯一的, AWS SAM 並且沒有相 AWS CloudFormation 等的屬性。

FunctionInvokeRole

IAM 角色的 ARN,具有 API Gateway 呼叫授權者函數所需的登入資料。如果函數的資源型政策未授與 API Gateway lambda:InvokeFunction 權限,請指定此參數。

這會傳遞至 OpenAPI 定義一securitySchemesx-amazon-apigateway-authorizer中的一節。authorizerCredentials

如需詳細資訊,請參閱 API Gateway 開發人員指南中的建立 Lambda 授權

類型:字串

必要:否

AWS CloudFormation 兼容性:此屬性是唯一的, AWS SAM 並且沒有相 AWS CloudFormation 等的屬性。

Identity

指定一個IdentitySource在授權者的傳入請求。

這會傳遞至 OpenAPI 定義一securitySchemesx-amazon-apigateway-authorizer中的一節。identitySource

類型:LambdaAuthorizationIdentity

必要:否

AWS CloudFormation 兼容性:此屬性是唯一的, AWS SAM 並且沒有相 AWS CloudFormation 等的屬性。

範例

LambdaAuthorizer

LambdaAuthorizer 例子

YAML

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