Lambda オーソライザー例 - AWS Serverless Application Model

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

Lambda オーソライザー例

-AWS::Serverless::Apiリソースタイプは、2 種類の Lambda オーソライザーをサポートしています。TOKENオーソライザーとREQUESTオーソライザー。-AWS::Serverless::HttpApiでリソースタイプをサポートREQUESTオーソライザー。以下に示しているのは、各タイプの例です。

LambdaTOKENオーソライザーの例 (AWS። サーバーレス። Api)

Lambda を定義することで、API へのアクセスをコントロールできます。TOKENAWS SAM テンプレート内でオーソライザーを実行します。そのためには、ApiAuthデータ型。

Lambda の AWS SAM テンプレートセクションの例を次に示します。TOKENオーソライザー:

Resources: MyApi: Type: AWS::Serverless::Api Properties: StageName: Prod Auth: DefaultAuthorizer: MyLambdaTokenAuthorizer Authorizers: MyLambdaTokenAuthorizer: FunctionArn: !GetAtt MyAuthFunction.Arn MyFunction: Type: AWS::Serverless::Function Properties: CodeUri: ./src Handler: index.handler Runtime: nodejs12.x Events: GetRoot: Type: Api Properties: RestApiId: !Ref MyApi Path: / Method: get MyAuthFunction: Type: AWS::Serverless::Function Properties: CodeUri: ./src Handler: authorizer.handler Runtime: nodejs12.x

Lambda オーソライザーの詳細については、」を参照してください。API Gateway Lambda オーソライザーを使用する()API Gateway 開発者ガイド

LambdaREQUESTオーソライザーの例 (AWS። サーバーレス። Api)

Lambda を定義することで、API へのアクセスをコントロールできます。REQUESTAWS SAM テンプレート内でオーソライザーを実行します。そのためには、ApiAuthデータ型。

Lambda の AWS SAM テンプレートセクションの例を次に示します。REQUESTオーソライザー:

Resources: MyApi: Type: AWS::Serverless::Api Properties: StageName: Prod Auth: DefaultAuthorizer: MyLambdaRequestAuthorizer Authorizers: MyLambdaRequestAuthorizer: FunctionPayloadType: REQUEST FunctionArn: !GetAtt MyAuthFunction.Arn Identity: QueryStrings: - auth MyFunction: Type: AWS::Serverless::Function Properties: CodeUri: ./src Handler: index.handler Runtime: nodejs12.x Events: GetRoot: Type: Api Properties: RestApiId: !Ref MyApi Path: / Method: get MyAuthFunction: Type: AWS::Serverless::Function Properties: CodeUri: ./src Handler: authorizer.handler Runtime: nodejs12.x

Lambda オーソライザーの詳細については、」を参照してください。API Gateway Lambda オーソライザーを使用する()API Gateway 開発者ガイド

Lambda オーソライザーの例 (AWS። サーバーレス። HtpApi)

AWS SAM テンプレート内で Lambda オーソライザーを定義することで、HTTP API へのアクセスをコントロールできます。そのためには、HttpApiAuthデータ型。

Lambda オーソライザーの AWS SAM テンプレートセクションの例を次に示します。

Resources: MyApi: Type: AWS::Serverless::HttpApi Properties: StageName: Prod Auth: DefaultAuthorizer: MyLambdaRequestAuthorizer Authorizers: MyLambdaRequestAuthorizer: FunctionArn: !GetAtt MyAuthFunction.Arn FunctionInvokeRole: !GetAtt MyAuthFunctionRole.Arn Identity: Headers: - Authorization AuthorizerPayloadFormatVersion: 2.0 EnableSimpleResponses: true MyFunction: Type: AWS::Serverless::Function Properties: CodeUri: ./src Handler: index.handler Runtime: nodejs12.x Events: GetRoot: Type: HttpApi Properties: ApiId: !Ref MyApi Path: / Method: get PayloadFormatVersion: "2.0" MyAuthFunction: Type: AWS::Serverless::Function Properties: CodeUri: ./src Handler: authorizer.handler Runtime: nodejs12.x