Microsoft Entra ID의 위임된 권한과 애플리케이션 권한: 관리자가 알아야 할 내용
By Mirko Peters ·
Microsoft Entra ID에서 위임된 권한과 애플리케이션 권한의 핵심 차이, 보안 모범 사례, 최소 권한 원칙을 알아봅니다.
Automatically translated with AI from the original post. Read the English original

타사 도구나 사용자 지정 애플리케이션을 Microsoft 365 환경에 통합할 때는 위임된 권한과 애플리케이션 권한의 차이를 이해하는 것이 매우 중요합니다. 이는 클라우드 보안을 유지하고, 데이터 유출을 방지하며, Microsoft Entra ID 전반에서 최소 권한 원칙을 적용하기 위해 필수적입니다.
핵심 요약
- 위임된 권한은 로그인한 사용자가 필요하며 그 사용자를 대신해 동작합니다. 따라서 앱은 사용자가 볼 권한이 있는 데이터에만 접근할 수 있습니다.
- 애플리케이션 권한은 사람 사용자 없이 동작하며, 테넌트 전체에 걸친 광범위한 접근을 허용하고 관리자 승인이 필요합니다.
- 최소 권한 원칙에 따라 앱에는 작업을 수행하는 데 필요한 최소한의 권한만 항상 부여해야 합니다.
- Microsoft Graph는 Microsoft 365 데이터에 접근하는 통합 관문 역할을 하며, 이러한 권한 모델에 크게 의존합니다.
- 이 차이를 이해하면 타사 애플리케이션에 의도하지 않은 테넌트 전체 접근 권한을 부여하는 것과 같은 심각한 보안 공백을 막을 수 있습니다.
Microsoft 클라우드의 OAuth 권한 이해하기
외부 생산성 도구나 내부 자동화 스크립트를 Microsoft 365 작업 공간에 연결하면 기본적으로 OAuth 2.0 흐름이 실행됩니다. 하지만 액세스 토큰을 얻는 것은 절반에 불과합니다. 실제 보안 경계는 해당 토큰이 실제로 무엇을 할 수 있는지에 따라 정해집니다. Microsoft Entra ID(이전 명칭 Azure Active Directory)를 중심으로 한 Microsoft ID 생태계에서 권한은 근본적으로 다른 두 가지 유형, 즉 위임된 권한과 애플리케이션 권한으로 나뉩니다.
이 두 모델을 혼동하는 것은 IT 관리자, 개발자, 파워 사용자 모두에게 가장 흔한 함정 중 하나입니다. 잘못된 권한 유형을 선택하면 회사 전체 데이터가 의도치 않게 노출되거나 애플리케이션 기능이 완전히 망가질 수 있습니다. 각 유형이 어떻게 동작하고 어디에 위치하며, 이를 어떻게 올바르게 관리하는지 하나씩 살펴보겠습니다.
위임된 권한: 사용자를 대신한 작업
위임된 권한은 앞에 사람 사용자가 있는 앱을 위해 설계되었습니다. Microsoft 계정을 사용해 모바일 앱이나 웹 서비스에 로그인하면, 앱은 특정 작업 범위에 대해 사용자의 ID를 빌려 씁니다. 이것을 위임된 권한이라고 합니다.
이 경우 앱은 사용자로서 동작합니다. 사용자가 이미 접근 권한을 가진 데이터에만 접근할 수 있으며, 그 이상은 불가능합니다. 사용자 계정에 특정 SharePoint 폴더나 동료의 일정에 대한 읽기 권한이 없다면, 앱도 접근할 수 없습니다. 영향 범위가 개별 사용자의 권한에 의해 자연스럽게 제한되므로, 워크플로에 사람이 관여할 때는 위임된 권한을 사용하는 것이 권장됩니다.
실제 환경에서 위임된 권한이 나타나는 방식
동의 창을 클릭할 때마다 위임된 권한과 상호 작용하게 됩니다. 일정 도우미 앱은 사용자의 일정을 읽고 싶다는 화면을 표시할 수 있습니다. 이 요청은 특정 OAuth 범위를 나타냅니다. 사용자가 요청을 승인하거나 거부할 수 있는 상태이므로, 사용자는 리소스 소유자로서 클라이언트 애플리케이션이 사용자 프로필에서 무엇을 빌려 쓸 수 있는지 정확히 통제하게 됩니다.
애플리케이션 권한: 백그라운드 서비스와 테넌트 전체 접근
애플리케이션 권한은 완전히 다른 방식으로 작동합니다. 이 권한은 사용자가 로그인하지 않은 새벽 3시에 실행되는 백그라운드 데몬, 자동 동기화 스크립트, 백엔드 서비스를 위해 설계되었습니다. 조직 내 모든 사서함의 데이터를 집계하는 자동 보고 도구를 떠올려 보시면 됩니다.
신원 정보를 제공할 사용자가 없으므로, 앱은 자체 자격 증명(클라이언트 자격 증명 흐름을 통한 클라이언트 ID와 클라이언트 암호 등)으로 인증합니다. 그 결과 애플리케이션 권한을 가진 도구는 조직 전체를 대상으로 자신의 이름으로 작업할 수 있습니다. 앱에 메일 읽기 애플리케이션 권한이 있다면, 테넌트에 있는 모든 사용자의 메일을 읽을 수 있습니다.
관리자 동의가 필수인 이유
애플리케이션 권한은 그만큼 강력하므로 일반 사용자는 이에 동의할 수 없습니다. 일반 직원은 자신의 캘린더에 대한 위임된 권한은 승인할 수 있지만, 애플리케이션 권한에는 전역 관리자나 특권 역할 관리자의 명시적인 승인이 필요합니다. 이처럼 엄격한 통제 덕분에 악성 앱이나 코드 품질이 낮은 앱이 조직 전체의 데이터를 몰래 수집하는 일을 막을 수 있습니다.
Microsoft Graph와 OAuth 범위의 역할
애플리케이션이 위임된 권한을 사용하든 애플리케이션 권한을 사용하든, 결국 모든 요청은 Microsoft Graph라는 하나의 강력한 관문을 거치게 됩니다. 호출하는 앱이 유효한 OAuth 액세스 토큰을 제시하기만 하면, 모든 팀 채팅, SharePoint 문서, OneDrive 파일, Outlook 메일에 Microsoft Graph를 통해 접근할 수 있습니다.
이러한 토큰이 지나치게 넓은 권한을 갖지 않도록 통제하는 장치가 바로 범위(scope)입니다. 범위는 토큰 안에 포함된 명확한 레이블로, 캘린더 읽기인지 메일 보내기인지처럼 정확한 경계를 정의합니다. 개발자가 단순 읽기만 필요한 상황에서 읽기 및 쓰기 범위를 요청하는 등 지나치게 넓은 범위를 요청하면, 핵심 보안 모범 사례를 위반하는 것입니다. 관리자는 앱 등록 검토 과정에서 이러한 범위를 꼼꼼하게 감사해야 합니다.
테넌트에서 최소 권한 원칙 적용하기
Microsoft Entra ID의 보안 모범 사례는 결국 하나의 원칙, 즉 최소 권한 원칙으로 귀결됩니다. 모든 앱, 서비스 주체, 자동화 스크립트에는 작업을 완료하는 데 필요한 최소한의 액세스 수준만 부여해야 합니다.
- 사용자가 앱과 직접 상호 작용하는 경우에는 언제나 애플리케이션 권한보다 위임된 권한을 우선 사용하십시오.
- 동의 요청 화면을 꼼꼼히 확인하여 앱이 불필요한 범위를 요구하지 않는지 점검하십시오.
- Microsoft Entra ID에 등록된 엔터프라이즈 애플리케이션을 정기적으로 검토하여 방치된 토큰이나 사용하지 않는 앱 등록을 취소하십시오.
- 사용자 개입 없이 동작하는 환경에서 실행되는 클라이언트 자격 증명 흐름에는 반드시 관리자의 감독을 적용하십시오.
결론
최신 클라우드 ID의 작동 원리를 이해하려면 단순한 로그인 버튼 너머를 살펴보고 그 기저에 있는 권한 구조를 들여다봐야 합니다. 위임된 범위로 사용자 대면 모바일 앱을 관리하든, 애플리케이션 권한에 의존하는 대규모 기업 자동화를 관리하든, 이러한 경계를 이해하는 것은 안전한 Microsoft 365 환경을 위해 필수적입니다.
OAuth 2.0 작동 방식의 기본 원리를 더 깊이 알고 싶다면, 팟캐스트의 전체 에피소드 듣기에서 OAuth 2.0, 토큰 수명 주기, 인증 과정의 네 가지 구성 요소를 전문 용어 없이 쉽게 설명해 드립니다.
자주 묻는 질문
일반 사용자가 Microsoft Entra ID에서 애플리케이션 권한을 승인할 수 있나요?
아니요. 애플리케이션 권한은 로그인한 사용자 없이 동작하며 테넌트 전체에 영향을 미칩니다. 따라서 적절한 테넌트 권한을 가진 관리자만 애플리케이션 권한을 부여할 수 있습니다.
사용자에게 접근 권한이 없는 파일에 위임된 권한을 가진 앱을 통해 접근하려고 하면 어떻게 되나요?
앱도 해당 파일에 접근하지 못하게 차단됩니다. 위임된 권한은 사용자의 ID를 빌려 쓰는 방식이므로, 앱이 사용자 개인의 액세스 경계를 넘어서는 일은 결코 없습니다.
애플리케이션 권한의 가장 큰 보안 위험은 무엇인가요?
애플리케이션 권한은 사람의 감독 없이 백그라운드 서비스를 실행하므로, 침해된 앱 자격 증명은 공격자에게 회사 전체의 사서함, 파일, 리소스에 대한 무제한 액세스 권한을 줄 수 있습니다.
Microsoft Graph는 OAuth 토큰 및 권한과 어떻게 상호 작용하나요?
Microsoft Graph는 Microsoft 365의 API 게이트웨이 역할을 합니다. Graph에 보내는 모든 요청에는 위임된 권한 또는 애플리케이션 권한을 정의하는 특정 범위(scope)가 포함된 OAuth 액세스 토큰이 있어야 합니다.