В этой статье приведены сведения о переносе содержимого из Power BI Embedded в службу Power BI и его внедрении в приложения с помощью расширенных функций.

Недавно корпорация Майкрософт объявила о выпуске Power BI Premium — новой модели лицензирования на основе емкости, которая повышает возможности получения доступа к содержимому, а также его совместного использования и распространения. Это предложение также обеспечивает дополнительные возможности масштабирования и повышает производительность службы Power BI.

С момента объявления выпуска Power BI Premium началось объединение служб Power BI Embedded и Power BI в одно решение, что позволит улучшить возможности внедрения содержимого Power BI в приложения. Это означает, что у вас будет одна область API, одинаковый набор возможностей и доступ к последним функциям Power BI, например информационным панелям, шлюзам и рабочим областям приложений, которые можно использовать при внедрении содержимого. В будущем вы сможете начать работу с Power BI Desktop, а затем обновить ее до решения Power BI Premium, общедоступная версия которого выйдет в конце второго квартала 2017 года.

Текущая служба Power BI Embedded будет доступна в течение ограниченного времени. Затем выйдет общедоступная версия объединенного решения. Пользователи с Соглашением Enterprise будут иметь доступ к Power BI Embedded до окончания срока действия этого соглашения, а пользователи, получившие эту службу через каналы CSP или прямые каналы, смогут использовать ее в течение одного года с момента выпуска общедоступной версии Power BI Premium. В этой статье приведены некоторые рекомендации по переносу из Azure в службу Power BI, а также сведения о возможных изменениях в приложении.

Важно!

Процесс переноса зависит от службы Power BI. Но при использовании токена внедрения эта зависимость устраняется. Чтобы просмотреть содержимое приложения, пользователям не нужно регистрироваться в службе Power BI.

Подготовка к переносу

Перед переносом содержимого из службы Power BI Embedded в 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

В клиенте должны использоваться следующие учетные записи.

Примечание.

Этим учетным записям потребуются лицензии Power BI Pro. Это позволит использовать рабочие области приложений и создавать содержимое, использующее функции в рамках этой лицензии, такие как локальный шлюз данных.

  1. Учетная запись администратора клиента.

    Мы советуем, чтобы этот пользователь был участником всех рабочих областей приложений, созданных для внедрения.

  2. Учетные записи аналитиков, создающих содержимое.

    При необходимости этих пользователей следует добавить в рабочие области приложений.

  3. Учетная запись главного пользователя приложения.

    Учетные данные этой учетной записи хранятся в серверной части приложений. Эта учетная запись используется для приобретения токена Azure AD, используемого в API-интерфейсах Power BI, и создания токена внедрения приложения. Эта учетная запись должна быть учетной записью администратора рабочих областей приложений, созданных для внедрения.

    Примечание.

    Это обычная корпоративная учетная запись пользователя, которая будет использоваться для внедрения.

Регистрация приложения и разрешения

Приложение необходимо зарегистрировать в Azure AD и предоставить ему определенные разрешения.

Регистрация приложения

Примечание.

Необходимо зарегистрировать приложение с использованием главной учетной записи приложения.

Вам нужно зарегистрировать приложение как собственное приложение Azure в клиенте Azure AD. Это можно сделать с помощью средства регистрации приложений Power BI или на портале Azure AD. Дополнительные сведения см. в статье Регистрация клиентского приложения. В качестве типа приложения выберите Native App (Собственное приложение).

Применение разрешений к приложению

Кроме разрешений, представленных на странице регистрации приложения, необходимо также включить дополнительные разрешения. Это можно сделать на портале Azure или программным способом.

Примечание.

Рекомендуется выполнить следующие действия с использованием главной учетной записи приложения. С ее помощью вы сможете изменить разрешения приложения на портале Azure без прав администратора. Это будет учетная запись владельца приложения.

Применение разрешений на портале Azure AD

  1. На портале Azure перейдите к колонке Регистрация приложений и выберите приложение, используемое для внедрения.

  2. В разделе Доступ через API выберите Необходимые разрешения.

  3. Выберите Microsoft Azure Active Directory и затем установите флажок Осуществляйте доступ к каталогу как пользователь, выполнивший вход. Нажмите кнопку Сохранить.

  4. В колонке Необходимые разрешения выберите Power BI Service (Power BI) (Служба Power BI).

  5. Установите все разрешения в разделе Делегированные разрешения. Их необходимо выбирать по одному. Это позволит сохранить настройки. После завершения щелкните Сохранить.

  6. В колонке Необходимые разрешения выберите Предоставить разрешения.

    Это позволит предоставить разрешения приложений от имени всех пользователей в организации или клиенте. Если вы не хотите этого, войдите по крайней мере один раз в Azure AD в интерактивном режиме, используя идентификатор приложения.

Применение разрешений программным способом

  1. В этом сценарии необходимо получить имеющиеся субъекты-службы (пользователи) клиента. Сведения о том, как это сделать, см. в статье Get servicePrincipal (Получение объекта servicePrincipal).

    Примечание.

    API Get servicePrincipal можно вызвать без параметра {id}. Это позволит получить все субъекты-службы в клиенте.

  2. Проверьте наличие субъекта-службы, задав в качестве значения свойства appId идентификатор клиента приложения.

  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. Предоставьте разрешение приложения на использование API-интерфейса Power BI.

    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. Предоставьте разрешение приложения на использование ADD.

    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. Если приложение обслуживает несколько клиентов, чтобы улучшить его изоляцию, мы советуем публиковать отчеты в рабочую область приложения.

Примечание.

Это можно сделать с помощью средства импорта и экспорта, которое поможет переместить содержимое из службы Azure Power BI Embedded в Power BI. Это средство будет доступно в ближайшем будущем.

Повторное создание приложения

  1. Сначала вам потребуется изменить приложение, чтобы обеспечить доступ к интерфейсам REST API Power BI и расположению отчета на сайте powerbi.com.

  2. Перестройте параметры проверки подлинности AuthN и AuthZ с помощью главной учетной записи приложения. Вы можете воспользоваться токеном внедрения, чтобы позволить этому пользователю действовать от имени других пользователей.

    Примечание.

    В скором времени мы предоставим дополнительные сведения о токене внедрения.

  3. Внедрите отчеты из powerbi.com в приложение.

Сопоставления пользователей с пользователем Power BI

Пользователей, управление которыми выполняется в приложении, необходимо сопоставить с главными учетными данными Power BI. Учетные данные этой главной учетной записи Power BI хранятся в приложении и предназначены для создания токена внедрения.

Перенос в рабочую среду

Когда вы будете готовы перенести содержимое в рабочую среду, сделайте следующее.

  1. Приобретите необходимый размер емкости. Этот размер можно оценить с помощью калькулятора, который мы предоставим позже.

  2. Перейдите на портал администрирования в Power BI и в разделе Управление емкостью присвойте рабочую область приобретенной емкости. Это можно сделать с помощью учетной записи администратора или пользователя с разрешениями на присвоение емкости.

    При использовании рабочей области приложения для хранения содержимого вы можете изменить рабочую область приложения и присвоить ей емкость Premium.

  3. Разверните обновленное приложение в рабочую среду и приступите к внедрению отчетов из службы Power BI.

Действия после переноса

После переноса необходимо сделать некоторые очистки в Azure.

  • Удалите все рабочие области развернутого решения в службе Azure Power BI Embedded.
  • Удалите все имеющиеся в Azure коллекции рабочей области.

Дальнейшие действия

Внедрение в Power BI
Объявление о выпуске Power BI Premium
Репозиторий Git JavaScript API
Репозиторий Git Power BI C#
Пример внедрения JavaScript
Техническая документация по Power BI Premium

Появились дополнительные вопросы? Попробуйте задать вопрос в сообществе Power BI.