

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

# LambdaAuthorizer
<a name="sam-property-httpapi-lambdaauthorizer"></a>

Configure un autorizador Lambda para controlar el acceso a la API HTTP de Amazon API Gateway con una función. AWS Lambda 

Para obtener más información y ejemplos, consulte Cómo [trabajar con AWS Lambda autorizadores para HTTP APIs](https://docs.aws.amazon.com/apigateway/latest/developerguide/http-api-lambda-authorizer.html) en la *Guía para desarrolladores de API Gateway*.

## Sintaxis
<a name="sam-property-httpapi-lambdaauthorizer-syntax"></a>

Para declarar esta entidad en tu plantilla AWS Serverless Application Model (AWS SAM), usa la siguiente sintaxis.

### YAML
<a name="sam-property-httpapi-lambdaauthorizer-syntax.yaml"></a>

```
  [AuthorizerPayloadFormatVersion](#sam-httpapi-lambdaauthorizer-authorizerpayloadformatversion): String
  EnableFunctionDefaultPermissions: Boolean
  [EnableSimpleResponses](#sam-httpapi-lambdaauthorizer-enablesimpleresponses): Boolean
  [FunctionArn](#sam-httpapi-lambdaauthorizer-functionarn): String
  [FunctionInvokeRole](#sam-httpapi-lambdaauthorizer-functioninvokerole): String
  [Identity](#sam-httpapi-lambdaauthorizer-identity): LambdaAuthorizationIdentity
```

## Propiedades
<a name="sam-property-httpapi-lambdaauthorizer-properties"></a>

 `AuthorizerPayloadFormatVersion`   <a name="sam-httpapi-lambdaauthorizer-authorizerpayloadformatversion"></a>
Especifica el formato de la carga enviada a un autorizador de Lambda API HTTP. Necesario para los autorizadores de Lambda API HTTP.  
Esto se transfiere a la sección `authorizerPayloadFormatVersion` de un `x-amazon-apigateway-authorizer` en la sección `securitySchemes` de la definición de OpenAPI.  
*Valores válidos*: `1.0` o `2.0`  
*Tipo:* cadena  
*Obligatorio*: sí  
*CloudFormation compatibilidad*: esta propiedad es exclusiva de AWS SAM y no tiene un CloudFormation equivalente.

 `EnableFunctionDefaultPermissions`   <a name="sam-httpapi-lambdaauthorizer-enablefunctiondefaultpermissions"></a>
De forma predeterminada, el recurso de la API HTTP no tiene permiso para invocar el autorizador Lambda. Especifica esta propiedad como `true` para crear automáticamente permisos entre su recurso de API HTTP y su autorizador Lambda.  
*Tipo*: Booleano  
*Obligatorio*: no  
*Valor predeterminado:* `false`  
*CloudFormation compatibilidad*: esta propiedad es exclusiva de AWS SAM y no tiene un CloudFormation equivalente.

 `EnableSimpleResponses`   <a name="sam-httpapi-lambdaauthorizer-enablesimpleresponses"></a>
Especifica si un autorizador de Lambda devuelve una respuesta en un formato simple. De forma predeterminada, un autorizador Lambda debe devolver una política AWS Identity and Access Management (IAM). Si está habilitado, el autorizador de Lambda puede devolver un valor booleano en lugar de una política de IAM.  
Esto se transfiere a la sección `enableSimpleResponses` de un `x-amazon-apigateway-authorizer` en la sección `securitySchemes` de la definición de OpenAPI.  
*Tipo*: Booleano  
*Obligatorio*: no  
*CloudFormation compatibilidad*: esta propiedad es exclusiva de AWS SAM y no tiene un equivalente. CloudFormation 

 `FunctionArn`   <a name="sam-httpapi-lambdaauthorizer-functionarn"></a>
El nombre de recurso de Amazon (ARN) de la función de Lambda que proporciona autorización para la API.  
Esto se transfiere a la sección `authorizerUri` de un `x-amazon-apigateway-authorizer` en la sección `securitySchemes` de la definición de OpenAPI.  
*Tipo:* cadena  
*Obligatorio*: sí  
*CloudFormation compatibilidad*: esta propiedad es exclusiva de AWS SAM y no tiene un CloudFormation equivalente.

 `FunctionInvokeRole`   <a name="sam-httpapi-lambdaauthorizer-functioninvokerole"></a>
El ARN del rol de IAM que tiene las credenciales necesarias para API Gateway para invocar a la función autorizadora. Especifica este parámetro si la política basada en recursos de una función no concede el permiso `lambda:InvokeFunction` a API Gateway.  
Esto se transfiere a la sección `authorizerCredentials` de un `x-amazon-apigateway-authorizer` en la sección `securitySchemes` de la definición de OpenAPI.  
Para obtener más información, consulta [Creación de un autorizador Lambda](https://docs.aws.amazon.com/apigateway/latest/developerguide/http-api-lambda-authorizer.html#http-api-lambda-authorizer.example-create) en la *Guía para desarrolladores de API Gateway*.  
*Tipo:* cadena  
*Obligatorio*: no  
*CloudFormation compatibilidad*: esta propiedad es exclusiva de AWS SAM y no tiene un CloudFormation equivalente.

 `Identity`   <a name="sam-httpapi-lambdaauthorizer-identity"></a>
Especifica un autorizador `IdentitySource` en una solicitud entrante.  
Esto se transfiere a la sección `identitySource` de un `x-amazon-apigateway-authorizer` en la sección `securitySchemes` de la definición de OpenAPI.  
*Tipo:* [LambdaAuthorizationIdentity](sam-property-httpapi-lambdaauthorizationidentity.md)  
*Obligatorio*: no  
*CloudFormation compatibilidad*: esta propiedad es exclusiva de AWS SAM y no tiene un CloudFormation equivalente.

## Ejemplos
<a name="sam-property-httpapi-lambdaauthorizer--examples"></a>

### LambdaAuthorizer
<a name="sam-property-httpapi-lambdaauthorizer--examples--lambdaauthorizer"></a>

LambdaAuthorizer ejemplo

#### YAML
<a name="sam-property-httpapi-lambdaauthorizer--examples--lambdaauthorizer--yaml"></a>

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

# LambdaAuthorizationIdentity
<a name="sam-property-httpapi-lambdaauthorizationidentity"></a>

La propiedad Use se puede usar para especificar una IdentitySource en una solicitud entrante de un autorizador Lambda. Para obtener más información sobre fuentes de identidad, consulta [Fuentes de identidad](https://docs.aws.amazon.com/apigateway/latest/developerguide/http-api-lambda-authorizer.html#http-api-lambda-authorizer.identity-sources) en la *Guía del desarrollador de API Gateway*.

## Sintaxis
<a name="sam-property-httpapi-lambdaauthorizationidentity-syntax"></a>

Para declarar esta entidad en tu plantilla AWS Serverless Application Model (AWS SAM), usa la siguiente sintaxis.

### YAML
<a name="sam-property-httpapi-lambdaauthorizationidentity-syntax.yaml"></a>

```
  [Context](#sam-httpapi-lambdaauthorizationidentity-context): List
  [Headers](#sam-httpapi-lambdaauthorizationidentity-headers): List
  [QueryStrings](#sam-httpapi-lambdaauthorizationidentity-querystrings): List
  [ReauthorizeEvery](#sam-httpapi-lambdaauthorizationidentity-reauthorizeevery): Integer
  [StageVariables](#sam-httpapi-lambdaauthorizationidentity-stagevariables): List
```

## Propiedades
<a name="sam-property-httpapi-lambdaauthorizationidentity-properties"></a>

 `Context`   <a name="sam-httpapi-lambdaauthorizationidentity-context"></a>
Convierte las cadenas de contexto dadas en una lista de expresiones de mapeo en el formato `$context.contextString`.  
*Tipo*: lista  
*Obligatorio*: no  
*CloudFormation compatibilidad*: esta propiedad es exclusiva AWS SAM y no tiene un CloudFormation equivalente.

 `Headers`   <a name="sam-httpapi-lambdaauthorizationidentity-headers"></a>
Convierte los encabezados en una lista de expresiones de mapeo en el formato `$request.header.name`.  
*Tipo*: Lista  
*Obligatorio*: no  
*CloudFormation compatibilidad*: esta propiedad es exclusiva AWS SAM y no tiene un CloudFormation equivalente.

 `QueryStrings`   <a name="sam-httpapi-lambdaauthorizationidentity-querystrings"></a>
Convierte las cadenas de consulta dadas en una lista de expresiones de mapeo en el formato `$request.querystring.queryString`.  
*Tipo*: Lista  
*Obligatorio*: no  
*CloudFormation compatibilidad*: esta propiedad es exclusiva AWS SAM y no tiene un CloudFormation equivalente.

 `ReauthorizeEvery`   <a name="sam-httpapi-lambdaauthorizationidentity-reauthorizeevery"></a>
El período time-to-live (TTL), en segundos, que especifica cuánto tiempo API Gateway almacena en caché los resultados del autorizador. Si especificas un valor mayor que 0, API Gateway almacena en caché las respuestas del autorizador. El valor máximo es 3600 o 1 hora.  
*Tipo*: entero  
*Obligatorio*: no  
*CloudFormation compatibilidad*: esta propiedad es exclusiva de AWS SAM y no tiene un equivalente. CloudFormation 

 `StageVariables`   <a name="sam-httpapi-lambdaauthorizationidentity-stagevariables"></a>
Convierte las variables de etapa dadas en una lista de expresiones de mapeo en el formato `$stageVariables.stageVariable`.  
*Tipo*: Lista  
*Obligatorio*: no  
*CloudFormation compatibilidad*: esta propiedad es exclusiva AWS SAM y no tiene un CloudFormation equivalente.

## Ejemplos
<a name="sam-property-httpapi-lambdaauthorizationidentity--examples"></a>

### LambdaRequestIdentity
<a name="sam-property-httpapi-lambdaauthorizationidentity--examples--lambdarequestidentity"></a>

Ejemplo de identidad de solicitud de Lambda

#### YAML
<a name="sam-property-httpapi-lambdaauthorizationidentity--examples--lambdarequestidentity--yaml"></a>

```
Identity:
  QueryStrings:
    - auth
  Headers:
    - Authorization
  StageVariables:
    - VARIABLE
  Context:
    - authcontext
  ReauthorizeEvery: 100
```