다음을 통해 공유


포함된 애플리케이션 문제 해결

이 문서에서는 Power BI에서 콘텐츠를 포함할 때 발생할 수 있는 몇 가지 일반적인 문제에 대해 설명합니다.

문제 해결 도구

Fiddler 추적

Fiddler HTTP 트래픽을 모니터링하는 Telerik의 무료 도구입니다. 클라이언트 컴퓨터에서 Power BI API를 사용하여 트래픽을 볼 수 있습니다. 이 도구는 오류 및 기타 관련 정보를 표시할 수 있습니다.

Power BI API HTTP 트래픽을 보여주는 Fiddler 도구 출력 창의 스크린샷

프런트 엔드 디버깅을 위한 브라우저의 F12

F12 키는 브라우저 내에서 개발자 창을 시작합니다. 이 도구를 사용하면 네트워크 트래픽을 살펴보고 다른 중요한 정보를 볼 수 있습니다.

네트워크 트래픽을 보여주는 웹 브라우저 개발자 창의 네트워크 탭 스크린샷

Power BI 응답에서 오류 세부 정보 추출

이 코드 조각은 HTTP 예외에서 오류 세부 정보를 추출하는 방법을 보여줍니다.

public static string GetExceptionText(this HttpOperationException exc)
{
    var errorText = string.Format("Request: {0}\r\nStatus: {1} ({2})\r\nResponse: {3}",
    exc.Request.Content, exc.Response.StatusCode, (int)exc.Response.StatusCode, exc.Response.Content);
    if (exc.Response.Headers.ContainsKey("RequestId"))
    {
        var requestId = exc.Response.Headers["RequestId"].FirstOrDefault();
        errorText += string.Format("\r\nRequestId: {0}", requestId);
    }

    return errorText;
}

요청 ID(및 문제 해결을 위한 오류 세부 정보)를 로깅하는 것이 좋습니다. Microsoft 지원에 접근할 때 요청 ID를 제공합니다.

앱 등록

앱 등록 실패

Azure Portal 또는 Power BI 앱 등록 페이지 내의 오류 메시지는 앱을 등록할 수 있는 충분한 권한이 없는 경우 사용자에게 알립니다. 애플리케이션을 등록하려면 Microsoft Entra 테넌트에서 관리자여야 합니다. 그렇지 않으면 관리자가 아닌 사용자에 대해 애플리케이션 등록을 사용하도록 설정해야 합니다.

새 앱을 등록할 때 Power BI 서비스가 Azure Portal에 표시되지 않음

하나 이상의 사용자가 Power BI에 등록해야 합니다. API 목록에 나열된 Power BI 서비스 표시되지 않으면 Power BI에 등록한 사용자가 없습니다.

애플리케이션 개체 ID와 보안 주체 개체 ID의 차이점은 무엇인가요?

Microsoft Entra 앱을 등록할 때, 두 개의 매개 변수인 개체 ID가 있습니다. 이 섹션에서는 각 매개 변수의 목적과 매개 변수를 가져오는 방법을 설명합니다.

애플리케이션 개체 ID

애플리케이션 개체 ID(단순히 개체 ID라고도 함)는 Microsoft Entra 애플리케이션 개체의 고유 ID입니다.

애플리케이션 개체 ID를 가져오려면 Microsoft Entra 앱으로 이동하여 개요복사합니다.

Microsoft Entra 애플리케이션의 개요 블레이드에 개체 ID를 표시하는 Azure Portal 창의 스크린샷

주요 개체 ID

개체 ID라고도 하는 주체 개체 ID는 Microsoft Entra 애플리케이션과 연결된 서비스 주체 개체 고유 ID입니다.

주 개체 ID를 가져오려면 Microsoft Entra 앱으로 이동하고 개요로컬 디렉터리 관리되는 애플리케이션에서 앱 링크를 선택합니다.

Azure 포털 창의 스크린샷으로, Microsoft Entra 애플리케이션의 개요 블레이드에서 '로컬 디렉토리의 관리 애플리케이션' 옵션을 보여줍니다.

속성 섹션에서 개체 ID복사합니다.

Microsoft Entra 애플리케이션의 개요 블레이드 속성 섹션에 있는 주체 개체 ID를 보여주는 Azure 포털 창의 스크린샷

인증

AADSTS70002 또는 AADSTS50053 인증에 실패했습니다.

(AADSTS70002: 자격 증명의 유효성을 검사하는 동안 오류가 발생했습니다. AADSTS50053: 잘못된 사용자 ID 또는 암호로 너무 여러 번 로그인하려고 했습니다)

Power BI Embedded 및 Microsoft Entra 직접 인증을 사용하는 경우 직접 인증이 사용되지 않으므로 로그인하려고 할 때 이전 메시지와 같은 메시지가 표시될 수 있습니다.

조직으로 범위가 지정된 Microsoft Entra 정책 또는 서비스 주체사용하여 직접 인증을 다시 설정할 수 있습니다.

앱별로만 이 정책을 사용하도록 설정하는 것이 좋습니다.

이 정책을 만들려면 정책을 만들고 할당하는 디렉터리에 대한 전역 관리자 있어야 합니다. 다음은 정책을 만들고 이 애플리케이션에 대한 SP에 할당하기 위한 샘플 스크립트입니다.

  1. Microsoft Graph PowerShell SDK 설치합니다.

  2. 다음 PowerShell 명령을 한 줄씩 실행합니다(변수 $sp 결과적으로 둘 이상의 애플리케이션이 없는지 확인).

    Connect-MgGraph -Scopes "Directory.Read.All","Policy.ReadWrite.ApplicationConfiguration"
    
    $sp = Get-MgServicePrincipal -Filter "DisplayName eq 'Name_Of_Application'"
    
    $policy = New-MgBetaPolicyActivityBasedTimeoutPolicy -Definition @("{`"AllowCloudPasswordValidation`":true}") `
       -DisplayName EnableDirectAuth -IsOrganizationDefault:$false
    
    $params = @{
       "@odata.id" = "https://graph.microsoft.com/v1.0/policies/claimsMappingPolicies/$policy.Id"
    }
    New-MgBetaServicePrincipalClaimMappingPolicyByRef -ServicePrincipalId $sp.Id `
       -BodyParameter $params
    

정책을 할당한 후 테스트하기 전에 전파를 위해 약 15-20초 정도 기다립니다.

유효 ID를 제공할 때 토큰 생성 실패

GenerateToken는 제공된 유효 신원으로 인해 몇 가지 다른 이유로 실패할 수 있습니다.

  • 의미 체계 모델은 효과적인 ID를 지원하지 않습니다.
  • 사용자 이름이 제공되지 않았습니다.
  • 역할이 제공되지 않았습니다.
  • DatasetId 제공되지 않았습니다.
  • 사용자에게 올바른 권한이 없습니다.

문제를 확인하려면 다음 단계를 수행합니다.

  • 실행하여 데이터 세트가져오기. 속성이 IsEffectiveIdentityRequired true인가요?
  • EffectiveIdentity에 대한 사용자 이름이 필요합니다.
  • IsEffectiveIdentityRolesRequired이 참이면 역할이 필요합니다.
  • DatasetId는 모든 EffectiveIdentity에 필요합니다.
  • Analysis Services의 경우 마스터 사용자는 게이트웨이 관리자여야 합니다.

AADSTS90094: 권한 부여에는 관리자 권한이 필요합니다.

증상:

관리자가 아닌 사용자가 동의를 부여하는 동안 처음으로 애플리케이션에 로그인하려고 하면 다음 오류 중 하나가 발생합니다.

  •   ConsentTest needs permission to access resources in your organization that only an admin can grant. Ask an admin to grant permission to this app before you can use it.
    
  •   AADSTS90094: The grant requires admin permission.
    

    동의 테스트 권한 오류를 보여주는 Azure Portal 창 로그인 대화 상자의 스크린샷

관리자 사용자는 로그인하고 동의를 성공적으로 부여할 수 있습니다.

근본 원인:

테넌트에 대한 사용자 동의를 사용할 수 없습니다.

몇 가지 수정이 가능합니다.

  • 전체 테넌트(모든 사용자, 모든 애플리케이션)에 대한 사용자 동의를 사용하도록 설정합니다.
  1. Azure 포털에서 Microsoft Entra ID>사용자 및 그룹>사용자 설정로 이동합니다.
  2. '사용자가 회사 데이터를 대신 액세스할 수 있는 앱에 동의할 수 있음' 설정을 활성화하고 변경 사항을 저장하십시오.

Azure Portal의 스크린샷

  • 관리자는 전체 테넌트 또는 특정 사용자에 대해 애플리케이션에 권한을 부여할 수 있습니다.

CS1061 오류

다음 오류가 발생하는 경우 Microsoft.IdentityModel.Clients.ActiveDirectory 다운로드합니다.

'AuthenticationContext' does not contain a definition for 'AcquireToken' and no accessible 'AcquireToken' accepting a first argument of type 'AuthenticationContext' could be found (are you missing a using directive or an assembly reference?)

다른 테넌트에 대한 Microsoft Entra 토큰(게스트 사용자)

Microsoft Entra 게스트 사용자가 콘텐츠에 액세스할 수 있도록 조직 경우 authorityUri 매개 변수에 테넌트 ID를 지정해야 합니다.

  • 조직의 테넌트에서 인증하기 위한 URL:

    https://login.microsoftonline.com/common/v2.0

  • 게스트 Microsoft Entra 사용자를 인증하기 위한 URL:

    https://login.microsoftonline.com/<tenant ID>

테넌트 ID를 찾으려면 Microsoft Entra 테넌트 ID 및 기본 도메인 이름찾기의 지침을 사용할 수 있습니다.

자세한 내용은 애플리케이션 다중 테넌트만들기를 참조하세요.

데이터 원본

ISV는 동일한 데이터 원본에 대해 다른 자격 증명을 사용하려고 합니다.

데이터 원본에는 하나의 마스터 사용자에 대한 단일 자격 증명 집합이 있을 수 있습니다. 다른 자격 증명을 사용해야 하는 경우 더 많은 마스터 사용자를 만듭니다. 그런 다음 각 마스터 사용자의 컨텍스트에 다른 자격 증명을 할당하고 해당 사용자의 Microsoft Entra 토큰을 사용하여 포함합니다.

IError 개체를 사용하여 포함된 애플리케이션 문제 해결

JavaScript SDK 오류 이벤트에서 반환된 IError 개체를 사용하여 애플리케이션을 디버그하고 오류의 원인을 더 잘 이해할 수 있습니다.

IError 개체를 가져온 후 사용 중인 embed 형식에 맞는 적절한 일반적인 오류 테이블을 확인해야 합니다. IError 속성 테이블의 속성과 비교하고 실패의 가능한 이유를 찾습니다.

Power BI 사용자에 대한 임베딩 시 발생하는 일반적인 오류

메시지 자세한 메시지 오류 코드 가능한 이유
토큰 만료 액세스 토큰이 만료되어 새 액세스 토큰으로 다시 제출 403 만료된 토큰
PowerBI 엔티티를 찾을 수 없음 보고서 가져오기 실패 404
  • 잘못된 보고서 ID
  • 보고서가 없습니다.
  • 잘못된 매개 변수 powerbiToken 매개 변수가 지정되지 않음 해당 없음
  • 액세스 토큰이 제공되지 않음
  • 보고서 ID가 제공되지 않음
  • 보고서 로드 실패 초기화 실패 - 클러스터를 확인할 수 없습니다. 403
  • 잘못된 액세스 토큰
  • 포함 형식이 토큰 형식과 일치하지 않음
  • PowerBINotAuthorizedException (PowerBI 권한 부족 예외) 보고서 가져오기 실패 401
  • 잘못된 그룹 ID
  • 권한 없는 그룹
  • 토큰 만료 액세스 토큰이 만료되었습니다. 새 액세스 토큰을 사용하여 다시 제출합니다. 제목이 인 시각적 개체를 포함한 보고서를 렌더링할 수 없습니다. 해당 없음
  • 데이터 쿼리
  • 만료된 토큰
  • OpenConnectionError 시각 자료를 표시할 수 없습니다. 시각적 개체 제목인 보고서 시각적 개체를 렌더링할 수 없습니다. 해당 사항 없음 용량과 관련된 보고서가 세션에서 열려 있는 동안 용량이 일시 중지되거나 삭제됨
    탐색 컨테이너_모델 로드 실패_기본 세부사항 이 보고서와 연결된 모델 스키마를 로드할 수 없습니다. 서버에 대한 연결이 있는지 확인하고 다시 시도합니다. N/A
  • 용량 일시 중지됨
  • 용량 삭제됨
  • Power BI가 아닌 사용자에 대한 포함 시 일반적인 오류(포함 토큰 사용)

    메시지 자세한 메시지 오류 코드 가능한 이유
    토큰만료 액세스 토큰이 만료되어 새 액세스 토큰으로 다시 제출 403 만료된 토큰
    보고서 로드 실패 보고서 가져오기 실패 404
  • 잘못된 보고서 ID
  • 보고서가 없습니다.
  • 보고서 로드 실패 보고서 가져오기 실패 403 보고서 ID가 토큰과 일치하지 않음
    로드 보고서 실패 보고서 가져오기 실패 500 제공된 보고서 ID가 GUID가 아닙니다.
    잘못된 매개 변수 powerbiToken 매개 변수가 지정되지 않음 해당 없음
  • 액세스 토큰이 제공되지 않음
  • 보고서 ID가 제공되지 않음
  • 보고서 로드 실패 초기화 실패 - 클러스터를 확인할 수 없습니다. 403 잘못된 토큰 유형 또는 잘못된 토큰
    PowerBINotAuthorizedException 보고서 가져오기 실패 401 잘못된/권한이 없는 그룹 ID
    토큰 만료 액세스 토큰이 만료되었습니다. 새 액세스 토큰을 사용하여 다시 제출합니다. 시각적 개체 제목 보고서 시각적 개체를 렌더링할 수 없습니다. 해당 없음
  • 데이터 쿼리
  • 만료된 토큰
  • OpenConnectionError 화면을 표시할 수 없습니다. 시각적 개체 제목을(를) 가진 보고서 시각적 개체를 렌더링할 수 없습니다. 해당 없음 용량과 관련된 보고서가 세션에서 열려 있는 동안 용량이 일시 중지되거나 삭제됨
    ExplorationContainer_FailedToLoadModel_DefaultDetails 이 보고서와 연결된 모델 스키마를 로드할 수 없습니다. 서버에 대한 연결이 있는지 확인하고 다시 시도합니다. 해당 없음
  • 용량 일시 중지됨
  • 용량 삭제됨
  • 보고서 가져오기 실패 - 오류 401 - 자체 해결

    사용자가 데이터 시나리오를 소유하는 경우 Power BI 포털에 액세스한 후 자체적으로 해결되는 401 오류가 발생하는 경우가 있습니다. 401 오류가 발생하면 사용자 권한 업데이트에서 설명한 대로 앱에서 사용자 권한 갱신 (RefreshUser) 호출을 추가하십시오.

    의미 체계 모델

    사용자가 볼 수 있는 데이터의 일부 관리

    의미 체계 모델에 대한 읽기 권한이 있는 사용자는 전체 스키마(테이블, 열 및 측정값) 및 모든 데이터를 볼 수 있습니다. 동일한 의미 체계 모델에서는 원시 및 집계 데이터에 대한 보기 권한을 별도로 제어할 수 없습니다.

    사용자가 볼 수 있는 데이터의 일부를 관리하려면 다음 방법 중 하나를 사용합니다.

    • Power BI RLS(행 수준 보안)사용하여 행 수준 필터링.

    • OLS(개체 수준 보안) .

    • 데이터를 다른 의미 체계 모델로 구분합니다. 예를 들어 집계된 데이터만 포함하는 의미 체계 모델을 만들고 사용자에게 해당 의미 체계 모델에만 대한 액세스 권한을 부여할 수 있습니다.

    콘텐츠 렌더링

    포함된 Power BI 항목(예: 보고서 및 대시보드)의 렌더링 문제를 해결하려면 이 섹션을 검토합니다.

    Power BI 서비스에서 Power BI 항목이 로드되는지 확인합니다.

    애플리케이션 또는 포함 API문제를 배제하려면 항목이 Power BI 서비스(powerbi.com)에서 볼 수 있는지 확인합니다.

    Power BI 임베디드 분석 실습에서 Power BI 항목이 로드되는지 확인합니다.

    애플리케이션 관련 문제를 배제하려면 Power BI 임베디드 분석 플레이그라운드Power BI 항목을 볼 수 있는지 확인합니다.

    액세스 토큰이 만료되지 않았는지 확인합니다.

    보안을 위해 액세스 토큰(Microsoft Entra 토큰 또는 포함 토큰)의 수명은 제한됩니다. 액세스 토큰을 지속적으로 모니터링하고 필요한 경우 새로 고쳐야 합니다. 자세한 내용은 액세스 토큰새로 고침을 참조하세요.

    성능

    최상의 성능의 임베디드 콘텐츠를 얻으려면 Power BI 임베디드 분석 모범 사례따르는 것이 좋습니다.

    Power BI Embedded 자주 묻는 질문

    더 많은 질문? Power BI 커뮤니티 요청