OAuth 권한을 사용자가 덜어낸다: Cloudflare 선택적 범위 도입 점검표
Cloudflare OAuth가 선택적 권한 범위를 지원한다. 부분 승인에 대비해 토큰의 실제 scope, 권한 부족 처리와 단계적 재동의를 점검할 때다.
Cloudflare가 2026년 8월 20일 OAuth 애플리케이션의 선택적 권한 범위(optional scopes)를 공개했다. 애플리케이션 소유자는 일부 권한 범위를 선택 사항으로 표시하고, 사용자는 동의 화면에서 지금 할 작업에 필요한 권한만 골라 승인할 수 있다. 기존의 ‘요청 전체 승인 또는 거부’보다 최소 권한 원칙을 사용자 선택 단계까지 확장한 변화다.
무엇이 바뀌었나
기존 Cloudflare OAuth 클라이언트도 등록된 권한 범위 가운데 일부만 요청할 수 있었다. 그러나 애플리케이션이 요청을 보낸 뒤 사용자가 동의 화면에서 범위를 더 줄일 수는 없었다. 새 기능에서는 클라이언트 소유자가 등록 시 필수 권한과 선택 권한을 나눈다. 승인 화면은 선택 권한을 개별 항목으로 보여 주고, 사용자가 해제한 범위는 발급 토큰에 포함하지 않는다.
OAuth 2.0의 권한 범위(scope)1는 토큰이 접근할 수 있는 자원의 종류와 작업을 나타낸다. RFC 6749는 인가 서버가 클라이언트가 요청한 범위와 다른 범위를 발급할 경우 응답의 scope 값으로 실제 범위를 알려야 한다고 규정한다. 따라서 애플리케이션은 요청한 범위를 받았다고 가정하지 말고 토큰 응답의 실제 범위를 기준으로 동작해야 한다.
개발자에게 왜 중요한가
통합 도구, 명령줄 프로그램, SaaS 연결과 MCP 서버는 가능한 작업이 많아질수록 넓은 권한을 요청하기 쉽다. 사용자가 단순 조회만 하려는데 쓰기·삭제 권한까지 승인해야 한다면 신뢰와 보안 모두 나빠진다. 선택적 범위는 하나의 클라이언트를 유지하면서 작업별 권한을 줄일 수 있게 한다.
보안 사고의 영향 범위도 달라진다. 토큰이 노출되더라도 승인되지 않은 권한은 사용할 수 없다. 다만 선택 기능만 켠다고 최소 권한이 자동으로 완성되지는 않는다. 필수 범위를 지나치게 넓게 잡거나, 애플리케이션이 빠진 권한을 정상적으로 처리하지 못하면 효과가 줄어든다.
기존 프로젝트 영향
기존 OAuth 클라이언트가 즉시 깨지는 변경은 아니다. 애플리케이션 소유자가 범위를 선택 사항으로 구성해야 새 동의 흐름이 적용된다. 하지만 적용 뒤에는 ‘요청한 범위 = 발급된 범위’라는 가정이 호환성 문제가 될 수 있다. API 호출이 403 응답을 돌려줄 때 오류로 끝내기보다 필요한 권한과 다시 승인하는 경로를 분명히 안내해야 한다.
백엔드는 토큰의 실제 권한으로 기능을 제한하고, 프런트엔드는 쓸 수 없는 버튼이나 메뉴를 숨기거나 비활성화해야 한다. 나중에 새로운 작업이 필요해지면 전체 연결을 초기화하는 대신 추가 동의를 요청하는 단계적 인가 흐름을 설계할 수 있다. 감사 로그에는 사용자가 승인한 범위와 변경 시점을 남기는 편이 좋다.
적용 전 확인 사항
- 읽기, 쓰기, 관리 권한을 업무 단위로 나누고 앱의 핵심 기능에 반드시 필요한 범위만 필수로 둔다.
- 인가 응답의
scope를 저장·검사하고, 누락된 선택 권한을 정상 상태로 처리한다. - 권한 부족 API 응답, 부분 승인, 재동의와 토큰 갱신 흐름을 통합 시험한다.
- 사용자가 선택 권한을 해제해도 앱이 무한 재인증이나 모호한 오류에 빠지지 않는지 확인한다.
- 백엔드 API가 토큰 권한을 실제로 검증하는지 확인한다. 화면에서 기능을 숨기는 것만으로는 접근 통제가 되지 않는다.
- 발표일은 2026년 8월 20일이며 특정 런타임 버전 업데이트나 CVE 공지는 아니다. Cloudflare OAuth를 사용하는 애플리케이션에 한정된 플랫폼 기능이다.
선택적 권한 범위의 핵심은 동의 화면이 더 복잡해졌다는 데 있지 않다. 사용자가 지금 맡길 작업만 승인하고, 애플리케이션이 그 부분 권한을 정상적으로 받아들이게 만드는 데 있다. 개발자는 권한이 모두 주어지는 성공 경로뿐 아니라 일부만 승인된 정상 경로를 제품의 기본 동작으로 다뤄야 한다.
출처
- Cloudflare — From all-or-nothing to task-based OAuth consent (2026-08-20)
- IETF — RFC 6749, The OAuth 2.0 Authorization Framework
- Cloudflare Docs — API and application access guidance
1 권한 범위(scope): OAuth 토큰에 허용된 자원과 작업의 범위를 표현하는 문자열 집합. 실제 의미는 인가 서버와 API가 정의한다.