Мы хотим аутентифицировать Power BI в основном приложении dotnet. Это можно сделать различными способами:
- Базовая аутентификация
- Субъект службы
< li>OAuth2
Ранее аутентификация выполнялась с помощью базовой аутентификации (имя пользователя и пароль), который работал нормально. Но теперь наш план состоит в том, чтобы сделать его более безопасным.
Субъект службы
Мы считаем, что использование принципала службы — правильный путь, поскольку наш случай. Я предполагаю, что аутентификация с субъектом службы в Power BI использует поток учетных данных клиента OAuth2 за кулисами.
OAuth2
Я думаю, что использование OAuth2 это не то, что нам нужно, потому что это будет означать, что пользователь Power BI будет проходить аутентификацию в приложении dotnet core API, что не требуется. Нам необходимо выполнить аутентификацию Power BI как службы в приложении API dotnet core. Кроме того, наши пользователи в Power BI не связаны с Entra ID, они принадлежат системе Power BI. Итак, было бы хорошо, если бы мы могли использовать пользователей из Entra ID для входа в Power BI, который мы не знаем, как настроить. Это тоже вопрос для нас.
Мы настроили субъект-службу в веб-приложении Power BI следующим образом:
Power BI => Рабочая область => Семантическая модель => Настройки => Учетные данные источника данных => Изменить учетные данные

< /p>
Мы добавили все виды разрешений API при регистрации приложения в Entra ID. Вот оно:

Кроме того, мы добавили регистрацию приложения в качестве группы безопасности в Power BI с разрешениями администратора:
[img]https://i .sstatic.net/lRLa2O9F.png[/img]
Как видите, группа безопасности с регистрацией приложения и сама регистрация приложения были добавлены в рабочую область с правами администратора.
Когда мы хотим настроить аутентификацию для Power BI для доступа к API ядра dotnet в качестве субъекта-службы, мы получаем следующую ошибку:
Не удалось обновить учетные данные источника данных.

Как мы можем решить проблему с не можете аутентифицировать Power BI в качестве субъекта-службы в API ядра dotnet?
Подробнее здесь: https://stackoverflow.com/questions/790 ... -principal
Мобильная версия