Power BI Embedded에서 Power BI 서비스로 마이그레이션하고 앱에서 포함을 위해 고급 기능을 활용하는 방법을 알아봅니다.

Microsoft는 최근에 사용자의 콘텐츠 액세스, 공유 및 배포 방법에 대한 유연성을 높여주는 새로운 용량 기반 라이선스 모델인 Power BI 프리미엄을 발표했습니다. 또한, 이 제품은 Power BI 서비스에 향상된 확장성 및 성능을 제공합니다.

Power BI 프리미엄의 도입으로, Power BI Embedded와 Power BI 서비스를 수렴하여 Power BI 콘텐츠가 앱에서 포함되는 방식을 발전시켜 나갈 것입니다. 즉, 콘텐츠 포함 시 단일 API 인터페이스, 일관된 성능은 물론, 대시보드, 게이트웨이 및 앱 작업 영역 등의 최신 Power BI 기능을 이용할 수 있습니다. 더 나아가 Power BI Desktop을 시작하고 일반적으로 2017년 2분기 후반부터 지원될 예정인 Power BI 프리미엄을 통해 배포를 진행할 수 있습니다.

현재의 Power BI Embedded 서비스는 수렴 제품의 일반 공급에 이어 한정된 기간에 계속 지원합니다. 기업계약 고객은 기존 계약이 만료될 때까지 액세스할 수 있으며, Direct 또는 CSP 채널을 통해 Power BI Embedded를 획득한 고객은 Power BI 프리미엄의 일반 공급 후 1년 동안 액세스를 누릴 수 있습니다. 이 문서는 Azure 서비스에서 Power BI 서비스로 마이그레이션에 대한 일부 지침과 응용 프로그램에서 변경이 예상되는 사항을 제공합니다.

중요:

마이그레이션은 Power BI 서비스에 종속되어 실행되지만, 임베드 토큰 사용 시 응용 프로그램 사용자의 Power BI에 대한 종속은 없습니다. 응용 프로그램에 임베드된 콘텐츠를 보기 위해 Power BI에 가입할 필요는 없습니다.

마이그레이션 준비

Power BI Embedded Azure에서 Power BI 서비스로 마이그레이션할 준비를 하기 위해 해야 할 몇 가지 사항이 있습니다. Power BI Pro 라이선스가 있는 사용자와 함께, 사용 가능한 테넌트가 필요합니다.

  1. Azure Active Directory(Azure AD) 테넌트에 대한 액세스 권한이 있는지 확인하세요.

    조직에는 현재 Power BI를 사용하고 있는 사용 가능한 테넌트가 이미 있을 수 있습니다. 사용할 수 없는 경우에는 새 테넌트를 만들어야 하며, 조직에 기존 테넌트를 사용할 수 있습니다. 자세한 내용은 Azure Active Directory 테넌트 만들기 또는 Azure Active Directory 테넌트를 가져오는 방법을 참조하세요.

  2. 응용 프로그램 "마스터" 계정에 Power BI Pro 라이선스가 있는지 확인합니다.

Azure AD 내 계정

다음 계정은 테넌트 내에 있어야 합니다.

참고:

이러한 계정은 앱 작업 영역을 사용하고 온-프레미스 데이터 게이트웨이 등의 Pro 기능을 활용하는 콘텐츠를 만들려면 Power BI Pro 라이선스가 있어야 합니다.

  1. 테넌트 관리 사용자.

    이 사용자는 포함 목적으로 만든 모든 앱 작업 영역의 구성원이어야 합니다.

  2. 콘텐츠를 만드는 분석가용 계정.

    이러한 사용자는 필요에 따라 앱 작업 영역에 할당되어야 합니다.

  3. 응용 프로그램 마스터 사용자 계정.

    응용 프로그램 백 엔드는 이 계정에 대한 자격 증명을 저장한 후 Power BI API에 사용할 Azure AD 토큰을 획득하기 위해 사용합니다. 이 계정은 응용 프로그램에 대한 임베드 토큰을 생성하는 데 사용됩니다. 이 계정은 포함용으로 만든 앱 작업 영역의 관리자여야 합니다.

    참고:

    조직에서 포함의 목적으로 사용할 일반 사용자 계정입니다.

앱 등록 및 사용 권한

Azure AD 내에서 응용 프로그램을 등록하고 일부 사용 권한을 부여해야 합니다.

응용 프로그램 등록

참고:

응용 프로그램 마스터 계정을 사용하여 응용 프로그램을 등록해야 합니다.

Azure AD 테넌트에 네이티브 Azure 응용 프로그램으로 응용 프로그램을 등록해야 합니다. Power BI 앱 등록 도구, 또는 Azure AD 포털에서 바로 응용 프로그램을 등록할 수 있습니다. 자세한 내용은 클라이언트 앱 등록을 참조하세요. 앱 형식에서 네이티브 앱을 선택해야 합니다.

응용 프로그램에 권한 적용

응용 프로그램 등록 페이지에 제공된 것 외에도 응용 프로그램에 추가 권한을 사용하도록 설정해야 합니다. Azure AD 포털을 통해, 또는 프로그래밍 방식으로 수행할 수 있습니다.

참고:

응용 프로그램 마스터 계정을 사용하여 이러한 단계를 수행하는 것이 좋습니다. 관리 권한 없이 Azure Portal 내에서 앱을 수정할 수 있어야 합니다. 앱의 소유자입니다.

Azure AD 포털 사용

  1. Azure Portal 내에서 앱 등록 블레이드로 이동한 후 포함에 사용할 앱을 선택합니다.

  2. API 액세스에서 필요한 권한을 선택합니다.

  3. Windows Azure Active Directory를 선택한 다음 로그인한 사용자 권한으로 디렉터리에 액세스가 선택되어 있는지 확인합니다. 저장을 선택합니다.

  4. 필요한 권한에서 Power BI 서비스(Power BI)를 선택합니다.

  5. 위임된 권한에서 모든 권한을 선택합니다. 선택 항목을 저장하려면 하나씩 선택해야 합니다. 완료되면 저장을 선택합니다.

  6. 필요한 권한에서 사용 권한 부여를 선택합니다.

    이렇게 하면 테넌트/조직의 모든 사용자를 대신하여 앱 권한이 부여됩니다. 이를 원하지 않는다면 최소한 1회 이상 사용자의 앱 ID를 사용하여 Azure AD에 로그인해야 합니다.

프로그래밍 방식으로 권한 적용

  1. 테넌트 내에서 기존 서비스 주체(사용자)를 가져와야 합니다. 이 작업을 수행하는 방법에 대한 자세한 내용은 Get servicePrincipal을 참조하세요.

    참고:

    {id} 없이 Get servicePrincipal api를 호출하면 테넌트 내의 모든 서비스 주체를 가져오게 됩니다.

  2. appId 속성으로 앱 클라이언트 ID가 있는 서비스 주체를 확인합니다.

  3. 앱에 대해 누락된 경우 새 서비스 계획을 만듭니다.

    Post https://graph.microsoft.com/beta/servicePrincipals
    Authorization: Bearer ey..qw
    Content-Type: application/json
    {
    "accountEnabled" : true,
    "appId" : "{App_Client_ID}",
    "displayName" : "{App_DisplayName}"
    }
    
  4. PowerBI API에 앱 권한 부여

    Post https://graph.microsoft.com/beta/OAuth2PermissionGrants
    Authorization: Bearer ey..qw
    Content-Type: application/json
    { 
    "clientId":"{Service_Plan_ID}",
    "consentType":"AllPrincipals",
    "resourceId":"c78b2585-1df6-41de-95f7-dc5aeb7dc98e",
    "scope":"Dataset.ReadWrite.All Dashboard.Read.All Report.Read.All Group.Read Group.Read.All Content.Create Metadata.View_Any Dataset.Read.All Data.Alter_Any",
    "expiryTime":"2018-03-29T14:35:32.4943409+03:00",
    "startTime":"2017-03-29T14:35:32.4933413+03:00"
    }
    
  5. AAD에 앱 권한 부여

    Post https://graph.microsoft.com/beta/OAuth2PermissionGrants
    Authorization: Bearer ey..qw
    Content-Type: application/json
    { 
    "clientId":"{Service_Plan_ID}",
    "consentType":"AllPrincipals",
    "resourceId":"61e57743-d5cf-41ba-bd1a-2b381390a3f1",
    "scope":"User.Read Directory.AccessAsUser.All",
    "expiryTime":"2018-03-29T14:35:32.4943409+03:00",
    "startTime":"2017-03-29T14:35:32.4933413+03:00"
    }
    

앱 작업 영역 만들기(필수)

응용 프로그램에서 여러 고객에게 서비스를 제공하고 있을 경우 향상된 격리 성능을 제공하기 위해 앱 작업 영역을 활용할 수 있습니다. 대시보드와 보고서는 고객 간에 격리됩니다. 그런 다음, 앱 작업 영역당 하나의 Power BI 계정을 사용하여 고객 간 응용 프로그램 경험을 더 격리할 수 있습니다.

중요:

포함을 활용하기 위해 개인 작업 영역을 사용할 수 없습니다.

Power BI 내에서 하나의 응용 프로그램 작업 영역을 만들려면 Pro 라이센스가 있는 사용자가 필요합니다. 응용 프로그램 작업 영역을 만드는 Power BI 사용자는 기본적으로 해당 작업 영역의 관리자가 됩니다.

참고:

응용 프로그램 마스터 계정은 작업 영역의 관리자여야 합니다.

보고서 만들기 및 업로드

Power BI Desktop을 사용하여 보고서 및 데이터 집합을 만든 다음, 이러한 보고서를 Power BI 작업 영역으로 게시할 수 있습니다. 응용 프로그램이 여러 고객에게 서비스를 제공하고 있는 경우 더 나은 격리 성능을 제공하려면 보고서를 웹 작업 영역에 게시하는 것이 좋습니다.

참고:

이 단계를 수행하여 Power BI Embedded Azure 서비스에서 Power BI 서비스로 콘텐츠를 이동할 수 있도록 가져오기/내보내기 도구를 지원할 예정입니다. 이 도구는 곧 제공됩니다.

응용 프로그램 다시 빌드

  1. powerbi.com 내에서 보고서 위치와 Power BI REST API를 사용하려면 응용 프로그램을 수정해야 합니다.

  2. 응용 프로그램에 대한 마스터 계정을 사용하여 AuthN/AuthZ 인증을 다시 빌드하세요. 이 사용자가 다른 사용자를 대신하여 작업할 수 있도록 임베드 토큰 사용을 활용할 수 있습니다.

    참고:

    임베드 토큰에 관한 자세한 내용은 곧 제공될 예정입니다.

  3. 응용 프로그램에 powerbi.com에서 보고서를 포함 합니다.

사용자를 Power BI 사용자로 매핑

응용 프로그램 내에서 관리하는 사용자를 응용 프로그램의 목적에 맞게 마스터 Power BI 자격 증명으로 매핑합니다. 이 Power BI 마스터 계정에 대한 자격 증명은 응용 프로그램 내에 저장되어 임베드 토큰을 만드는 데 사용됩니다.

프로덕션 준비가 되면 해야 할 일

프로덕션으로 전환할 준비가 되면 다음 사항을 수행해야 합니다.

  1. 필요에 맞는 용량을 구입합니다. 필요한 용량 크기를 추정할 수 있는 계산기가 있습니다.

  2. Power BI 내 관리 포털로 이동한 후 용량 관리 섹션에서 작업 영역을 구매한 용량으로 할당합니다. 이 작업은 용량 할당 권한이 있는 관리자 계정 또는 사용자가 수행할 수 있습니다.

    앱 작업 영역을 사용하여 콘텐츠를 저장할 경우 앱 작업 영역을 편집한 후 고급 아래의 프리미엄 용량으로 할당할 수 있습니다.

  3. 프로덕션에 업데이트된 응용 프로그램을 배포하고 Power BI 서비스에서 보고서 포함을 시작합니다.

마이그레이션 후

Azure 내에서 몇 가지 정리를 수행해야 합니다.

  • Power BI Embedded의 Azure 서비스 내에 있는 배포된 솔루션에서 모든 작업 영역을 제거합니다.
  • Azure 내에 있는 모든 작업 영역 컬렉션을 삭제합니다.

다음 단계

Power BI에 포함
Power BI 프리미엄 알림
JavaScript API Git 리포지토리
Power BI C# Git 리포지토리
JavaScript 포함 샘플
Power BI 프리미엄 백서

궁금한 점이 더 있나요? Power BI 커뮤니티에 질문합니다.