CorsConfiguration - AWS Serverless Application Model

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

Gerencie o compartilhamento de recursos de origem cruzada (CORS) para suas APIs do API Gateway. 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 o AWS SAM para modificar a 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 de OpenAPI e também no nível da propriedade, o AWS SAM os mesclará. 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 no Guia do desenvolvedor do API Gateway.

Sintaxe

Para declarar esta entidade no modelo do AWS Serverless Application Model (AWS SAM), use a seguinte sintaxe:

YAML

AllowCredentials: Boolean AllowHeaders: String AllowMethods: String AllowOrigin: String MaxAge: String

Propriedades

AllowCredentials

Booleano indicando se a solicitação pode conter credenciais.

Tipo: booliano

Obrigatório: não

Compatibilidade AWS CloudFormation: Essa propriedade é exclusiva do AWS SAM e não tem AWS CloudFormation equivalente.

AllowHeaders

Cadeia de cabeçalhos a serem permitidos.

Tipo: string

Obrigatório: não

Compatibilidade AWS CloudFormation: Essa propriedade é exclusiva do AWS SAM e não tem AWS CloudFormation equivalente.

AllowMethods

Cadeia de caracteres contendo os métodos HTTP a serem permitidos.

Tipo: string

Obrigatório: não

Compatibilidade AWS CloudFormation: Essa propriedade é exclusiva do AWS SAM e não tem AWS CloudFormation equivalente.

AllowOrigin

Cadeia de origem a ser permitida. Pode ser uma lista separada por vírgulas em formato de string.

Tipo: string

Obrigatório: Sim

Compatibilidade AWS CloudFormation: Essa propriedade é exclusiva do AWS SAM e não tem AWS CloudFormation equivalente.

MaxAge

Cadeia de caracteres contendo o número de segundos para armazenar em cache a solicitação CORS Preflight.

Tipo: string

Obrigatório: não

Compatibilidade AWS CloudFormation: Essa propriedade é exclusiva do AWS SAM e não tem AWS CloudFormation equivalente.

Exemplos

CorsConfiguration

Exemplo de configuração do CORS. Essa é apenas uma parte de um arquivo de modelo do AWS SAM que mostra uma definição de AWS::Serverless::Api com o CORS configurado e um AWS::Serverless::Function. 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

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!') }