RATATOSKRATATOSK
로그인

OpenFGA

v1.17.0Security
2026년 6월 3일

v1.17.0은 캐시 키 생성 방식을 TLV 인코딩으로 교체해 해시 플러딩 공격을 차단하고, OpenTelemetry 트레이스 샘플러를 설정 가능하게 만들었습니다.

  • security해시 플러딩 방어를 위해 즉시 업그레이드

    기존 문자열 연결 방식의 캐시 키는 해시 플러딩 공격과 키 충돌 위험에 노출되어 있었습니다. TLV 인코딩과 프로세스별 해시 시딩으로 두 문제를 모두 해결했으며, 설정 변경 없이 버전 업그레이드만으로 적용됩니다. 멀티테넌트 환경이나 외부에 노출된 OpenFGA를 운영 중이라면 이번 릴리스를 우선 적용하세요.

  • enhancementAPI 게이트웨이나 서비스 메시 뒤에서 운영한다면 parent-based 샘플링 설정 권장

    기존에는 OpenFGA가 업스트림의 샘플링 결정을 따르지 못해 스택 전체에서 트레이스가 일관되지 않게 수집되는 문제가 있었습니다. `OPENFGA_TRACE_SAMPLER=parentbased_always_on` 또는 `parentbased_traceidratio`로 설정하면 호출 서비스의 샘플링 결정을 그대로 따릅니다. OpenFGA가 대형 트레이싱 시스템의 다운스트림에 위치한다면, 불필요한 트레이스 노이즈를 줄이고 기존 옵저버빌리티 전략과 일관성을 맞출 수 있습니다.

주요 변경 (5)

  • 캐시 키 생성을 문자열 연결에서 TLV 바이너리 인코딩으로 전환해 충돌 위험 제거
  • 프로세스별 해시 시딩 추가로 해시 플러딩 공격 방어
  • `trace.sampler` / `OPENFGA_TRACE_SAMPLER` / `OTEL_TRACES_SAMPLER`로 트레이스 샘플러 설정 가능
  • parent-based 변형 포함 모든 표준 OTel 샘플링 전략 지원
  • 기본 샘플러는 `traceidratio`로 기존 동작 유지