В документах Connect-PowerBIServiceAccount
есть 2 варианта автоматического входа в систему:
Использование -Credential
, где вы передаете идентификатор клиента AAD как имя пользователя и секретный ключ приложения в качестве пароля
Использование -CertificateThumbprint
и -ApplicationId
Для обоих вариантов вам необходимо настроить стоимость услуги и добавить правильные разрешения. Я не буду вдаваться в подробности, как это настроить, но, скорее всего, вам потребуются (по крайней мере) следующие разрешения приложения:
Разрешения приложения Power BI
Я не совсем уверен, какие функции вам нужны в сценарии, но, по моему опыту, большинство случаев можно охватить запланированной задачей, поэтому приведенное ниже объяснение применимо к этому решению.
Как вы можете защитить учетные данные?
В зависимости от ваших предпочтений существует множество возможных решений. Я бы рассмотрел аутентификацию на основе сертификатов как более безопасную (сертификат доступен только текущему пользователю / всем пользователям аппарата).
Что важно при аутентификации на основе сертификатов - убедитесь, что сертификат доступен для учетная запись, на которой запущен сценарий (во многих случаях это служебная учетная запись, а не ваша учетная запись пользователя).
Как я могу защитить больше?
Если хотите, вы можете сохранить идентификатор приложения в виде защищенной строки (I нет SSIS для тестирования, поэтому я не уверен, есть ли какое-то обходное решение, чтобы заставить его работать) или используйте Export-CliXml
. Они используют Windows Data Protection API (DPAPI), поэтому файл может быть расшифрован только той учетной записью, которая использовалась для шифрования.
Чтобы добавить еще один уровень безопасности (я даже не говорю о правильной настройке права доступа к файлам, как это очевидно), вы можете поместить файл в зашифрованную папку (возможно, у вас уже есть решение для шифрования диска, поэтому используйте его, если вы используете wi sh).
Вероятно, есть некоторые решения для еще большей защиты ключей, но они должны работать. Я использую другие модули Microsoft 365 с аналогичным подходом (Outlook, SharePoint PnP), и он работает достаточно хорошо.
ПРИМЕЧАНИЕ. Если вам нужно использовать учетную запись пользователя вместо субъекта-службы, убедитесь, что у вас есть MultiFactor. Аутентификация отключена в этой учетной записи для указанного c приложения.