本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
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) 政策。如果啟用,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 等的屬性。
-
IAM 角色的 ARN,具有 API Gateway 呼叫授權者函數所需的登入資料。如果函數的資源型政策未授與 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 等的屬性。
範例
LambdaAuthorizer
LambdaAuthorizer 例子
YAML
Auth: Authorizers: MyLambdaAuthorizer: AuthorizerPayloadFormatVersion: 2.0 FunctionArn: Fn::GetAtt: - MyAuthFunction - Arn FunctionInvokeRole: Fn::GetAtt: - LambdaAuthInvokeRole - Arn Identity: Headers: - Authorization