Esempi di autorizzazioni Lambda - AWS Serverless Application Model

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

Esempi di autorizzazioni Lambda

Il tipo di AWS::Serverless::Api risorsa supporta due tipi di autorizzatori Lambda: autorizzatori e TOKEN autorizzatori. REQUEST Il tipo di AWS::Serverless::HttpApi risorsa supporta solo gli autorizzatori. REQUEST Di seguito sono riportati alcuni esempi di ogni tipo.

Esempio di TOKEN autorizzazione Lambda () AWS::Serverless::Api

Puoi controllare l'accesso alle tue API definendo un autorizzatore TOKEN Lambda all'interno del tuo modello. AWS SAM A tale scopo, si utilizza il ApiAuth tipo di dati.

Di seguito è riportato un esempio di sezione AWS SAM modello per un autorizzatore Lambda: TOKEN

Nota

Nell'esempio seguente, il SAM FunctionRole viene generato implicitamente.

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

Per ulteriori informazioni sugli autorizzatori Lambda, consulta Use API Gateway Lambda authorizers nella API Gateway Developer Guide.

Esempio di REQUEST autorizzazione Lambda () AWS::Serverless::Api

Puoi controllare l'accesso alle tue API definendo un autorizzatore REQUEST Lambda all'interno del tuo modello. AWS SAM A tale scopo, si utilizza il ApiAuth tipo di dati.

Di seguito è riportato un esempio di sezione AWS SAM modello per un autorizzatore Lambda: 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

Per ulteriori informazioni sugli autorizzatori Lambda, consulta Use API Gateway Lambda authorizers nella API Gateway Developer Guide.

Esempio di autorizzazione Lambda () AWS::Serverless::HttpApi

Puoi controllare l'accesso alle tue API HTTP definendo un autorizzatore Lambda all'interno del tuo modello. AWS SAM A tale scopo, si utilizza il HttpApiAuth tipo di dati.

Di seguito è riportato un esempio di sezione AWS SAM modello per un autorizzatore Lambda:

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