Регистрация приложения Azure AD для внедрения содержимого Power BIRegister an Azure AD app to embed Power BI content

Узнайте, как зарегистрировать приложение в Azure Active Directory (Azure AD) для использования внедренного содержимого Power BI.Learn how to register an application within Azure Active Directory (Azure AD) for use with embedding Power BI content.

Чтобы предоставить приложению доступ к интерфейсам REST API Power BI, его необходимо зарегистрировать в Azure AD.You register your application with Azure AD to allow your application access to the Power BI REST APIs. Это позволит установить удостоверение для приложения и указать разрешения на ресурсы REST Power BI.This will allow you to establish an identity for your application and specify permissions to Power BI REST resources.

Важно!

Для регистрации приложения Power BI вам потребуется клиент Azure Active Directory и пользователь организации.Before you register a Power BI app you need an Azure Active Directory tenant and an organizational user. Если вы еще не зарегистрировались в Power BI как пользователь в клиенте, регистрация приложения не будет успешно завершена.If you haven't signed up for Power BI with a user in your tenant, the app registration will not complete successfully.

Существует два способа регистрации приложения.There are two ways to register your application. Это можно сделать с помощью средства регистрации приложений Power BI или портала Azure.The first is with the Power BI App Registration Tool or you can do it directly within the Azure portal. Средство регистрации приложений Power BI — это наиболее простой вариант, поскольку в нем всего лишь несколько полей для заполнения.The Power BI App Registration Tool is the easiest option since there are just a few fields to fill in. Если вы хотите внести изменения в приложение, используйте портал Azure.If you want to make changes to your app, use the Azure portal.

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

Чтобы получить удостоверение для приложения и указать разрешения для ресурсов REST Power BI, необходимо зарегистрировать приложение в Azure Active Directory.You need to register your application in Azure Active Directory to establish an identity for your application and specify permissions to Power BI REST resources. При регистрации приложения, например консольного приложения или веб-сайта, вы получаете идентификатор, который используется приложением для идентификации себя пользователям, у которых запрашиваются разрешения.When you register an application, such as a console app or a web site, you receive an identifier which is used by the application to identify themselves to the users that they are requesting permissions from.

Ниже описана процедура регистрации приложения с помощью средства регистрации приложений Power BI.Here's how to register your application with the Power BI App Registration Tool:

  1. Перейдите по адресу dev.powerbi.com/apps.Go to dev.powerbi.com/apps.
  2. Нажмите кнопку Sign in with your existing account (Войти по существующей учетной записи).Select Sign in with your existing account.
  3. Введите значение в поле App Name (Имя приложения).Provide an App Name.
  4. Выбор типа приложения будет зависеть от используемого типа приложения.The App type selection will depend on the type of application you are using.

    • Укажите Server-side Web app (Серверное веб-приложение) для веб-приложений или интерфейсов веб-API.Use Server-side Web app for web apps or web APIs.
    • Укажите Native app (Собственное приложение) для приложений, работающих на клиентских устройствах.Use Native app for apps that run on client devices. Также следует выбрать *Native app (Собственное приложение) при внедрении содержимого для клиентов независимо от фактического типа приложения. Даже если это веб-приложение.You will also choose Native app if you are embedding content for your customers regardless of what the actual application is. Even for web applications.***
  5. Введите значения в полях Redirect URL (URL-адрес перенаправления) и Home Page URL (URL-адрес домашней страницы).Enter a value for Redirect URL and Home Page URL. Подойдет любой допустимый URL-адрес.Any valid URL will work.

    Поле Home Page URL (URL-адрес домашней страницы) доступно только, если вы выбрали тип приложения Server-side Web app (Серверное веб-приложение).Home Page URL is only available if you choose Server-side Web app for the applciation type.

    Для примеров внедрения для клиентов и integrate-dashboard-web-app URL-адрес перенаправления будет следующим: http://localhost:13526/redirect.For the embedding for your customers and integrate-dashboard-web-app samples, the redirect URL will be http://localhost:13526/redirect. Для примеров отчета и плитки URL-адрес перенаправления будет следующим: http://localhost:13526/.For the report and tile sample, the redirect URL will be http://localhost:13526/.

  6. Выберите интерфейсы API, к которым у этого приложения будет доступ.Choose the APIs that this application will have access to. Дополнительные сведения о разрешениях доступа Power BI см. в статье Разрешения Power BI.For more information about Power BI access permissions, see Power BI Permissions.

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

    Вам будет предоставлен идентификатор клиента.You will then be provided with a Client ID. Если вы выбрали Server-side Web app (Серверное веб-приложение), то вы также получите секрет клиента.If you selected Server-side Web app, you will also receive a Client Secret. При необходимости идентификатор клиента можно будет получить на портале Azure позднее.The Client ID can be retrieved from the Azure portal, at a later time, if needed. Если секрет клиента потерян, потребуется создать новый на портале Azure.If you lose the Client Secret, you will need to create a new one within the Azure portal.

Теперь зарегистрированное приложение можно использовать как часть настраиваемого приложения для взаимодействия со службой Power BI.You can now use the registered application as part of your custom application to interact with the Power BI service.

Важно!

При внедрении содержимого для клиентов вам нужно настроить дополнительные разрешения на портале Azure.If you are embedding content for your customers, you will need to configure additional permissions within the Azure portal. Дополнительные сведения см. в разделе Применение разрешений к приложению.For more information, see Apply permissions to your application.

Регистрация на портале AzureRegister with the Azure portal

Зарегистрировать приложение можно также непосредственно на портале Azure.Your other option for registering your application is to do so directly in the Azure portal. Чтобы зарегистрировать приложение, выполните следующее.To register your application, follow these steps.

  1. Примите условия использования API Microsoft Power BI.Accept the Microsoft Power BI API Terms.
  2. Войдите на портал Azure.Sign into the Azure portal.
  3. Выберите клиент Azure AD, выбрав свою учетную запись в правом верхнем углу страницы.Choose your Azure AD tenant by selecting your account in the top right corner of the page.
  4. На левой панели навигации выберите Больше служб, в разделе Безопасность и удостоверения выберите Регистрация приложений и щелкните Регистрация нового приложения.In the left-hand navigation pane, choose More Services, select App Registrations under Security + Identity and select New application registration.

  5. Следуя инструкциям на экране, создайте приложение.Follow the prompts and create a new application.

    • Для веб-приложений укажите URL-адрес входа, который является базовым URL-адресом приложения, используемым пользователями для входа, например http://localhost:13526.For Web Applications, provide the Sign-On URL, which is the base URL of your app, where users can sign in e.g http://localhost:13526.
    • Для собственных приложений укажите универсальный код ресурса (URI) перенаправления, который Azure AD использует для возвращения ответов для токенов.For Native Applications, provide a Redirect URI, which Azure AD uses to return token responses. Введите значение, относящееся к вашему приложению, например http://myapplication/redirectEnter a value specific to your application, .e.g http://myapplication/redirect

Дополнительные сведения о регистрации приложений в Azure Active Directory см. в разделе Интеграция приложений с Azure Active Directory.For more information about how to register applications in Azure Active Directory, see Integrating applications with Azure Active Directory

Как получить идентификатор клиентаHow to get the client id

При регистрации приложения вы получаете идентификатор клиента.When you register an application, you receive a Client ID. Идентификатор клиента используется приложением для идентификации себя пользователям, у которых запрашиваются разрешения.The Client ID is used by the application to identify themselves to the users that they are requesting permissions from.

Вот как можно получить идентификатор клиента:Here's how to get a client id:

  1. Войдите на портал Azure.Sign into the Azure portal.
  2. Выберите клиент Azure AD, выбрав свою учетную запись в правом верхнем углу страницы.Choose your Azure AD tenant by selecting your account in the top right corner of the page.
  3. На левой панели навигации выберите Больше служб и щелкните Регистрация приложений.In the left-hand navigation pane, choose More Services and select App Registrations.
  4. Выберите приложение, для которого необходимо получить идентификатор клиента.Select the application that you want to retrieve the client id for.
  5. В списке в качестве GUID отобразится идентификатор приложения.You will see Application ID listed as a GUID. Это идентификатор клиента для приложения.This is the client id for the application.

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

Применение разрешений к приложению в Azure ADApply permissions to your application within Azure AD

Важно!

Этот раздел относится только к приложениям, которые внедряют содержимое для организации.This section only applies to applications that are embedding content for your organization.

Кроме разрешений, представленных на странице регистрации приложения, необходимо также включить дополнительные разрешения.You will need to enable additional permissions to your application in addition to what was provided in app registration page. Это можно сделать на портале Azure или программным способом.You can accomplish this through the Azure AD portal, or programmatically.

Вам нужно войти в систему с помощью главной учетной записи, используемой для внедрения, или учетной записи глобального администратора.You will want to be logged in with either the master account, used for embedding, or a Global admin account.

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

  1. На портале Azure перейдите к колонке Регистрация приложений и выберите приложение, используемое для внедрения.Browse to App registrations within the Azure portal and select the app that you are using for embedding.

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

  3. Выберите Microsoft Azure Active Directory и затем установите флажок Осуществляйте доступ к каталогу как пользователь, выполнивший вход.Select Windows Azure Active Directory and then make sure Access the directory as the signed-in user is selected. Нажмите кнопку Сохранить.Select Save.

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

    Примечание

    Если вы создали приложение непосредственно на портале Azure AD, служба Power BI (Power BI) может отсутствовать.If you created the app directly in the Azure AD portal, Power BI Service (Power BI) may not be present. Если это не так, выберите + Добавить, затем щелкните 1 Select and API (1. Выберите API).If it is not, select + Add and then 1 Select and API. Выберите Служба Power BI из списка API и щелкните Выбрать.Select Power BI Service in the API list and select Select. Если служба Power BI (Power BI) недоступна в списке области Добавить, зарегистрируйте в Power BI по крайней мере одного пользователя.If Power BI Service (Power BI) is not available within + Add, sign up for Power BI with at least one user.

  5. Установите все разрешения в разделе Делегированные разрешения.Select all permissions under Delegated Permissions. Их необходимо выбирать по одному. Это позволит сохранить настройки.You will need to select them one by one in order to save the selections. После завершения щелкните Сохранить.Select Save when done.

  6. В колонке Необходимые разрешения выберите Предоставить разрешения.Within Required permissions, select Grant Permissions.

    Действие Предоставить разрешения требуется для того, чтобы в главную учетную запись не отправлялись запросы на продолжение из Azure AD.The Grant Permissions action is needed for the master account to avoid being prompted for consent by Azure AD. Если это действие выполняется для учетной записи глобального администратора, разрешения на использование этого приложения предоставляется всем пользователям в вашей организации.If the account performing this action is a Global Admin, you will grant permissions to all users within your organization for this application. Если это действие выполняется для главной учетной записи, а не для учетной записи глобального администратора, разрешения на использование этого приложения предоставляется только для главной учетной записи.If the account performing this action is the master account and is not a Global Admin, you will grant permissions only to the master account for this application.

    Предоставление разрешений в диалоговом окне необходимых разрешений

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

  1. В этом сценарии необходимо получить имеющиеся субъекты-службы (пользователи) клиента.You will need to get the existing service principals (users) within your tenant. Сведения о том, как это сделать, см. в статье Get servicePrincipal (Получение объекта servicePrincipal).For information on how to do that, see Get servicePrincipal.

    API Get servicePrincipal можно вызвать без параметра {id}. Это позволит получить все субъекты-службы в клиенте.You can call the Get servicePrincipal api without {id} and it will get you all of the service principals within the tenant.

  2. Проверьте наличие субъекта-службы, задав в качестве значения свойства appId идентификатор клиента приложения.Check for a service principal with you app client id as appId property.
  3. Создайте план службы, если он отсутствует в вашем приложении.Create a new service plan if missing for your app.

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

    Значение для consentType зависит от пользователя, выполняющего запрос.The value for consentType will depend on the user performing the request. Можно указать значение AllPrincipals или Principal.You can supply either AllPrincipals or Principal. Значение AllPrincipals может использовать только администратор для предоставления разрешений всем пользователям.AllPrincipals can only be used by an administrator to grant permission to all users. Значение Principal используется для предоставления разрешений определенному пользователю.Principal is used to grant permission to a specific user.

    Предоставление разрешений требуется для того, чтобы в главную учетную запись не отправлялись запросы на продолжение из Azure AD.The permission grant is needed for the master account to avoid being prompted for consent by Azure AD.

    Если вы используете существующий клиент и не собираетесь предоставлять разрешения от имени всех пользователей клиента, можно предоставить разрешения определенному пользователю, заменив значение для contentType на Principal.If you are using an existing tenant, and not interested in granting permissions on behalf of all tenant users, you can grant permissions to a specific user by replacing the value of contentType to 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"
    }
    

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

После регистрации вашего приложения в Azure AD необходимо выполнить проверку подлинности для пользователей в приложении.Now that you have registered your application within Azure AD, you will need to authenticate users within your application. Дополнительные сведения см. в статье Проверка подлинности для пользователей и получение маркера доступа Azure AD для приложения Power BI.Have a look at Authenticate users and get an Azure AD access token for your Power BI app to learn more.

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