

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.

# HttpApiFunctionAuth
<a name="sam-property-function-httpapifunctionauth"></a>

Configura la autorización a nivel de evento.

Configura la autenticación para una API \$1 Ruta \$1 Método específica

## Sintaxis
<a name="sam-property-function-httpapifunctionauth-syntax"></a>

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

### YAML
<a name="sam-property-function-httpapifunctionauth-syntax.yaml"></a>

```
  [AuthorizationScopes](#sam-function-httpapifunctionauth-authorizationscopes): List
  [Authorizer](#sam-function-httpapifunctionauth-authorizer): String
```

## Propiedades
<a name="sam-property-function-httpapifunctionauth-properties"></a>

 `AuthorizationScopes`   <a name="sam-function-httpapifunctionauth-authorizationscopes"></a>
Los ámbitos de autorización que se aplicarán a esta API, ruta y método.  
Los ámbitos que se muestran aquí anularán los ámbitos aplicados por el `DefaultAuthorizer`, si existe alguno.  
*Tipo*: lista  
*Obligatorio*: no  
*CloudFormation compatibilidad*: esta propiedad es exclusiva de AWS SAM y no tiene un CloudFormation equivalente.

 `Authorizer`   <a name="sam-function-httpapifunctionauth-authorizer"></a>
`Authorizer` para una función específica. Para utilizar la autorización de IAM, especifique `AWS_IAM` y especifique `true` para `EnableIamAuthorizer` en la sección `Globals` de tu plantilla.  
Si ha especificado un autorizador global en la API y quiere hacer pública una función específica, anule configurando `Authorizer` en `NONE`.  
*Tipo:* cadena  
*Obligatorio*: no  
*CloudFormation compatibilidad*: esta propiedad es exclusiva de AWS SAM y no tiene un CloudFormation equivalente.

## Ejemplos
<a name="sam-property-function-httpapifunctionauth--examples"></a>

### Autenticación de funciones
<a name="sam-property-function-httpapifunctionauth--examples--function-auth"></a>

Especificar la autorización a nivel de función

#### YAML
<a name="sam-property-function-httpapifunctionauth--examples--function-auth--yaml"></a>

```
Auth:
  Authorizer: OpenIdAuth
  AuthorizationScopes:
    - scope1
    - scope2
```

### Autorización de IAM
<a name="sam-property-function-httpapifunctionauth--examples--iam-authorization"></a>

Especifica la autorización de IAM a nivel de evento. Para utilizar la autorización `AWS_IAM` a nivel de evento, también debe especificar `true` para `EnableIamAuthorizer` en la sección `Globals` de tu plantilla. Para obtener más información, consulta [Sección global de la plantilla AWS SAM](sam-specification-template-anatomy-globals.md).

#### YAML
<a name="sam-property-function-httpapifunctionauth--examples--iam-authorization--yaml"></a>

```
Globals:
  HttpApi:
    Auth:
      EnableIamAuthorizer: true

Resources:
  HttpApiFunctionWithIamAuth:
    Type: AWS::Serverless::Function
    Properties:
      Events:
        ApiEvent:
          Type: HttpApi
          Properties:
            Path: /iam-auth
            Method: GET
            Auth:
              Authorizer: AWS_IAM
      Handler: index.handler
      InlineCode: |
        def handler(event, context):
          return {'body': 'HttpApiFunctionWithIamAuth', 'statusCode': 200}
      Runtime: python3.9
```