Если вы используете автоматическую службу secure , лучше всего будет использовать проверку подлинности только для приложений (она называется «служба в службу») для получения токена доступа к службе Power BI.Доступ вашего приложения к Power BI не будет зависеть от учетной записи какого-либо пользователя, у него будет собственный идентификатор службы.
Подробнее о поддержке Power BI для доступа только к приложению к Power BI API можно узнать: https://docs.microsoft.com/en-us/power-bi/developer/embed-service-principal
В потоках только для приложения у вас есть два варианта аутентификации приложения:
- С сертификатом - это более безопасный, рекомендуемый подход
- Ссекрет клиента - он менее защищен и несет в себе более высокий риск безопасности
Командлеты Power BI поддерживают оба режима проверки подлинности только для приложений.Например, для аутентификации с использованием сертификата это просто:
Connect-PowerBIServiceAccount -ServicePrincipal `
-Tenant "{tenant-id-or-domain}" `
-ApplicationId "{client-app-id}" `
-CertificateThumbprint "{cert-thumbprint}"
В качестве альтернативы, используя секрет клиента:
$clientSecret = Get-SecretFromSomewhereSafe # Do NOT include the secret in your script!
$cred = [PSCredential]::new("{client-appid}", $clientSecret)
Connect-PowerBIServiceAccount -ServicePrincipal `
-Tenant "{tenant-id-or-domain}" `
-Credential $cred
После подключенияпри любом из этих подходов вы просто получаете токен доступа непосредственно перед его использованием:
Get-PowerBIAccessToken
Если существующий кэшированный токен доступа все еще действителен, он будет возвращен.Если срок его действия истек, командлет позаботится о получении нового.