2025-08-11
Microsoft Graph 권한 및 동의 모델 설명

Graph 기반 앱이 배포 단계에서 실패하는 가장 큰 이유는 코드가 아니라 동의(consent)입니다. 개발 테넌트에서는 광범위한 테스트가 허용되지만, 프로덕션에서는 위험한 범위(scope)를 차단하는 엄격한 정책이 적용됩니다. 해결책은 Graph의 두 가지 모델을 이해하는 것입니다. 하나는 위임(delegated, 사용자 컨텍스트) 방식이고, 다른 하나는 애플리케이션(application, 앱 전용, 조직 전체) 방식입니다. 앱이 실제로 동작하는 방식에 맞춰 최소한으로 필요한 범위만 요청하세요. 가능한 한 사용자 데이터는 위임 방식으로 처리하고, 앱 전용 방식은 무인 실행이나 테넌트 간 작업에만 사용하며 관리자 승인을 계획에 포함하세요. 테넌트 동의 정책을 초기에 파악하고, 권한을 단계적으로(파일럿 → 확대) 부여하며, 각 범위가 필요한 이유를 문서화하세요. Calendars.Read와 Calendars.ReadWrite, Team.ReadBasic.All과 전체 디렉터리 권한처럼 최소 권한 대안을 활용하세요. 사전 승인 워크플로, 분기별 검토, 태깅, 감사 로그로 거버넌스를 갖추면 '관리자 동의 필요' 팝업이 줄고, 보안 승인이 빨라지며, 배포가 안정적으로 유지됩니다.
Apple Podcasts · Spotify · YouTube
Microsoft Graph Permissions and Consent Models Explained (English)