pile·
보안·cloudflare-blogCloudflare Blog·

내부 앱을 한 번에 보호하기 — Cloudflare Access for Workers

Cloudflare가 Workers에 Access를 직접 연결해 내부 애플리케이션을 도메인 단위가 아닌 Worker 단위로 보호하는 기능을 출시했다. 개발자가 각자 Access를 설정하지 않아도 계정 수준에서 모든 Workers를 기본 비공개로 만들 수 있고, 코드에서 인증된 사용자 정보를 JWT 파싱 없이 바로 꺼낼 수 있다.

핵심 포인트
  • Worker에 Access 정책을 직접 연결하면 커스텀 도메인·라우트·workers.dev·프리뷰 URL 등 어떤 경로로 들어오든 동일하게 인증이 강제된다. 기존에는 도메인별로 각각 설정해야 했다.
  • 계정 수준 정책을 한 번 설정하면 현재·미래의 모든 Workers가 생성 즉시 비공개가 된다. 특정 Worker를 공개로 열려면 계정 정책을 오버라이드한다.
  • `ctx.access.getIdentity()`로 인증된 사용자의 이메일·이름·그룹을 코드에서 바로 가져올 수 있다. JWT 서명 검증과 클레임 파싱이 불필요하다.
  • wrangler.jsonc의 `access.dev.identity`를 설정하면 로컬 개발 중에도 같은 API로 사용자 전환 테스트를 할 수 있다.
  • Workers for Platforms 디스패처 Worker에 Access를 설정하면 플랫폼 위에 배포된 모든 Workers가 자동으로 비공개가 된다.
상세 정리
  • 배경: AI 도구로 어느 팀원이든 Workers를 빠르게 만들고 공개 인터넷에 배포할 수 있게 됐다. 개인이 Access 설정을 빠뜨리면 내부 정보가 그대로 노출된다.
  • 기존 방식의 한계: Access 정책이 호스트명 단위라 Worker에 새 도메인을 추가할 때마다 Access 정책도 업데이트해야 했다. 한 곳이라도 빠지면 인증 없이 접근 가능했다.
  • 새 방식 — Worker 단위 연결: 정책이 Worker에 붙어 있어 이 Worker와 연결된 모든 도메인이 자동으로 보호된다. 프리뷰만 보호하거나 전체 호스트를 보호하는 범위 선택이 가능하다.
  • 우선순위 계층: 호스트명 정책 > Worker 정책 > 계정 정책 순으로 가장 구체적인 정책이 우선 적용된다.
  • ctx.access API: Access가 활성화된 Worker의 모든 인증 요청에 `ctx.access`가 자동 첨부된다. 세 줄 코드로 사용자 이메일을 꺼낼 수 있다.
  • 로컬 테스트: wrangler.jsonc의 `access.dev.identity`에 이메일을 지정하면 배포 없이 서로 다른 사용자 시나리오를 검증한다. 프로덕션과 동일한 객체 구조를 반환한다.
  • Workers for Platforms 연동: 디스패처 Worker에 Access 정책을 한 번 붙이면 그 아래 모든 테넌트 Workers가 자동 비공개다. 내부 플랫폼 오픈소스 예제도 공개됐다.
  • 기술 기반 — FL2: Rust 기반 모듈형 프록시 FL2 덕분에 Workers 라우팅을 실행과 분리해 Access가 라우팅 후·실행 전에 끼어들 수 있게 됐다. FL1(NGINX+Lua)에서는 공유 상태 의존성 때문에 이 변경이 위험했을 것이다.
왜 읽나조직 내부에서 Workers로 다수의 내부 도구를 운영하거나 내부 플랫폼을 구축하는 엔지니어가 인증 설정을 중앙화하고 '안전을 기본값으로' 만드는 패턴을 바로 적용할 수 있다.
cloudflare-blog
Cloudflare Blog 블로그
원문은 여기서 이어서 읽을 수 있어요
원문 읽기
읽음 (0)

이 글과 비슷한

  1. 보안·gitlab-engGitLab Blog·

    Serena MCP 에이전트의 치명적 원격 코드 실행 취약점 분석

    GitLab 보안팀이 AI 코딩 에이전트 Serena(월 PyPI 다운로드 13.6만 건)에서 치명적 원격 코드 실행 취약점을 발견했다. Jinja2 비샌드박스 환경과 신뢰 모델의 미검사 경로가 결합해 개발자가 악의적 저장소를 열기만 해도 코드가 실행된다. serena-agent 1.7.0에서 SandboxedEnvironment 교체로 수정 완료됐다.

    요약 이어보기
    #mcp#security#rce+2