

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

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

Configurez un mécanisme d'autorisation Lambda pour contrôler l'accès à votre API à l'aide d'une fonction Lambda.

Pour plus d’informations et d’exemples, consultez [Contrôlez l'accès aux API avec votre AWS SAM modèle](serverless-controlling-access-to-apis.md).

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

Pour déclarer cette entité dans votre modèle AWS Serverless Application Model (AWS SAM), utilisez la syntaxe suivante.

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

## Propriétés
<a name="sam-property-api-lambdarequestauthorizer-properties"></a>

 `DisableFunctionDefaultPermissions`   <a name="sam-api-lambdarequestauthorizer-disablefunctiondefaultpermissions"></a>
Spécifiez `true` pour AWS SAM empêcher la création automatique d'une `AWS::Lambda::Permissions` ressource afin de fournir des autorisations entre votre `AWS::Serverless::Api` ressource et la fonction Lambda de l'autorisateur.  
*Valeur par défaut* : `false`  
*Type* : valeur booléenne  
*Obligatoire* : non  
*CloudFormation compatibilité* : cette propriété est unique AWS SAM et n'a pas d' CloudFormation équivalent.

 `FunctionArn`   <a name="sam-api-lambdarequestauthorizer-functionarn"></a>
Spécifiez la fonction ARN de la fonction Lambda qui fournit l'autorisation pour l'API.  
AWS SAM créera automatiquement une `AWS::Lambda::Permissions` ressource lorsque cela `FunctionArn` est spécifié pour`AWS::Serverless::Api`. La ressource `AWS::Lambda::Permissions` fournit des autorisations entre votre API et la fonction Lambda du mécanisme d'autorisation.
*Type* : chaîne  
*Obligatoire* : oui  
*CloudFormation compatibilité* : cette propriété est unique AWS SAM et n'a pas d' CloudFormation équivalent.

 `FunctionInvokeRole`   <a name="sam-api-lambdarequestauthorizer-functioninvokerole"></a>
Ajoute les informations d'identification de l'autorisateur à la OpenApi définition de l'autorisateur Lambda.  
*Type* : chaîne  
*Obligatoire* : non  
*CloudFormation compatibilité* : cette propriété est unique AWS SAM et n'a pas d' CloudFormation équivalent.

 `FunctionPayloadType`   <a name="sam-api-lambdarequestauthorizer-functionpayloadtype"></a>
Cette propriété peut être utilisée pour définir le type de mécanisme d'autorisation Lambda pour une API.  
*Valeurs valides* : `TOKEN` ou `REQUEST`  
*Type :* chaîne  
*Obligatoire* : non  
*Par défaut* : `TOKEN`  
*CloudFormation compatibilité* : cette propriété est unique AWS SAM et n'a pas d' CloudFormation équivalent.

 `Identity`   <a name="sam-api-lambdarequestauthorizer-identity"></a>
Cette propriété peut être utilisée pour spécifier une `IdentitySource` dans une demande d'autorisation entrante. Cette propriété n'est requise que si la propriété `FunctionPayloadType` est définie sur `REQUEST`.  
*Type :* [LambdaRequestAuthorizationIdentity](sam-property-api-lambdarequestauthorizationidentity.md)  
*Obligatoire* : Conditionnelle  
*CloudFormation compatibilité* : cette propriété est unique AWS SAM et n'a pas d' CloudFormation équivalent.

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

Cette propriété peut être utilisée pour spécifier un IdentitySource dans une demande entrante pour un autorisateur. Pour plus d'informations, IdentitySource consultez l'[ OpenApi extension ApiGateway Authorizer](https://docs.aws.amazon.com/apigateway/latest/developerguide/api-gateway-swagger-extensions-authorizer.html).

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

Pour déclarer cette entité dans votre modèle AWS Serverless Application Model (AWS SAM), utilisez la syntaxe suivante.

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

## Propriétés
<a name="sam-property-api-lambdarequestauthorizationidentity-properties"></a>

 `Context`   <a name="sam-api-lambdarequestauthorizationidentity-context"></a>
Convertit les chaînes de contexte données en expressions de mappage de format `context.contextString`.  
*Type* : liste  
*Obligatoire* : non  
*CloudFormation compatibilité* : cette propriété est unique AWS SAM et n'a pas d' CloudFormation équivalent.

 `Headers`   <a name="sam-api-lambdarequestauthorizationidentity-headers"></a>
Convertit les en-têtes en chaîne séparée par des virgules d'expressions de mappage de formats `method.request.header.name`.  
*Type* : liste  
*Obligatoire* : non  
*CloudFormation compatibilité* : cette propriété est unique AWS SAM et n'a pas d' CloudFormation équivalent.

 `QueryStrings`   <a name="sam-api-lambdarequestauthorizationidentity-querystrings"></a>
Convertit les chaînes de requête données en chaîne séparée par des virgules d'expressions de mappage de format `method.request.querystring.queryString`.  
*Type* : liste  
*Obligatoire* : non  
*CloudFormation compatibilité* : cette propriété est unique AWS SAM et n'a pas d' CloudFormation équivalent.

 `ReauthorizeEvery`   <a name="sam-api-lambdarequestauthorizationidentity-reauthorizeevery"></a>
Période time-to-live (TTL), en secondes, qui indique la durée pendant laquelle API Gateway met en cache les résultats de l'autorisateur. Si vous définissez une valeur supérieure à 0, API Gateway met en cache les réponses du mécanisme d'autorisation. Par défaut, API Gateway définit cette propriété sur 300. La valeur maximale est 3 600 ou 1 heure.  
*Type* : entier  
*Obligatoire* : non  
*Par défaut *: 300  
*CloudFormation compatibilité* : cette propriété est unique AWS SAM et n'a pas d' CloudFormation équivalent.

 `StageVariables`   <a name="sam-api-lambdarequestauthorizationidentity-stagevariables"></a>
Convertit les variables d'une étape donnée en chaîne séparée par des virgules d'expressions de mappage de format `stageVariables.stageVariable`.  
*Type* : liste  
*Obligatoire* : non  
*CloudFormation compatibilité* : cette propriété est unique AWS SAM et n'a pas d' CloudFormation équivalent.

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