내부용 SAM API의 공개 엔드포인트

내부 전용 REST API는 프라이빗 엔드포인트와 접근 정책을 구성하세요.

설명

SAM REST API의 공개 엔드포인트는 인터넷에서 요청을 받을 수 있습니다. 내부 전용 API라면 EndpointConfiguration의 Type을 PRIVATE로 설정해 VPC 엔드포인트를 통한 접근을 사용하세요.

잠재적 영향

내부용 API가 의도하지 않은 외부 호출 시도에 노출될 수 있습니다. 공개 엔드포인트 자체가 인증 없는 호출을 허용한다는 뜻은 아닙니다.

해결 방법

EndpointConfiguration.Type: PRIVATE를 설정하고 VPC 엔드포인트 및 API 리소스 정책으로 접근 범위를 제한하세요. VPCEndpointIds 연결은 호출용 DNS 별칭을 만들며 허용 목록을 대신하지 않습니다.

예시

예시는 SAM의 단일 Type 속성을 사용합니다. API 리소스 정책과 VPC 엔드포인트는 생략했으며 배포 시 함께 구성해야 합니다. 공개 서비스용 API는 요구사항에 맞는 공개 엔드포인트를 사용할 수 있습니다.

변경 전

yaml
Resources:
  ApiGatewayApi:
    Type: AWS::Serverless::Api
    Properties:
      StageName: prod
      EndpointConfiguration:
        Type: EDGE

변경 후

yaml
Resources:
  ApiGatewayApi:
    Type: AWS::Serverless::Api
    Properties:
      StageName: prod
      EndpointConfiguration:
        Type: PRIVATE

참조