

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.

# WebSocketApiAuth
<a name="sam-property-websocketapi-websocketapiauth"></a>

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

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

## Sintaxis
<a name="sam-property-websocketapi-websocketapiauth-syntax"></a>

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

### YAML
<a name="sam-property-websocketapi-websocketapiauth-syntax.yaml"></a>

```
[AuthArn](#sam-websocketapiauth-autharn): {{String}}
[AuthType](#sam-websocketapiauth-authtype): {{String}}
[IdentitySource](#sam-websocketapiauth-identitysource): {{List}}
[InvokeRole](#sam-websocketapiauth-invokerole): {{String}}
[Name](#sam-websocketapiauth-name): {{String}}
```

## Propiedades
<a name="sam-property-websocketapi-websocketapiauth-properties"></a>

 `AuthArn`   <a name="sam-websocketapiauth-autharn"></a>
El ARN de la función Lambda que se utilizará para la autorización. Obligatorio cuando `AuthType` es. `CUSTOM`  
*Tipo:* cadena  
*Obligatorio*: condicional  
*CloudFormation compatibilidad*: esta propiedad es exclusiva de AWS SAM y no tiene un CloudFormation equivalente.

 `AuthType`   <a name="sam-websocketapiauth-authtype"></a>
El tipo de autorización. Los valores válidos son `NONE`, `AWS_IAM` o `CUSTOM`.  
+ `NONE`- Sin autorización
+ `AWS_IAM`- Autorización de IAM
+ `CUSTOM`- Autorizador Lambda
*Tipo:* cadena  
*Obligatorio*: sí  
*CloudFormation compatibilidad*: esta propiedad es exclusiva AWS SAM y no tiene un CloudFormation equivalente.

 `IdentitySource`   <a name="sam-websocketapiauth-identitysource"></a>
Es la fuente de identidad para la que se solicita autorización. Por ejemplo, `route.request.header.Authorization`.  
*Tipo*: lista  
*Obligatorio*: no  
*CloudFormation compatibilidad*: esta propiedad se pasa directamente a la `[IdentitySource](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigatewayv2-authorizer.html#cfn-apigatewayv2-authorizer-identitysource)` propiedad de un `AWS::ApiGatewayV2::Authorizer` recurso.

 `InvokeRole`   <a name="sam-websocketapiauth-invokerole"></a>
El ARN de la función de IAM que asume API Gateway al invocar la función de autorización. Si no se especifica, crea AWS SAM automáticamente un permiso basado en recursos que permite a API Gateway invocar la función de autorización.  
*Tipo:* cadena  
*Obligatorio*: no  
*CloudFormation compatibilidad*: esta propiedad se transfiere directamente a la `[AuthorizerCredentialsArn](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigatewayv2-authorizer.html#cfn-apigatewayv2-authorizer-authorizercredentialsarn)` propiedad de un recurso. `AWS::ApiGatewayV2::Authorizer`

 `Name`   <a name="sam-websocketapiauth-name"></a>
El nombre del autorizador.  
*Tipo:* cadena  
*Obligatorio*: no  
*CloudFormation compatibilidad*: esta propiedad se pasa directamente a la `[Name](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigatewayv2-authorizer.html#cfn-apigatewayv2-authorizer-name)` propiedad de un `AWS::ApiGatewayV2::Authorizer` recurso.

## Ejemplos
<a name="sam-property-websocketapi-websocketapiauth-examples"></a>

### Autorizador Lambda
<a name="sam-property-websocketapi-websocketapiauth-examples-lambda"></a>

El siguiente ejemplo configura un autorizador Lambda para una API. WebSocket 

```
Auth:
  AuthType: CUSTOM
  AuthArn: !GetAtt AuthorizerFunction.Arn
  IdentitySource:
    - route.request.header.Authorization
```

### Autorización de IAM
<a name="sam-property-websocketapi-websocketapiauth-examples-iam"></a>

El siguiente ejemplo configura la autorización de IAM para una API. WebSocket 

```
Auth:
  AuthType: AWS_IAM
```