RATATOSKRATATOSK
로그인

Open Policy Agent (OPA)

v1.15.0Security
2026년 3월 27일

OPA v1.15.0은 파일 로테이션을 지원하는 플러그인 로깅 시스템을 추가하고, 커스텀 HTTPAuthPlugin 동작 방식을 변경하며, AWS Web Identity 자격 증명 지원을 확장했습니다.

  • breaking업그레이드 전 커스텀 HTTPAuthPlugin 구현 코드 반드시 점검

    커스텀 HTTPAuthPlugin을 구현한 경우, NewClient()는 이제 Client 인스턴스당 한 번만 호출됩니다. 요청 카운터, 트랜스포트 래핑, 로깅 등 요청별 로직이 NewClient()에 있다면 조용히 오동작하게 됩니다. 업그레이드 전에 플러그인 코드를 검토하고 모든 요청별 로직을 Prepare()로 옮겨야 합니다. OPA 내장 플러그인은 이미 수정되었으므로 커스텀 플러그인을 운영하는 팀만 영향을 받습니다.

  • enhancementfile_logger 플러그인으로 OPA 로그 관리 통합

    새로운 file_logger 플러그인은 구조화된 JSON 로그를 자동 로테이션과 함께 기록하며, server.logger_plugin 하나의 설정 블록으로 런타임 로그와 결정 로그를 모두 처리합니다. 현재 OPA stdout을 tailing하거나 외부 로그 shipper로 파이핑하고 있다면, 파일 로거로 전환해 운영 복잡도를 낮출 수 있습니다. HTTP 번들 엔드포인트 없이도 결정 로그를 안정적으로 수집할 수 있어 저지연 환경에 적합합니다.

  • enhancementEKS 환경에서 IRSA 기반 AWS 자격 증명 네이티브 설정 가능

    EKS에서 IRSA(IAM Roles for Service Accounts)를 사용하는 경우, Web Identity 토큰을 Assume Role 자격 증명 플로우에 직접 쓸 수 있게 됐습니다. 기존에 인스턴스 프로파일 자격 증명이나 수동 토큰 주입으로 우회하던 방식을 정리하고, REST 플러그인 AWS 서명 설정에서 web identity 프로바이더를 사용하도록 업데이트하면 됩니다.

주요 변경 (5)

  • Go의 slog.Handler 기반 로거 플러그인 인터페이스 추가 — 런타임 로그와 결정 로그를 커스텀 목적지로 라우팅 가능하며, lumberjack 기반 파일 로테이션 내장
  • 파괴적 변경: HTTPAuthPlugin.NewClient()가 이제 요청마다 호출되지 않고 한 번만 호출됨 — 요청별 로직은 반드시 Prepare()로 이전 필요
  • AWS Signing에서 Assume Role 플로우에 Web Identity(서비스 어카운트) 자격 증명 지원 추가
  • TLS 클라이언트 인증서 재읽기 주기를 cert_reread_interval_seconds로 설정 가능해졌으며, 콘텐츠 해싱으로 불필요한 파싱 방지
  • 모든 TLS 설정이 서버 수준의 최소 버전 및 암호화 스위트 설정을 상속 — 이전에는 클라이언트별 TLS 설정이 서버 설정과 달라질 수 있었음