이 문서에서는 사용자 로그인 활동 또는 사용자 등록 세부 정보와 관련된 Microsoft Graph API 호출을 수행할 때 발생하는 오류에 대해 설명합니다.
증상
다음 Microsoft Graph API 호출 중 하나를 실행합니다.
GET https://graph.microsoft.com/v1.0/auditLogs/signIns
GET https://graph.microsoft.com/v1.0/users?$select=displayName,userPrincipalName,signInActivity
GET https://graph.microsoft.com/v1.0/reports/UserRegistrationDetails
호출을 실행한 후 다음 텍스트와 유사한 오류 응답을 받습니다.
'error': {
'code': 'Authentication\_RequestFromNonPremiumTenantOrB2CTenant',
'message': 'Neither tenant is B2C or tenant doesn't have premium license',
'innerError': {
'date': '2021-03-04T07:53:51',
'request-id': 'a0a074e6-xxx-c511669fa420',
'client-request-id': 'a0a074e6-xxx-c511669fa420'
}
}
해결 방법
시나리오 1: 사용자 로그인 활동 쿼리
- 대상 테넌트에 Entra ID Premium P1 또는 P2 라이선스가 있는지 확인합니다. Azure Portal에서 Microsoft Entra ID로 이동하여 개요를 선택한 다음, 라이선스 값을 확인합니다. 자세한 내용은 Microsoft Entra ID P1 또는 P2 버전 등록을 참조하세요.
- Microsoft Graph 액세스 토큰에
AuditLog.Read.All
및Directory.Read.All
권한이 부여되었는지 확인합니다.
시나리오 2: 자격 증명 사용자 등록 세부 정보 쿼리
- 대상 테넌트에 Entra ID Premium P1 또는 P2 라이선스가 있는지 확인합니다.
- Microsoft Graph 액세스 토큰에
Reports.Read.All
권한이 부여되었는지 확인합니다. - 응용 프로그램의 인증 사용자 또는 서비스 주체가 다음과 같은 필수 관리 역할 중 하나에 속하는지 확인합니다.
- 보고서 뷰어
- 보안 판독기
- 보안 관리자
- 글로벌 독자
- 글로벌 관리자
추가 정보
AuditLog.Read.All 권한만 사용하여 응용 프로그램을 구성한 경우 이 오류가 간헐적으로 발생할 수 있습니다. 아직 캐시되지 않은 경우 테넌트 라이선스 정보를 검색하려면 Directory.Read.All 권한이 필요하기 때문에 이는 예상되는 동작입니다. 이 오류를 방지하려면 두 권한이 모두 포함되어 있는지 확인합니다.