Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.
CorsConfiguration
Gestiona el uso compartido de recursos entre orígenes (CORS) para sus API de API Gateway. Especifica el dominio que desea permitir como cadena o especifica un diccionario con una configuración de Cors adicional.
nota
CORS obliga a AWS SAM a modificar su definición de OpenAPI. Cree una definición de OpenAPI en línea en DefinitionBody para activar CORS. Si CorsConfiguration está establecido en la definición de OpenAPI y también en el nivel de propiedad, AWS SAM los fusiona. El nivel de propiedad tiene prioridad sobre la definición de OpenAPI.
Para obtener más información sobre CORS, consulta Habilitar CORS para un recurso de la API de REST de API Gateway en la Guía para desarrolladores de API Gateway.
Sintaxis
Para declarar esta entidad en tu plantilla de AWS Serverless Application Model (AWS SAM), usa la siguiente sintaxis:
YAML
AllowCredentials:BooleanAllowHeaders:StringAllowMethods:StringAllowOrigin:StringMaxAge:String
Propiedades
-
AllowCredentials -
Un valor booleano que indica si se permite que la solicitud contenga credenciales.
Tipo: Booleano
Obligatorio: no
Compatibilidad con CloudFormation: esta propiedad es exclusiva de AWS SAM y no tiene un equivalente CloudFormation.
-
AllowHeaders -
Cadena de encabezados que se van a permitir.
Tipo: cadena
Obligatorio: no
Compatibilidad con CloudFormation: esta propiedad es exclusiva de AWS SAM y no tiene un equivalente CloudFormation.
-
AllowMethods -
Cadena que contiene los métodos HTTP que se van a permitir.
Tipo: cadena
Obligatorio: no
Compatibilidad con CloudFormation: esta propiedad es exclusiva de AWS SAM y no tiene un equivalente CloudFormation.
-
AllowOrigin -
Cadena de origen que se va a permitir. Puede ser una lista separada por comas en formato de cadena.
Tipo: cadena
Obligatorio: sí
Compatibilidad con CloudFormation: esta propiedad es exclusiva de AWS SAM y no tiene un equivalente CloudFormation.
-
MaxAge -
Cadena que contiene el número de segundos necesarios para almacenar en caché la solicitud CORS Preflight.
Tipo: cadena
Obligatorio: no
Compatibilidad con CloudFormation: esta propiedad es exclusiva de AWS SAM y no tiene un equivalente CloudFormation.
Ejemplos
CorsConfiguration
Ejemplo de configuración de CORS. Esta es solo una parte de un archivo de plantilla de AWS SAM que muestra una definición de AWS::Serverless::Api con CORS configurado y AWS::Serverless::Function. Si utiliza una integración de proxy de Lambda o una integración de proxy HTTP, el backend debe devolver los encabezados Access-Control-Allow-Origin, Access-Control-Allow-Methods y 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!') }