

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

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

Gestisci la condivisione delle risorse tra le origini (CORS) per il tuo API Gateway. APIs Specificate il dominio da consentire come stringa o specificate un dizionario con una configurazione Cors aggiuntiva.

**Nota**  
CORS richiede AWS SAM di modificare la definizione OpenAPI. Crea una definizione OpenAPI in linea per attivare `DefinitionBody` CORS. Se `CorsConfiguration` è impostato nella definizione di OpenAPI e anche a livello di proprietà, li AWS SAM unisce. Il livello di proprietà ha la precedenza sulla definizione OpenAPI.

Per ulteriori informazioni su CORS, consulta [Enable CORS for an API Gateway REST API Resource nella API](https://docs.aws.amazon.com/apigateway/latest/developerguide/how-to-cors.html) *Gateway Developer Guide*.

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

Per dichiarare questa entità nel tuo modello AWS Serverless Application Model (AWS SAM), usa la seguente sintassi.

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

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

 `AllowCredentials`   <a name="sam-api-corsconfiguration-allowcredentials"></a>
Booleano che indica se la richiesta può contenere credenziali.  
*Tipo*: Booleano  
*Obbligatorio:* no  
*CloudFormation compatibilità*: questa proprietà è unica AWS SAM e non ha un equivalente. CloudFormation 

 `AllowHeaders`   <a name="sam-api-corsconfiguration-allowheaders"></a>
Stringa di intestazioni da consentire.  
▬*Tipo:* stringa  
*Obbligatorio:* no  
*CloudFormation compatibilità*: questa proprietà è unica AWS SAM e non ha un CloudFormation equivalente.

 `AllowMethods`   <a name="sam-api-corsconfiguration-allowmethods"></a>
Stringa contenente i metodi HTTP da consentire.  
▬*Tipo:* stringa  
*Obbligatorio:* no  
*CloudFormation compatibilità*: questa proprietà è unica AWS SAM e non ha un CloudFormation equivalente.

 `AllowOrigin`   <a name="sam-api-corsconfiguration-alloworigin"></a>
Stringa di origine da consentire. Può essere un elenco separato da virgole in formato stringa.  
▬*Tipo:* stringa  
*Obbligatorio:* sì  
*CloudFormation compatibilità*: questa proprietà è unica AWS SAM e non ha un equivalente. CloudFormation 

 `MaxAge`   <a name="sam-api-corsconfiguration-maxage"></a>
Stringa contenente il numero di secondi di memorizzazione nella cache della richiesta CORS Preflight.  
▬*Tipo:* stringa  
*Obbligatorio:* no  
*CloudFormation compatibilità*: questa proprietà è unica AWS SAM e non ha un CloudFormation equivalente.

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

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

Esempio di configurazione CORS. Questa è solo una parte di un file AWS SAM modello che mostra una [AWS::Serverless::Api](sam-resource-api.md) definizione con CORS configurato e un. [AWS::Serverless::Function](sam-resource-function.md) Se utilizzi un'integrazione proxy Lambda o un'integrazione con proxy HTTP, il backend deve restituire le intestazioni `Access-Control-Allow-Origin``Access-Control-Allow-Methods`, e. `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!')
          }
```