

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.

# LambdaRequestAuthorizer
<a name="sam-property-api-lambdarequestauthorizer"></a>

Configura una función de Lambda para controlar el acceso a una API con una función de Lambda.

Para obtener más información y ejemplos, consulta [Controla el acceso a la API con tu AWS SAM plantilla](serverless-controlling-access-to-apis.md).

## Sintaxis
<a name="sam-property-api-lambdarequestauthorizer-syntax"></a>

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

### YAML
<a name="sam-property-api-lambdarequestauthorizer-syntax.yaml"></a>

```
DisableFunctionDefaultPermissions: Boolean
[FunctionArn](#sam-api-lambdarequestauthorizer-functionarn): String
[FunctionInvokeRole](#sam-api-lambdarequestauthorizer-functioninvokerole): String
[FunctionPayloadType](#sam-api-lambdarequestauthorizer-functionpayloadtype): String
[Identity](#sam-api-lambdarequestauthorizer-identity): LambdaRequestAuthorizationIdentity
```

## Propiedades
<a name="sam-property-api-lambdarequestauthorizer-properties"></a>

 `DisableFunctionDefaultPermissions`   <a name="sam-api-lambdarequestauthorizer-disablefunctiondefaultpermissions"></a>
Especifique si `true` desea AWS SAM evitar que se cree automáticamente un `AWS::Lambda::Permissions` recurso para aprovisionar permisos entre el `AWS::Serverless::Api` recurso y la función Lambda autorizadora.  
*Valor predeterminado:* `false`  
*Tipo*: Booleano  
*Obligatorio*: no  
*CloudFormation compatibilidad*: esta propiedad es exclusiva de AWS SAM y no tiene un CloudFormation equivalente.

 `FunctionArn`   <a name="sam-api-lambdarequestauthorizer-functionarn"></a>
Especifica el ARN de la función de Lambda que proporciona la autorización para la API.  
AWS SAM creará automáticamente un `AWS::Lambda::Permissions` recurso cuando `FunctionArn` se especifique para`AWS::Serverless::Api`. El recurso `AWS::Lambda::Permissions` proporciona permisos entre la API y la función autorizador de Lambda.
*Tipo:* cadena  
*Obligatorio*: sí  
*CloudFormation compatibilidad*: esta propiedad es exclusiva de AWS SAM y no tiene un CloudFormation equivalente.

 `FunctionInvokeRole`   <a name="sam-api-lambdarequestauthorizer-functioninvokerole"></a>
Añade las credenciales del autorizador a la OpenApi definición del autorizador Lambda.  
*Tipo:* cadena  
*Obligatorio*: no  
*CloudFormation compatibilidad*: esta propiedad es exclusiva AWS SAM y no tiene un equivalente. CloudFormation 

 `FunctionPayloadType`   <a name="sam-api-lambdarequestauthorizer-functionpayloadtype"></a>
Esta propiedad se puede utilizar para definir el tipo de autorizador Lambda para una API.  
*Valores válidos*: `TOKEN` o `REQUEST`  
*Tipo*: cadena  
*Obligatorio*: no  
*Valor predeterminado*: `TOKEN`  
*CloudFormation compatibilidad*: esta propiedad es exclusiva de AWS SAM y no tiene un CloudFormation equivalente.

 `Identity`   <a name="sam-api-lambdarequestauthorizer-identity"></a>
Esta propiedad se puede usar para especificar una solicitud `IdentitySource` entrante de un autorizador. Esta propiedad solo es necesaria si la propiedad `FunctionPayloadType` está establecida en `REQUEST`.  
*Tipo:* [LambdaRequestAuthorizationIdentity](sam-property-api-lambdarequestauthorizationidentity.md)  
*Obligatorio*: condicional  
*CloudFormation compatibilidad*: esta propiedad es exclusiva de AWS SAM y no tiene un CloudFormation equivalente.

## Ejemplos
<a name="sam-property-api-lambdarequestauthorizer--examples"></a>

### LambdaRequestAuth
<a name="sam-property-api-lambdarequestauthorizer--examples--lambdarequestauth"></a>

#### YAML
<a name="sam-property-api-lambdarequestauthorizer--examples--lambdarequestauth--yaml"></a>

```
Authorizers:
  MyLambdaRequestAuth:
    FunctionPayloadType: REQUEST
    FunctionArn:
      Fn::GetAtt:
        - MyAuthFunction
        - Arn
    FunctionInvokeRole:
      Fn::GetAtt:
        - LambdaAuthInvokeRole
        - Arn
    Identity:
      Headers:
        - Authorization1
```

# LambdaRequestAuthorizationIdentity
<a name="sam-property-api-lambdarequestauthorizationidentity"></a>

Esta propiedad se puede usar para especificar una IdentitySource solicitud entrante de un autorizador. Para obtener más información, IdentitySource consulte la extensión [ApiGateway Authorizer OpenApi ](https://docs.aws.amazon.com/apigateway/latest/developerguide/api-gateway-swagger-extensions-authorizer.html).

## Sintaxis
<a name="sam-property-api-lambdarequestauthorizationidentity-syntax"></a>

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

### YAML
<a name="sam-property-api-lambdarequestauthorizationidentity-syntax.yaml"></a>

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

## Propiedades
<a name="sam-property-api-lambdarequestauthorizationidentity-properties"></a>

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

 `Headers`   <a name="sam-api-lambdarequestauthorizationidentity-headers"></a>
Convierte los encabezados en una cadena de expresiones de mapeo de formato `method.request.header.name` separadas por comas.  
*Tipo*: lista  
*Obligatorio*: no  
*CloudFormation compatibilidad*: esta propiedad es exclusiva de AWS SAM y no tiene un CloudFormation equivalente.

 `QueryStrings`   <a name="sam-api-lambdarequestauthorizationidentity-querystrings"></a>
Convierte las cadenas de consulta dadas en cadenas de expresiones de asignación con un formato `method.request.querystring.queryString` separadas por comas.  
*Tipo*: lista  
*Obligatorio*: no  
*CloudFormation compatibilidad*: esta propiedad es exclusiva de AWS SAM y no tiene un CloudFormation equivalente.

 `ReauthorizeEvery`   <a name="sam-api-lambdarequestauthorizationidentity-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. De forma predeterminada, API Gateway establece esta propiedad en 300. El valor máximo es 3600 o 1 hora.  
*Tipo*: entero  
*Obligatorio*: no  
*Predeterminado*: 300  
*CloudFormation compatibilidad*: esta propiedad es exclusiva de AWS SAM y no tiene un equivalente. CloudFormation 

 `StageVariables`   <a name="sam-api-lambdarequestauthorizationidentity-stagevariables"></a>
Convierte las variables de etapa dadas en cadenas de expresiones de asignación con un formato `stageVariables.stageVariable` separadas por comas.  
*Tipo*: lista  
*Obligatorio*: no  
*CloudFormation compatibilidad*: esta propiedad es exclusiva de AWS SAM y no tiene un CloudFormation equivalente.

## Ejemplos
<a name="sam-property-api-lambdarequestauthorizationidentity--examples"></a>

### LambdaRequestIdentity
<a name="sam-property-api-lambdarequestauthorizationidentity--examples--lambdarequestidentity"></a>

#### YAML
<a name="sam-property-api-lambdarequestauthorizationidentity--examples--lambdarequestidentity--yaml"></a>

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