Узнайте, как зарегистрировать приложение в Azure Active Directory (Azure AD) для использования внедренного содержимого Power BI.

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

Важно!

Для регистрации приложения Power BI вам потребуется клиент Azure Active Directory и пользователь организации. Если вы еще не зарегистрировались в Power BI как пользователь в клиенте, регистрация приложения не будет успешно завершена.

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

Регистрация с помощью средства регистрации приложений Power BI

Чтобы получить удостоверение для приложения и указать разрешения для ресурсов REST Power BI, необходимо зарегистрировать приложение в Azure Active Directory. При регистрации приложения, например консольного приложения или веб-сайта, вы получаете идентификатор, который используется приложением для идентификации себя пользователям, у которых запрашиваются разрешения.

Ниже описана процедура регистрации приложения с помощью средства регистрации приложений Power BI.

  1. Перейдите по адресу dev.powerbi.com/apps.

  2. Нажмите кнопку Sign in with your existing account (Войти по существующей учетной записи).

  3. Введите значение в поле App Name (Имя приложения).

  4. Выбор типа приложения будет зависеть от используемого типа приложения.

    • Укажите Server-side Web app (Серверное веб-приложение) для веб-приложений или интерфейсов веб-API.
    • Укажите Native app (Собственное приложение) для приложений, работающих на клиентских устройствах. *Также следует выбрать **Native app (Собственное приложение) при внедрении содержимого для клиентов независимо от фактического типа приложения. Даже если это веб-приложение.***
  5. Введите значения в полях Redirect URL (URL-адрес перенаправления) и Home Page URL (URL-адрес домашней страницы). Подойдет любой допустимый URL-адрес.

    Поле Home Page URL (URL-адрес домашней страницы) доступно только, если вы выбрали тип приложения Server-side Web app (Серверное веб-приложение).

    Для примеров внедрения для клиентов и integrate-dashboard-web-app URL-адрес перенаправления будет следующим: http://localhost:13526/redirect. Для примеров отчета и плитки URL-адрес перенаправления будет следующим: http://localhost:13526/.

  6. Выберите интерфейсы API, к которым у этого приложения будет доступ. Дополнительные сведения о разрешениях доступа Power BI см. в статье Разрешения Power BI.

  7. Нажмите кнопку Register App (Зарегистрировать приложение).

    Вам будет предоставлен идентификатор клиента. Если вы выбрали Server-side Web app (Серверное веб-приложение), то вы также получите секрет клиента. При необходимости идентификатор клиента можно будет получить на портале Azure позднее. Если секрет клиента потерян, потребуется создать новый на портале Azure.

Теперь зарегистрированное приложение можно использовать как часть настраиваемого приложения для взаимодействия со службой Power BI.

Важно!

При внедрении содержимого для клиентов вам нужно настроить дополнительные разрешения на портале Azure. Дополнительные сведения см. в разделе Применение разрешений к приложению.

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

Зарегистрировать приложение можно также непосредственно на портале Azure. Чтобы зарегистрировать приложение, выполните следующее.

  1. Примите условия использования API Microsoft Power BI.

  2. Войдите на портал Azure.

  3. Выберите клиент Azure AD, выбрав свою учетную запись в правом верхнем углу страницы.

  4. На левой панели навигации выберите Больше служб, в разделе Безопасность и удостоверения выберите Регистрация приложений и щелкните Регистрация нового приложения.

  5. Следуя инструкциям на экране, создайте приложение.

    • Для веб-приложений укажите URL-адрес входа, который является базовым URL-адресом приложения, используемым пользователями для входа, например http://localhost:13526.
    • Для собственных приложений укажите универсальный код ресурса (URI) перенаправления, который Azure AD использует для возвращения ответов для токенов. Введите значение, относящееся к вашему приложению, например http://myapplication/redirect

Дополнительные сведения о регистрации приложений в Azure Active Directory см. в разделе Интеграция приложений с Azure Active Directory.

Как получить идентификатор клиента

При регистрации приложения вы получаете идентификатор клиента. Идентификатор клиента используется приложением для идентификации себя пользователям, у которых запрашиваются разрешения.

Вот как можно получить идентификатор клиента:

  1. Войдите на портал Azure.

  2. Выберите клиент Azure AD, выбрав свою учетную запись в правом верхнем углу страницы.

  3. На левой панели навигации выберите Больше служб и щелкните Регистрация приложений.

  4. Выберите приложение, для которого необходимо получить идентификатор клиента.

  5. В списке в качестве GUID отобразится идентификатор приложения. Это идентификатор клиента для приложения.

    Идентификатор клиента, указанный как идентификатор приложения в окне регистрации приложения

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

Важно!

Этот раздел относится только к приложениям, которые внедряют содержимое для организации.

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

Вам нужно войти в систему с помощью главной учетной записи, используемой для внедрения, или учетной записи глобального администратора.

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

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

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

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

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

    Примечание.

    Если вы создали приложение непосредственно на портале Azure AD, служба Power BI (Power BI) может отсутствовать. Если это не так, выберите + Добавить, затем щелкните 1 Select and API (1. Выберите API). Выберите Служба Power BI из списка API и щелкните Выбрать. Если служба Power BI (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.

    Значение для consentType зависит от пользователя, выполняющего запрос. Можно указать значение AllPrincipals или Principal. Значение AllPrincipals может использовать только администратор для предоставления разрешений всем пользователям. Значение Principal используется для предоставления разрешений определенному пользователю.

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

    Если вы используете существующий клиент и не собираетесь предоставлять разрешения от имени всех пользователей клиента, можно предоставить разрешения определенному пользователю, заменив значение для contentType на Principal.

    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"
    }
    

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

После регистрации вашего приложения в Azure AD необходимо выполнить проверку подлинности для пользователей в приложении. Дополнительные сведения см. в статье Проверка подлинности для пользователей и получение маркера доступа Azure AD для приложения Power BI.

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