Я следил за статьей, указанной здесь https://learn.microsoft.com/en-us/power-bi/developer/embedded/embed-service-principal
Затем я написал консольное приложение C#, которое сначала генерирует токен доступа, а затем генерирует токен внедрения с помощью метода библиотеки Power BI Nuget GetReportInGroupAsync.
Однако этот метод выдает несанкционированную ошибку. Я распечатал данные ответа и увидел следующий заголовок;
Информация об ошибке X-PowerBI: ServicePrincipalIsNotAllowedByTenantAdminSwitch
Мой администратор Power BI уже включил этот параметр на портале администрирования Power BI, и группа безопасности, содержащая мой субъект-службу, добавляется в список групп, для которых разрешен доступ.
Что мне не хватает?
Эта ошибка обычно возникает, когда учетной записи службы не разрешено использовать ресурсы Power BI или ей не предоставлены для этого необходимые разрешения API. Если вы включили параметры «разрешить субъекту-службе использовать API Power BI», убедитесь, что субъект-служба добавлен в рабочую область, проверив настройки доступа к рабочей области. После этого убедитесь, что ваше приложение Azure Active Directory, связанное с субъектом-службой, имеет необходимые разрешения API (например, Reports.Read.All, Dataset.Read.All и т. д.) на портале Azure. Чтобы проверить эти разрешения:
Вы можете обратиться к этой документации: Встраивайте контент в приложение встроенной аналитики Power BI — Power BI | Microsoft Learn
Я решил эту проблему, удалив группу Azure AD из Power BI, а затем добавив ее снова. Я подал заявку в Microsoft, и вот как мы ее решили