CorsConfiguration - AWS Serverless Application Model

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

CorsConfiguration

API Gateway API의 교차 오리진 리소스 공유(CORS)를 관리합니다. 허용할 도메인을 문자열로 지정하거나 추가 Cors 구성을 사용하여 사전을 지정합니다.

참고

OpenAPI 정의를 수정하려면 CORS는 AWS SAM이 필요합니다. DefinitionBody에서 인라인 OpenAPI 정의를 생성하여 CORS를 켭니다. CorsConfiguration이 OpenAPI 정의에서 설정되고 속성 수준에서도 설정된 경우 AWS SAM이 이를 병합합니다. 속성 수준이 OpenAPI 정의보다 우선합니다.

자세한 내용은 API 게이트웨이 개발자 가이드API 게이트웨이 REST API 리소스 활성화를 참조하세요.

구문

귀하의 AWS Serverless Application Model(AWS SAM) 템플릿에서 이 객체를 선언하려면 다음 명령문을 사용합니다.

YAML

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

속성

AllowCredentials

요청에 보안 인증 정보를 포함할 수 있는지 여부를 나타내는 부울.

유형: 부울

필수 항목 여부: 아니요

AWS CloudFormation호환성: 이 속성은 AWS SAM에 고유하며 AWS CloudFormation 동등한 속성이 없습니다.

AllowHeaders

허용할 헤더 문자열.

유형: 문자열

필수 항목 여부: 아니요

AWS CloudFormation호환성: 이 속성은 AWS SAM에 고유하며 AWS CloudFormation 동등한 속성이 없습니다.

AllowMethods

허용할 HTTP 메서드가 포함된 문자열입.

유형: 문자열

필수 항목 여부: 아니요

AWS CloudFormation호환성: 이 속성은 AWS SAM에 고유하며 AWS CloudFormation 동등한 속성이 없습니다.

AllowOrigin

허용할 오리진 문자열. 이것은 문자열 형식의 쉼표로 구분된 목록일 수 있습니다.

유형: 문자열

필수 항목 여부: 예

AWS CloudFormation호환성: 이 속성은 AWS SAM에 고유하며 AWS CloudFormation 동등한 속성이 없습니다.

MaxAge

CORS Preflight 요청을 캐시하는 데 걸리는 시간(초)이 포함된 문자열.

유형: 문자열

필수 항목 여부: 아니요

AWS CloudFormation호환성: 이 속성은 AWS SAM에 고유하며 AWS CloudFormation 동등한 속성이 없습니다.

예시

CorsConfiguration

CORS 구성의 예입니다. 이것은 CORS가 구성되어 있는 AWS::Serverless::Api 정의 및 AWS::Serverless::Function을 보여주는 AWS SAM 템플릿 파일의 일부에 불과합니다. Lambda 프록시 통합 또는 HTTP 프록시 통합을 사용하는 경우 백엔드는 Access-Control-Allow-Origin, Access-Control-Allow-MethodsAccess-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!') }