Ошибка PowerBI API с использованием субъекта-службы в сценарии Powershell

Требование: обновите расписание набора данных PowerBI с помощью сценария Powershell. Используется PowerBI API. Обратитесь: MicrosoftDocs

Что я сделал:

  1. Предоставляет разрешения API приложения PowerBI в Azure AD. Доступ администратора предоставляется субъекту-службе в рабочих областях PowerBI.


2. Используемый токен доступа, созданный с помощью субъекта-службы. Invoke-RestMethod для запроса API. См. Код ниже.
      $SecPasswd = ConvertTo-SecureString $ClientSecret -AsPlainText -Force
$ClientCred = New-Object System.Management.Automation.PSCredential($ClientId,$SecPasswd)

Connect-PowerBIServiceAccount -Tenant $tenantId -ServicePrincipal -Credential $ClientCred
$accessToken = Get-PowerBIAccessToken
$authHeader = @{'Content-Type'='application/json','Authorization'= $accessToken.Authorization}
$uri="https://api.powerbi.com/v1.0/myorg/datasets/$datasetId/refreshSchedule"
Invoke-RestMethod -Uri $uri –Headers $authHeader –Method Patch -Body ($jsonBase | ConvertTo-Json) -ContentType "application/json"

Наблюдения:
использовал datasetId моей рабочей области и запустил скрипт. 2 сценария:

  1. Использование токена доступа субъекта-службы в заголовке авторизации. Получил - Запрещенная ошибка 403. «Сообщение»: «API недоступен для приложения».
  2. Использование токена доступа, созданного с моими учетными данными в заголовке авторизации. Скрипт успешно выполняется. Расписание набора данных обновлено.
    Какие разрешения мне не хватает для обновления расписания наборов данных с помощью субъекта-службы? Если кто-то реализовал запросы POST или Patch PowerBI API с помощью субъекта-службы, поделитесь своими мыслями.

2 ответа

URL-адрес в документации Microsoft API неверен для субъектов-служб.

Вам также необходимо включить идентификатор рабочей области в URL-адрес, см. Ниже

      https://api.powerbi.com/v1.0/myorg/groups/{WorkspaceID}/datasets/{DatasetId}refreshes

Субъект-служба не поддерживается для доступа к моей рабочей области :

Соображения и ограничения

  • Субъект-служба работает только с новыми рабочими областями.
  • Моя рабочая область не поддерживается при использовании субъекта-службы.
  • При переходе к производству требуется мощность.
  • Вы не можете войти на портал Power BI с помощью субъекта-службы.
  • Права администратора Power BI необходимы для включения субъекта-службы в настройках разработчика на портале администрирования Power BI.
  • Встраиваемые приложения вашей организации не могут использовать субъект-службу.
  • Управление потоками данных не поддерживается.
  • Субъект-служба поддерживает только некоторые административные API, доступные только для чтения. Чтобы включить поддержку субъекта-службы для API-интерфейсов администратора только для чтения, необходимо включить параметры администратора службы Power BI в своем клиенте. Дополнительные сведения см. В разделе Включение аутентификации субъекта-службы для API-интерфейсов администратора только для чтения.
  • При использовании субъекта-службы с источником данных служб Azure Analysis Services сам субъект-служба должен иметь разрешения экземпляра служб Azure Analysis Services. Использование для этой цели группы безопасности, содержащей субъект-службу, не работает.

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

Другие вопросы по тегам