

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.

# HttpApiAuth
<a name="sam-property-httpapi-httpapiauth"></a>

Configure la autorización para controlar el acceso a la API HTTP de Amazon API Gateway.

Para obtener más información sobre la configuración del acceso a HTTP APIs, consulte [Control y administración del acceso a una API HTTP en API Gateway](https://docs.aws.amazon.com/apigateway/latest/developerguide/http-api-access-control.html) en la *Guía para desarrolladores de API Gateway*.

## Sintaxis
<a name="sam-property-httpapi-httpapiauth-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-httpapiauth-syntax.yaml"></a>

```
  [Authorizers](#sam-httpapi-httpapiauth-authorizers): OAuth2Authorizer | LambdaAuthorizer
  [DefaultAuthorizer](#sam-httpapi-httpapiauth-defaultauthorizer): String
  [EnableIamAuthorizer](#sam-httpapi-httpapiauth-enableiamauthorizer): Boolean
```

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

 `Authorizers`   <a name="sam-httpapi-httpapiauth-authorizers"></a>
El autorizador utilizado para controlar el acceso a la API de API Gateway.  
*Tipo*: [OAuth2Autorizador \$1 [LambdaAuthorizer](sam-property-httpapi-lambdaauthorizer.md)](sam-property-httpapi-oauth2authorizer.md)  
*Obligatorio*: no  
*Valor predeterminado*: Ninguno  
*CloudFormation compatibilidad*: esta propiedad es exclusiva de AWS SAM y no tiene un CloudFormation equivalente.  
*Notas adicionales*: AWS SAM añade los autorizadores a la definición de OpenAPI.

 `DefaultAuthorizer`   <a name="sam-httpapi-httpapiauth-defaultauthorizer"></a>
Especifica el autorizador predeterminado que se utilizará para autorizar las llamadas a la API de API Gateway. Puede especificar `AWS_IAM` como autorizador predeterminado si `EnableIamAuthorizer` está configurado en `true`. De lo contrario, especifica un autorizador que haya definido en `Authorizers`.  
*Tipo:* cadena  
*Obligatorio*: no  
*Valor predeterminado*: Ninguno  
*CloudFormation compatibilidad*: esta propiedad es exclusiva de AWS SAM y no tiene un CloudFormation equivalente.

 `EnableIamAuthorizer`   <a name="sam-httpapi-httpapiauth-enableiamauthorizer"></a>
Especifica si quieres utilizar la autorización de IAM para la ruta de la API.  
*Tipo*: Booleano  
*Obligatorio*: no  
*CloudFormation compatibilidad*: esta propiedad es exclusiva de AWS SAM y no tiene un CloudFormation equivalente.

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

### OAuth 2.0: Autorizador
<a name="sam-property-httpapi-httpapiauth--examples--oauth-2.0-authorizer"></a>

OAuth Ejemplo de autorizador 2.0

#### YAML
<a name="sam-property-httpapi-httpapiauth--examples--oauth-2.0-authorizer--yaml"></a>

```
Auth:
  Authorizers:
    OAuth2Authorizer:
      AuthorizationScopes:
        - scope1
        - scope2
      JwtConfiguration:
        issuer: "https://www.example.com/v1/connect/oauth2"
        audience:
          - MyApi
      IdentitySource: "$request.querystring.param"
  DefaultAuthorizer: OAuth2Authorizer
```

### Autorizador de IAM
<a name="sam-property-httpapi-httpapiauth--examples--iam-authorizer"></a>

Ejemplo de autorizador de IAM

#### YAML
<a name="sam-property-httpapi-httpapiauth--examples--iam-authorizer--yaml"></a>

```
Auth:
  EnableIamAuthorizer: true
  DefaultAuthorizer: AWS_IAM
```

# 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
```

# OAuth2Authorizer
<a name="sam-property-httpapi-oauth2authorizer"></a>

Definición de un autorizador OAuth 2.0, también conocido como autorizador de JSON Web Token (JWT).

Para obtener más información, consulte [Control del acceso a HTTP APIs con autorizadores JWT](https://docs.aws.amazon.com/apigateway/latest/developerguide/http-api-jwt-authorizer.html) en la Guía para *desarrolladores de API Gateway*.

## Sintaxis
<a name="sam-property-httpapi-oauth2authorizer-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-oauth2authorizer-syntax.yaml"></a>

```
  [AuthorizationScopes](#sam-httpapi-oauth2authorizer-authorizationscopes): List
  [IdentitySource](#sam-httpapi-oauth2authorizer-identitysource): String
  [JwtConfiguration](#sam-httpapi-oauth2authorizer-jwtconfiguration): Map
```

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

 `AuthorizationScopes`   <a name="sam-httpapi-oauth2authorizer-authorizationscopes"></a>
Lista de los ámbitos de autorización de este autorizador.  
*Tipo*: lista  
*Obligatorio*: no  
*CloudFormation compatibilidad*: esta propiedad es exclusiva AWS SAM y no tiene un CloudFormation equivalente.

 `IdentitySource`   <a name="sam-httpapi-oauth2authorizer-identitysource"></a>
Expresión de origen de identidad para este autorizador.  
*Tipo:* cadena  
*Obligatorio*: no  
*CloudFormation compatibilidad*: esta propiedad es exclusiva AWS SAM y no tiene un CloudFormation equivalente.

 `JwtConfiguration`   <a name="sam-httpapi-oauth2authorizer-jwtconfiguration"></a>
Configuración JWT para este autorizador.  
Esto se transfiere a la sección `jwtConfiguration` de un `x-amazon-apigateway-authorizer` en la sección `securitySchemes` de la definición de OpenAPI.  
Las propiedades `issuer` y `audience` no distinguen entre mayúsculas y minúsculas y se pueden usar en minúsculas como en OpenAPI o en mayúsculas y como en. `Issuer` `Audience` [AWS::ApiGatewayV2::Authorizer](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apigatewayv2-authorizer-jwtconfiguration.html) 
*Tipo*: mapa  
*Obligatorio*: no  
*CloudFormation compatibilidad*: esta propiedad es exclusiva AWS SAM y no tiene un equivalente. CloudFormation 

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

### OAuth Autorizador 2.0
<a name="sam-property-httpapi-oauth2authorizer--examples--oauth-2.0-authorizer"></a>

OAuth Ejemplo de autorizador 2.0

#### YAML
<a name="sam-property-httpapi-oauth2authorizer--examples--oauth-2.0-authorizer--yaml"></a>

```
Auth:
  Authorizers:
    OAuth2Authorizer:
      AuthorizationScopes:
        - scope1
      JwtConfiguration:
        issuer: "https://www.example.com/v1/connect/oauth2"
        audience:
          - MyApi
      IdentitySource: "$request.querystring.param"
  DefaultAuthorizer: OAuth2Authorizer
```