API 정책 구현

Azure API Management

Fiodar Sazanavets

Senior Software Engineer at Microsoft

API 정책 소개

API 관리 정책

  • 문지기처럼: 누가 들어오는지 확인
  • 제한 속도 표지처럼: 트래픽 흐름 제어
  • 문제 사용자를 차단해 API 보호
  • 시스템 과부하 방지를 위해 요청을 제한
  • API 게이트웨이 입출력은 모두 정책으로 제어됩니다
Azure API Management

API 관리 정책 개요

APIM 정책

  • 정책은 간단한 XML로 작성된 강력한 규칙 집합입니다
  • 요청-응답 파이프라인으로 생각하십시오
  • 단계별로 규칙을 삽입해 트래픽을 조정할 수 있습니다
  • 장점: 백엔드 코드를 수정할 필요가 없습니다
Azure API Management

예시: 하위 호환성

APIM을 통한 하위 호환성

Azure API Management

정책 범위

  • 정책은 전역(조직 전체)에 적용할 수 있습니다
    • 모든 API를 제어합니다
  • 개별 API에 적용할 수 있습니다
    • 특정 제품을 관리합니다
  • 개별 엔드포인트에 적용할 수 있습니다
    • 세밀한 제어에 사용합니다

정책 범위

Azure API Management

인바운드 정책

  • 요청이 도착하면 APIM이 먼저 인바운드 정책을 평가합니다
  • 예: 페이로드 보강으로 구버전 앱을 새 API와 호환
  • 인바운드 정책은 악성 시도를 차단할 수 있습니다
  • 비정상 요청이나 누락 데이터를 감지합니다
  • 초기에 가드레일을 세워 잘못된 데이터가 서비스에 도달하지 않게 합니다

인바운드 데이터 보강

요청 유효성 검사

Azure API Management

보안과 트래픽 제한

보안을 위한 인바운드 정책

요청 할당량 강제

  • 과도한 클라이언트를 제한하여 공정한 사용과 백엔드 보호를 보장합니다
  • 인바운드 정책은 보안도 담당합니다
  • 일반적인 정책: JWT(JSON Web Token) 유효성 검증
  • JWT는 클라이언트가 보내는 디지털 신분증과 같습니다
  • validate-jwt 정책은 적법성, 만료 여부, 신뢰 발급자(예: Entra ID)를 확인합니다
  • 더 강력한 제어: rate limiting 및 quota 정책
Azure API Management

아웃바운드 정책

  • 백엔드 처리 후, 아웃바운드 정책이 응답을 조정합니다
  • 식당 비유: 요청 -> 주방(백엔드) -> 플레이팅 스테이션(아웃바운드 정책)
  • 아웃바운드 정책 기능:
    • 불필요한 요소 제거(예: 민감한 헤더)
    • 지시 추가(예: 캐싱 지시문)
    • 형식 변경(예: XML을 JSON으로 변환)

응답 데이터 보강

응답 변환

  • 백엔드 준비와 무관하게, 응답이 클라이언트 기대에 부합하게 합니다
Azure API Management

연습해 봅시다!

Azure API Management

Preparing Video For Download...