API Gateway 엔드포인트 공개 범위 점검

내부 전용 API의 네트워크 경로와 호출 권한을 필요한 범위로 제한하세요.

설명

내부 전용 API에 공개 엔드포인트를 사용하면 의도한 네트워크 밖에서도 호출 경로에 접근할 수 있습니다. 공개 엔드포인트 자체가 익명 호출을 허용하는 것은 아니며, 공개 서비스를 위한 EDGE나 REGIONAL 엔드포인트도 정상적인 구성입니다.

PRIVATE REST API는 인터페이스 VPC 엔드포인트를 통한 접근과 리소스 정책 등 별도의 준비가 필요합니다. 네트워크 범위를 줄이더라도 메서드 인증과 애플리케이션 권한 검사는 유지해야 합니다.

잠재적 영향

  • 인증이나 접근 정책이 부족하면 내부 기능이 의도하지 않은 호출자에게 노출될 수 있습니다.
  • 사설 연결 경로를 준비하지 않고 전환하면 정상 호출이 중단될 수 있습니다.

해결 방법

API의 공개 필요성을 확인하세요. 내부 전용 REST API는 인터페이스 VPC 엔드포인트, 보안 그룹, DNS와 허용할 VPC 또는 엔드포인트를 제한하는 리소스 정책을 준비한 뒤 PRIVATE 구성을 적용하세요. 필요한 호출자의 연결과 인증을 시험하고 공개 API에는 목적에 맞는 인증과 접근 제한을 유지하세요.

예시

같은 REST API의 엔드포인트 유형을 비교하는 발췌입니다. PRIVATE API에 필요한 VPC 엔드포인트와 리소스 정책, 메서드 및 인증 설정은 생략했습니다.

변경 전

yaml
Resources:
  InternalApi:
    Type: AWS::ApiGateway::RestApi
    Properties:
      Name: internal-api
      EndpointConfiguration:
        Types:
          - EDGE

EDGE는 공개 API 엔드포인트를 구성합니다. 이 설정만으로 메서드 인증이나 실제 데이터 접근 권한을 알 수는 없습니다.

변경 후

yaml
Resources:
  InternalApi:
    Type: AWS::ApiGateway::RestApi
    Properties:
      Name: internal-api
      EndpointConfiguration:
        Types:
          - PRIVATE

엔드포인트 유형을 PRIVATE로 설정합니다. 필요한 사설 경로와 리소스 정책을 함께 구성해야 호출할 수 있습니다.

참조