연속 액세스 평가를 사용하여 애플리케이션 보호
이 문서는 개발자로서 지속적인 액세스 평가를 사용하여 애플리케이션 보안을 개선하는 데 도움이 됩니다. 리소스가 Microsoft Entra ID에서 액세스 토큰을 획득할 때 액세스 권한 부여를 받는 앱에서 제로 트러스트 지원을 확인하는 방법을 알아봅니다.
Microsoft Entra ID가 이러한 액세스 토큰을 발급하면 해당 권한 부여 조건을 완전히 평가합니다. Microsoft Entra ID는 초기 토큰 요청에 대한 토큰을 발급할 때마다, 토큰을 새로 고칠 때마다 동의 보장과 같은 표준 권한 부여 작업을 수행합니다.
Microsoft Entra ID는 주로 액세스 토큰에 JWT(JSON 웹 토큰)를 사용합니다. 리소스 API는 리소스 API에 대한 모든 호출에서 Microsoft Entra ID를 다시 호출할 필요 없이 JWT를 디코딩, 유효성 검사 및 해석할 수 있습니다. JWT 표준은 처리를 위해 JWT 토큰을 수락하지 않아야 하는 만료 날짜 또는 이후 시간을 식별하는 exp 클레임을 정의합니다. 기본적으로 Microsoft Entra 토큰은 문제 발생 후 60~90분 후에 만료됩니다. 애플리케이션은 Microsoft Entra ID가 권한 부여 조건을 평가하지 않는 이 기간 동안 액세스 토큰을 캐시하고 사용해야 합니다.
토큰을 발급하지 않고 조건 평가
Microsoft 고객은 Microsoft Entra ID가 토큰을 발급할 때 사용자 조건 변경과 정책 변경 적용 간의 지연에 대해 우려하고 있습니다. 이 감소된 토큰 수명 접근 방식은 위험을 제거하지 않고 사용자 환경 및 안정성을 저하시킬 수 있습니다.
한 가지 해결 방법은 보호된 리소스에 대한 모든 호출에서 조건을 평가하는 것입니다. 이 적용을 구현하는 가장 일반적인 방법은 토큰 내성입니다. 토큰 내성에서는 토큰에 JWT 형식을 사용하지 않습니다. 대신 토큰 검색은 리소스 API에서 해석할 수 없는 불투명 문자열을 사용합니다. 리소스 API는 각 호출에서 ID 공급자에게 토큰을 보냅니다. 그런 다음 ID 공급자는 조건을 검사 리소스 API가 작업을 완료하는 데 사용할 수 있는 데이터를 반환합니다. 이 프로세스는 모든 API 호출에 또 다른 왕복 웹 요청을 추가하기 때문에 비용이 많이 들 수 있습니다.
CAE(지속적인 액세스 평가)를 사용하여 이 비용을 해결하기 위해 리소스 API는 Microsoft Entra ID가 리소스 API에 대해 Microsoft Entra ID가 발급하는 토큰에 대해 푸시하는 이벤트를 수신 대기할 수 있습니다. 예를 들어 애플리케이션이 Microsoft Graph API를 호출할 때 Microsoft Graph는 Microsoft Entra ID에서 토큰에 대한 이벤트를 수신한 경우 검사 수 있습니다. 원래 인증 조건이 다르고 사용자가 다시 인증해야 하는 경우 Microsoft Graph는 호출 앱에 오류를 반환합니다.
Microsoft Entra ID는 이러한 이벤트가 발생할 때 CAE 사용 Microsoft 리소스에 이벤트를 보냅니다.
- 사용 안 함 또는 삭제된 사용자 계정
- 사용자 암호 변경 또는 재설정
- 사용자 다단계 인증 사용
- 관리자가 사용자의 모든 새로 고침 토큰을 명시적으로 해지
- Microsoft Entra ID Protection이 관리자 권한 사용자 위험을 감지합니다.
또한 CAE 사용 Microsoft 리소스는 위치 기반 조건부 액세스 정책을 적용할 수 있습니다.
CAE를 사용하여 애플리케이션 보안 및 복원력 향상
Microsoft Entra 연속 액세스 평가 비디오를 기반으로 하는 보다 안전하고 복원력 있는 앱은 CAE 지원을 사용하여 클라이언트 앱을 빌드하는 방법을 보여 줍니다.
다음 단계에서 최신 인증을 사용할 때 애플리케이션이 작동하는 방식을 알아보려면 위의 프레젠테이션을 시청하세요.
- 최신 인증을 사용할 때 애플리케이션 작동 방식
- 앱이 Microsoft ID에 토큰을 요청합니다.
- 앱이 액세스 토큰을 받습니다.
- 앱이 JWT를 사용하여 API/권한 부여를 호출합니다.
- 반성
- 공유 신호 및 이벤트
- 중요 이벤트 평가
- 조건부 액세스 정책 평가
- API 연속 액세스 평가라고 함
- 클레임 챌린지
지속적인 액세스 평가를 사용하면 애플리케이션의 권한 부여가 액세스 토큰의 수명 외에 해지된 리소스에 액세스할 수 있습니다. 예를 들어 애플리케이션에는 75분 이상 유효한 토큰이 있습니다. 사용자는 자격 증명 위반으로 인해 위험 수준이 높은 상태입니다. CAE는 리소스에 대한 앱의 액세스를 차단하므로 계속하기 전에 사용자가 다시 인증해야 합니다. 따라서 CAE는 앱 보안을 개선하기 위한 주요 목표를 달성합니다.
리소스에 대한 액세스는 토큰의 수명 외에 해지될 수 있으므로 Microsoft Entra ID는 더 긴 수명 동안 토큰을 발급할 수 있습니다. CAE를 지원하는 앱의 경우 Microsoft Entra ID는 최대 28시간 동안 유효한 토큰을 발급할 수 있습니다. 이 토큰 수명이 길어도 앱의 복원력이 향상되지는 않지만 앱이 토큰을 훨씬 덜 자주 요청해야 하므로 애플리케이션 비용이 줄어듭니다.
CAE는 Microsoft Entra ID에서 액세스 토큰을 획득할 때 앱이 발생할 수 있는 문제에 대한 앱의 복원력을 향상시킵니다. 가능하면 Microsoft Entra ID는 액세스 토큰을 포함하는 토큰 응답의 일부로 새로 고침 시간을 발급합니다. MSAL(Microsoft 인증 라이브러리)은 이 새로 고침 시간을 사용하여 토큰을 사전에 새로 고칩니다. 새로 고침 시간은 토큰 만료 시간의 일부(일반적으로 절반)입니다. MSAL이 토큰의 만료 시간 전에 액세스 토큰을 새로 고칠 수 있는 한 앱은 토큰 새로 고침 문제에 복원력이 있습니다.
예를 들어 앱이 CAE를 지원하는 경우 Microsoft Entra ID는 24시간 동안 유효한 Microsoft Graph를 호출하도록 앱에 권한을 부여하는 토큰을 발급합니다. 그런 다음 Microsoft Entra ID는 MSAL에 12시간 후에 토큰을 사전에 새로 고치도록 지시합니다. 원래 액세스 토큰이 12시간 더 유효하기 때문에 MSAL이 액세스 토큰을 새로 고치려고 하면 앱이 Microsoft Entra ID에서 토큰을 획득할 때 문제에 대한 복원력이 향상됩니다.
앱에서 연속 액세스 평가 구현
애플리케이션에서 연속 액세스 평가 사용 API를 사용하는 방법에 설명된 대로 앱과 액세스하는 리소스 API는 모두 CAE를 사용하도록 설정해야 합니다. 그러나 CAE 사용 리소스를 사용하도록 코드를 준비해도 CAE를 사용하도록 설정되지 않은 API를 사용할 수 없습니다. MSAL을 사용하지 않는 애플리케이션은 클레임 챌린지, 클레임 요청 및 CAE를 사용하는 클라이언트 기능에 대한 지원을 추가할 수 있습니다 .
다음 단계
- Microsoft Entra ID 의 워크로드 ID에 대한 지속적인 액세스 평가는 조직에 대한 CAE 보안 이점을 설명합니다.
- 연속 액세스 평가를 사용하여 인증 세션 관리에 제로 트러스트 원칙 적용은 사용자 환경 및 생산성에 영향을 주지 않고 인증 세션을 보호하고 세션 관리를 현대화하는 방법을 설명합니다.
- 개발하는 인증 및 권한 부여 애플리케이션의 복원력을 높이면 Microsoft ID 플랫폼 및 Microsoft Entra ID를 사용하여 앱의 복원력을 높이는 방법에 대한 지침을 제공하는 일련의 문서가 도입되었습니다. 여기에는 토큰 사용 및 리소스 호출에 대한 모범 사례가 포함되어 있습니다.
- id에 대한 제로 트러스트 접근 방식을 사용하여 앱을 빌드하면 사용 권한 및 액세스 모범 사례에 대한 개요를 제공합니다.
- 애플리케이션을 Microsoft Entra ID와 통합하고 Microsoft ID 플랫폼 통해 개발자는 IT 전문가가 엔터프라이즈에서 보호할 수 있는 앱을 빌드하고 통합할 수 있습니다.