사용자 지정 API에 대한 Azure AD JWT 액세스 토큰의 유효성을 검사하는 .NET Azure Function을 작성하고 있습니다. API는 단일 테넌트이며 v2.0 엔드포인트를 사용합니다. 토큰이 테넌트에서 API용으로 발급되었고 만료되거나 변조되지 않은 경우에만 수락되도록 하려면 어떤 유효성 검사를 구현해야 합니까? 세 가지 답변을 선택하세요.
정답 선택
옵션을 탭하여 정답을 확인하세요.
정답: aud 클레임이 API의 Application ID URI(예: api://`<app-id-guid>`)와 일치하는지 확인하고 다른 대상이 있는 토큰은 거부합니다., https://login.microsoftonline.com/`<tenant-id>`/v2.0/.well-known/openid-configuration에서 OpenID Connect 메타데이터를 검색하고 jwks_uri를 사용하여 키 ID(kid)로 토큰 서명의 유효성을 검사합니다., exp가 지난 토큰을 거부하고 작은 클럭 스큐(예: 5분)를 허용하여 토큰 수명을 적용합니다..
이것이 정답인 이유
주어진 시나리오에서 단일 테넌트 v2.0 엔드포인트 API에 대한 JWT 토큰의 유효성을 검사하려면 세 가지 핵심 검증이 필요합니다. 1. aud 클레임 확인: aud (audience) 클레임은 토큰이 의도된 수신자를 나타냅니다. API의 Application ID URI와 일치하는지 확인해야 합니다. 이는 토큰이 해당 특정 API용으로 발급되었음을 보장하여 다른 애플리케이션용으로 발급된 토큰이 오용되는 것을 방지합니다. 2. 서명 유효성 검사: 토큰의 무결성과 발급자를 확인하려면 서명을 검증해야 합니다. 이는 OpenID Connect 메타데이터 엔드포인트(예: https://login.microsoftonline.com/<tenant-id/v2.0/.well-known/openid-configuration)에서 공개 키를 검색하여 수행됩니다. jwksuri를 사용하여 키 ID(kid)로 토큰 서명의 유효성을 검사하면 토큰이 변조되지 않았고 신뢰할 수 있는 발급자가 발급했음을 확인할 수 있습니다. 3. exp 클레임 확인: exp (expiration time) 클레임은 토큰이 더 이상 유효하지 않은 시간을 지정합니다. 만료된 토큰을 거부하고 작은 클럭 스큐(예: 5분)를 허용하여 토큰 수명을 적용해야 합니다. 이는 재생 공격을 방지하고 토큰이 의도된 기간 동안만 사용되도록 합니다. "서명이 확인되면 모든 테넌트용으로 발급된 토큰을 유효한 것으로 처리합니다. v2.0 토큰의 경우 발급자 유효성 검사는 선택 사항이기 때문입니다."는 잘못된 설명입니다. 단일 테넌트 시나리오에서는 토큰이 올바른 테넌트에서 발급되었는지 확인하기 위해 발급자(issuer) 유효성 검사가 필수적입니다. v2.0 엔드포인트에서도 발급자 유효성 검사는 보안을 위해 중요합니다.
끝없는 정답 찾기 없이 시험 합격
이 시험에 대한 모든 검증된 문제와 설명을 한곳에서 얻고, 준비 시간을 몇 시간 절약하세요. 1,000개 이상의 자격증 · 20개 이상의 언어 · 무료로 시작.
더 빠르게 시험 합격 → 카드 필요 없음