

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.

# CorsConfiguration
<a name="sam-property-api-corsconfiguration"></a>

Gérez le partage de ressources entre origines (CORS) pour votre API Gateway. APIs Spécifiez le domaine à autoriser en tant que chaîne ou spécifiez un dictionnaire avec une configuration Cors supplémentaire.

**Note**  
CORS nécessite AWS SAM de modifier votre définition OpenAPI. Créez une définition OpenAPI intégrée dans `DefinitionBody` le pour activer CORS. Si le `CorsConfiguration` est défini dans la définition d'OpenAPI et également au niveau de la propriété, il les AWS SAM fusionne. Le niveau de propriété est prioritaire sur la définition d'OpenAPI.

Pour plus d'informations, consultez [Activation de CORS pour une ressource API REST dans API Gateway](https://docs.aws.amazon.com/apigateway/latest/developerguide/how-to-cors.html) dans le *Guide du développeur API Gateway*.

## Syntaxe
<a name="sam-property-api-corsconfiguration-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-corsconfiguration-syntax.yaml"></a>

```
  [AllowCredentials](#sam-api-corsconfiguration-allowcredentials): Boolean
  [AllowHeaders](#sam-api-corsconfiguration-allowheaders): String
  [AllowMethods](#sam-api-corsconfiguration-allowmethods): String
  [AllowOrigin](#sam-api-corsconfiguration-alloworigin): String
  [MaxAge](#sam-api-corsconfiguration-maxage): String
```

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

 `AllowCredentials`   <a name="sam-api-corsconfiguration-allowcredentials"></a>
Booléen indiquant si la requête est autorisée à contenir des informations d'identification.  
*Type* : valeur booléenne  
*Obligatoire* : non  
*CloudFormation compatibilité* : cette propriété est unique AWS SAM et n'a pas d' CloudFormation équivalent.

 `AllowHeaders`   <a name="sam-api-corsconfiguration-allowheaders"></a>
Chaîne d'en-têtes à autoriser.  
*Type* : chaîne  
*Obligatoire* : non  
*CloudFormation compatibilité* : cette propriété est unique AWS SAM et n'a pas d' CloudFormation équivalent.

 `AllowMethods`   <a name="sam-api-corsconfiguration-allowmethods"></a>
Chaîne contenant les méthodes HTTP à autoriser.  
*Type* : chaîne  
*Obligatoire* : non  
*CloudFormation compatibilité* : cette propriété est unique AWS SAM et n'a pas d' CloudFormation équivalent.

 `AllowOrigin`   <a name="sam-api-corsconfiguration-alloworigin"></a>
Chaîne d'origine à autoriser. Il peut s'agir d'une liste séparée par des virgules au format chaîne.  
*Type* : chaîne  
*Obligatoire* : oui  
*CloudFormation compatibilité* : cette propriété est unique AWS SAM et n'a pas d' CloudFormation équivalent.

 `MaxAge`   <a name="sam-api-corsconfiguration-maxage"></a>
Chaîne contenant le nombre de secondes requises pour mettre en cache la demande CORS Preflight.  
*Type* : chaîne  
*Obligatoire* : non  
*CloudFormation compatibilité* : cette propriété est unique AWS SAM et n'a pas d' CloudFormation équivalent.

## Exemples
<a name="sam-property-api-corsconfiguration--examples"></a>

### CorsConfiguration
<a name="sam-property-api-corsconfiguration--examples--corsconfiguration"></a>

Exemple de configuration CORS. Il ne s'agit que d'une partie d'un fichier AWS SAM modèle présentant une [AWS::Serverless::Api](sam-resource-api.md) définition avec CORS configuré et un[AWS::Serverless::Function](sam-resource-function.md). Si vous utilisez une intégration de proxy Lambda ou une intégration de proxy HTTP, votre backend doit renvoyer les en-têtes `Access-Control-Allow-Origin``Access-Control-Allow-Methods`, et. `Access-Control-Allow-Headers`

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

```
Resources:
  ApiGatewayApi:
    Type: AWS::Serverless::Api
    Properties:
      StageName: Prod
      Cors:
        AllowMethods: "'POST, GET'"
        AllowHeaders: "'X-Forwarded-For'"
        AllowOrigin: "'https://example.com'"
        MaxAge: "'600'"
        AllowCredentials: true
  ApiFunction: # Adds a GET method at the root resource via an Api event
    Type: AWS::Serverless::Function
    Properties:
      Events:
        ApiEvent:
          Type: Api
          Properties:
            Path: /
            Method: get
            RestApiId:
              Ref: ApiGatewayApi
      Runtime: python3.10
      Handler: index.handler
      InlineCode: |
        import json
        def handler(event, context):
          return {
          'statusCode': 200,
          'headers': {
            'Access-Control-Allow-Headers': 'Content-Type',
            'Access-Control-Allow-Origin': 'https://example.com',
            'Access-Control-Allow-Methods': 'POST, GET'
            },
          'body': json.dumps('Hello from Lambda!')
          }
```