

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

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

Gerencie o compartilhamento de recursos de origem cruzada (CORS) para seu API Gateway. APIs Especifique o domínio a ser permitido como uma string ou especifique um dicionário com configuração adicional do Cors.

**nota**  
O CORS exige que AWS SAM você modifique sua definição de OpenAPI. Crie uma definição de OpenAPI em linha no `DefinitionBody` para ativar o CORS. Se `CorsConfiguration` for definido na definição da OpenAPI e também no nível da propriedade, AWS SAM mescla-os. O nível da propriedade tem precedência sobre a definição de OpenAPI.

Para obter mais informações sobre o CORS, consulte [Habilitar o CORS para um recurso API REST para a API Gateway](https://docs.aws.amazon.com/apigateway/latest/developerguide/how-to-cors.html) no *Guia do desenvolvedor do API Gateway*.

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

Para declarar essa entidade em seu modelo AWS Serverless Application Model (AWS SAM), use a sintaxe a seguir.

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

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

 `AllowCredentials`   <a name="sam-api-corsconfiguration-allowcredentials"></a>
Booleano indicando se a solicitação pode conter credenciais.  
*Tipo*: booliano  
*Obrigatório*: não  
*CloudFormation compatibilidade*: essa propriedade é exclusiva AWS SAM e não tem CloudFormation equivalente.

 `AllowHeaders`   <a name="sam-api-corsconfiguration-allowheaders"></a>
Cadeia de cabeçalhos a serem permitidos.  
*Tipo:* string  
*Obrigatório*: não  
*CloudFormation compatibilidade*: essa propriedade é exclusiva AWS SAM e não tem CloudFormation equivalente.

 `AllowMethods`   <a name="sam-api-corsconfiguration-allowmethods"></a>
Cadeia de caracteres contendo os métodos HTTP a serem permitidos.  
*Tipo:* string  
*Obrigatório*: não  
*CloudFormation compatibilidade*: essa propriedade é exclusiva AWS SAM e não tem CloudFormation equivalente.

 `AllowOrigin`   <a name="sam-api-corsconfiguration-alloworigin"></a>
Cadeia de origem a ser permitida. Pode ser uma lista separada por vírgulas em formato de string.  
*Tipo:* string  
*Obrigatório*: Sim  
*CloudFormation compatibilidade*: essa propriedade é exclusiva AWS SAM e não tem CloudFormation equivalente.

 `MaxAge`   <a name="sam-api-corsconfiguration-maxage"></a>
Cadeia de caracteres contendo o número de segundos para armazenar em cache a solicitação CORS Preflight.  
*Tipo:* string  
*Obrigatório*: não  
*CloudFormation compatibilidade*: essa propriedade é exclusiva AWS SAM e não tem CloudFormation equivalente.

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

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

Exemplo de configuração do CORS. Essa é apenas uma parte de um arquivo de AWS SAM modelo que mostra uma [AWS::Serverless::Api](sam-resource-api.md) definição com o CORS configurado e um[AWS::Serverless::Function](sam-resource-function.md). Se você usa uma integração de proxy do Lambda ou uma integração de proxy HTTP, seu backend deve retornar os cabeçalhos `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!')
          }
```