CorsConfiguration - AWS Serverless Application Model

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

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

Note

CORSnécessite AWS SAM de modifier votre API définition Open. Créez une API définition ouverte en ligne dans le DefinitionBody pour activerCORS. Si le CorsConfiguration est défini dans la API définition ouverte et également au niveau de la propriété, les AWS SAM fusionne. Le niveau de propriété est prioritaire sur la API définition ouverte.

Pour plus d'informationsCORS, voir Activer une REST API ressource CORS de API passerelle dans le guide du développeur de API passerelle.

Syntaxe

Pour déclarer cette entité dans votre modèle AWS Serverless Application Model (AWS SAM), utilisez la syntaxe suivante.

YAML

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

Propriétés

AllowCredentials

Booléen indiquant si la requête est autorisée à contenir des informations d'identification.

Type : valeur booléenne

Obligatoire : non

AWS CloudFormation compatibilité : cette propriété est unique AWS SAM et n'a pas d' AWS CloudFormation équivalent.

AllowHeaders

Chaîne d'en-têtes à autoriser.

Type : chaîne

Obligatoire : non

AWS CloudFormation compatibilité : cette propriété est unique AWS SAM et n'a pas d' AWS CloudFormation équivalent.

AllowMethods

Chaîne contenant les HTTP méthodes à autoriser.

Type : chaîne

Obligatoire : non

AWS CloudFormation compatibilité : cette propriété est unique AWS SAM et n'a pas d' AWS CloudFormation équivalent.

AllowOrigin

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

AWS CloudFormation compatibilité : cette propriété est unique AWS SAM et n'a pas d' AWS CloudFormation équivalent.

MaxAge

Chaîne contenant le nombre de secondes nécessaires pour mettre en cache la requête CORS Preflight.

Type : chaîne

Obligatoire : non

AWS CloudFormation compatibilité : cette propriété est unique AWS SAM et n'a pas d' AWS CloudFormation équivalent.

Exemples

CorsConfiguration

CORSExemple de configuration. Il ne s'agit que d'une partie d'un fichier AWS SAM modèle présentant une AWS::Serverless::Api définition avec CORS configure et AWS::Serverless::Function a. Si vous utilisez une intégration de proxy Lambda ou une intégration de HTTP proxy, votre backend doit renvoyer les en-têtes Access-Control-Allow-OriginAccess-Control-Allow-Methods, et. 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!') }