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érer le partage des ressources cross-origin (CORS) pour vos API Gateway. Spécifiez le domaine à autoriser en tant que chaîne ou spécifiez un dictionnaire avec une configuration Cors supplémentaire.

Note

CORS nécessite AWS SAM de modifier votre définition OpenAPI. Créez une définition OpenAPI intégrée dans DefinitionBody le pour activer CORS. Si le CorsConfiguration est défini dans la définition d'OpenAPI et également au niveau de la propriété, il les AWS SAM fusionne. Le niveau de propriété est prioritaire sur la définition d'OpenAPI.

Pour plus d'informations, consultez Activation de CORS pour une ressource API REST dans API Gateway dans le Guide du développeur API Gateway.

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 méthodes HTTP à 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 requises pour mettre en cache la demande 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

Exemple de configuration CORS. 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 configuré et unAWS::Serverless::Function. Si vous utilisez une intégration de proxy Lambda ou une intégration de proxy HTTP, 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: "'www.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': 'www.example.com', 'Access-Control-Allow-Methods': 'POST, GET' }, 'body': json.dumps('Hello from Lambda!') }