#powerbi-embedded #azure-service-principal
#встроенный powerbi #azure-service-principal
Вопрос:
У меня есть приложение на C #, которое использует пользователя Active Directory для выполнения следующих операций, я пытаюсь преобразовать его для использования участника службы Active Directory. Я использую встроенное рабочее пространство Power Embedded с повышенной пропускной способностью в Azure
- Создать набор данных
- Создать отчет
- Обновить набор данных
Однако я сталкиваюсь с проблемами при попытке выполнить те же действия с использованием участника службы.
Что я пробовал
У меня есть следующие настройки
01. Настройки клиента -> Параметры разработчика :
- регистрация созданного приложения в Azure Active Directory
- создана группа безопасности в Azure Active Directory.
- добавлен участник службы (созданный на шаге 1) в группу безопасности (созданную на шаге 2)
- Как app.powerbi.com администратор включил настройки разработчика -> доступ к API администратора
- ограничил доступ к определенной группе и убедился, что используемый мной участник службы добавлен в эту группу безопасности
02. Настройки рабочей области: рабочая область powerbi -> управление доступом
- добавлен участник службы в качестве «администратора» в рабочую область
03. Приложению принадлежит рабочий процесс с данными
- используется предложенное приложение для репозитория github, которому принадлежит решение для обработки данных
- подключил правильные значения в
appsettings.json
- Идентификатор клиента,
- Секретный ключ
- TenantId
- workspaceId
- Идентификатор отчета
Я получаю сообщение об ошибке
Operation returned an invalid status code 'Unauthorized'
at Microsoft.PowerBI.Api.ReportsOperations.GetReportInGroupWithHttpMessagesAsync(Guid groupId, Guid reportId, Dictionary`2 customHeaders, CancellationToken cancellationToken)
at Microsoft.PowerBI.Api.ReportsOperationsExtensions.GetReportInGroupAsync(IReportsOperations operations, Guid groupId, Guid reportId, CancellationToken cancellationToken)
at Microsoft.PowerBI.Api.ReportsOperationsExtensions.GetReportInGroup(IReportsOperations operations, Guid groupId, Guid reportId)
at AppOwnsData.Services.PbiEmbedService.GetEmbedParams(Guid workspaceId, Guid reportId, Guid additionalDatasetId) in C:CampuslabsTeamFoundationPowerBI-Developer-Samples.NET CoreEmbed for your customersAppOwnsDataServicesPbiEmbedService.cs:line 46
at AppOwnsData.Controllers.EmbedInfoController.GetEmbedInfo() in C:CampuslabsTeamFoundationPowerBI-Developer-Samples.NET CoreEmbed for your customersAppOwnsDataControllersEmbedInfoController.cs:line 45
Мой вопрос
- Как мне устранить эту проблему
- Разрешены ли учетные данные участника службы для обновления / создания / наборов данных в рабочей области Power Embedded с повышенной пропускной способностью
Комментарии:
1. Чтобы обновить набор данных, вы должны быть владельцем набора данных. Это означает, что набор данных должен быть создан участником службы, или вы должны изменить владельца, чтобы он стал участником службы (см. Взять на себя управление в Group API ).
Ответ №1:
- Что касается устранения неполадок, из отправленного вами стека ошибок кажется, что проблема связана с разрешениями в рабочей области, дважды проверьте, что участник службы, которого вы добавили в качестве администратора в рабочей области, тот же, который вы используете в своем приложении.
- Что касается второго вопроса, ответ на него — да. Участник службы может обновлять / создавать / наборы данных в рабочей области Power Embedded с повышенной пропускной способностью.