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

LaAWS::Serverless::Apisupporta due tipi di autorizzazioni Lambda:TOKENautorizzazioni eREQUESTautorizzazioni. LaAWS::Serverless::HttpApisupporta solo il tipo di risorsaREQUESTautorizzazioni. Di seguito sono riportati alcuni esempi di ciascun tipo.

LambdaTOKENEsempio di autorizzazione (AWS::Serverless::Api)

Puoi controllare l'accesso alle API definendo una LambdaTOKENautorizzazioni all'interno del tuoAWS SAMModello. Per eseguire questa operazione, è possibile utilizzare ilApiAuthtipo di dati.

Di seguito è riportato un esempioAWS SAMsezione template per una LambdaTOKEN: Autorizzazione:

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 sui fornitori di autorizzazioni Lambda, consulta.Uso di autorizzazioni Lambda di API GatewaynellaGuida per sviluppatori API Gateway.

LambdaREQUESTEsempio di autorizzazione (AWS::Serverless::Api)

Puoi controllare l'accesso alle API definendo una LambdaREQUESTautorizzazioni all'interno del tuoAWS SAMModello. Per eseguire questa operazione, è possibile utilizzare ilApiAuthtipo di dati.

Di seguito è riportato un esempioAWS SAMsezione template per una LambdaREQUEST: Autorizzazione:

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 sui fornitori di autorizzazioni Lambda, consulta.Uso di autorizzazioni Lambda di API GatewaynellaGuida per sviluppatori API Gateway.

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

Puoi controllare l'accesso alle API HTTP definendo un autorizzazioni Lambda all'interno del tuoAWS SAMModello. Per eseguire questa operazione, è possibile utilizzare ilHttpApiAuthtipo di dati.

Di seguito è riportato un esempioAWS SAMsezione modello per un authorizer 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