Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Служебный принципал — это метод проверки подлинности, который можно использовать для предоставления приложению Microsoft Entra доступа к содержимому и API службы Power BI.
При создании приложения Microsoft Entra создается объект субъекта-службы. Объект субъекта-службы, также известный просто как субъект-служба, позволяет Microsoft Entra ID выполнять аутентификацию вашего приложения. После проверки подлинности приложение может получить доступ к ресурсам клиента Microsoft Entra.
Для проверки подлинности субъект-служба использует идентификатор приложения Microsoft Entra и одно из следующих элементов:
- сертификат;
- Секрет приложения
В этой статье описывается аутентификация субъекта-службы с использованием идентификатора приложения и секрета приложения.
Примечание.
Рекомендуется защитить внутренние службы с помощью сертификатов, а не секретных ключей.
- Узнайте больше о том, как получать токены доступа от Microsoft Entra ID с помощью секретных ключей или сертификатов.
- Чтобы защитить решение с помощью сертификата, выполните инструкции в этой статье, а затем выполните действия, описанные в разделе "Внедрение содержимого Power BI с субъектом-службой и сертификатом".
Способ
Чтобы использовать субъект-службу и идентификатор приложения для встроенной аналитики, выполните следующие действия. В последующих разделах подробно описаны эти шаги.
Создайте приложение Microsoft Entra.
- Создайте секрет для приложения Microsoft Entra.
- Получите идентификатор приложения и секрет приложения.
Примечание.
Эти шаги описаны на шаге 1. Дополнительные сведения о создании приложения Microsoft Entra см. в статье о создании приложения Microsoft Entra.
Создайте группу безопасности Microsoft Entra.
Включите параметры администратора службы Power BI.
Добавьте субъект службы в свою рабочую область.
Встраивайте свой контент.
Внимание
Для приложения Microsoft Entra не требуется настраивать делегированные разрешения или разрешения приложения на портале Azure, если оно создано для субъекта-службы. При создании приложения Microsoft Entra для субъекта-службы для доступа к REST API Power BI рекомендуется избегать добавления разрешений. Они никогда не используются и могут вызывать ошибки, которые трудно устранить.
Шаг 1. Создание приложения Microsoft Entra
Вы можете создать приложение Microsoft Entra на портале Azure или с помощью PowerShell:
Чтобы создать приложение Microsoft Entra и секрет на портале Azure, следуйте инструкциям в разделе "Регистрация приложения".
Примечание.
После выхода из этого окна значение секрета клиента скрыто, и его невозможно просмотреть или скопировать еще раз.
Шаг 2. Создание группы безопасности Microsoft Entra
Субъект-служба не имеет доступа к любому содержимому и API Power BI. Чтобы предоставить субъекту-службе доступ, создайте группу безопасности в идентификаторе Microsoft Entra. Затем добавьте в эту группу безопасности субъект-службу, который вы создали.
Примечание.
Если вы хотите включить доступ для субъектов-служб во всей организации, пропустите этот шаг.
Существует два способа создания группы безопасности Microsoft Entra:
Создание группы безопасности вручную
Чтобы создать группу безопасности Azure вручную, следуйте инструкциям в статье "Создание базовой группы". Не добавляйте участников в группу в настоящее время.
Создание группы безопасности с помощью PowerShell
В следующем примере скрипта создается новая группа безопасности. Он также добавляет созданную ранее субъект-службу в новую группу безопасности.
- Перед запуском скрипта замените
<app-client-ID>на идентификатор клиента, который вы ранее записали для своего нового приложения. - После запуска скрипта запишите идентификатор объекта новой группы безопасности, которую можно найти в выходных данных скрипта.
# Sign in as an admin.
Connect-MgGraph -Scopes "Application.ReadWrite.All"
# Get the service principal that you created earlier.
$servicePrincipal = Get-MgServicePrincipal -Filter "AppId eq '<app-client-ID>'"
# Create a Microsoft Entra security group.
$group = New-MgGroup -DisplayName "securitygroup1" -SecurityEnabled -MailEnabled:$False -MailNickName "notSet"
Write-Host "Object ID of new security group: " $($group.Id)
# Add the service principal to the group.
New-MgGroupMember -GroupId $($group.Id) -DirectoryObjectId $($servicePrincipal.Id)
Шаг 3 — Включить параметры администратора службы Power BI
Чтобы приложение Microsoft Entra могло получить доступ к содержимому и API Power BI, администратор Power BI должен включить следующие параметры:
- Встроенное содержимое в приложениях
- Разрешение субъектам-службам использовать API-интерфейсы Power BI
На портале администрирования Power BI перейдите к параметрам клиента и прокрутите страницу вниз до параметров разработчика.
Включите параметр Встраивание содержимого в приложения либо для всей организации, либо для конкретной группы безопасности, созданной в Microsoft Entra ID.
Разрешить субъектам-службам использовать API Power BI для всей организации или для конкретной группы безопасности, созданной в идентификаторе Microsoft Entra. Дополнительные сведения см. в статье Субъекты-службы могут вызывать общедоступные API Fabric.
Внимание
Субъекты-службы имеют доступ к любым параметрам клиента, для которых они включены. В зависимости от параметров администратора это включает определенные группы безопасности или всю организацию.
Чтобы ограничить доступ субъекта-службы к определенным параметрам клиента, разрешите доступ только к определенным группам безопасности. Кроме того, можно создать выделенную группу безопасности для субъектов-служб и исключить ее из требуемых параметров клиента.
Шаг 4. Добавьте субъект службы в рабочую область
Приложение Microsoft Entra может получить доступ к отчетам, панелям мониторинга и семантических моделям Power BI, только если у него есть доступ к рабочей области Power BI в качестве члена или администратора. Вы предоставляете этот доступ, добавив субъект-службу приложения или ее группу безопасности в рабочую область.
Существует три способа добавить субъект-службу или её группу безопасности в рабочую область:
Добавление субъекта-службы или группы безопасности вручную
В службе Power BI прокрутите страницу до рабочей области, для которой нужно предоставить доступ. В меню "Дополнительно " выберите доступ к рабочей области.
На панели Доступ в разделе Добавление администраторов, участников или авторов добавьте одно из следующего:
- Ваш субъект-служба. Имя вашего субъекта-службы — это отображаемое имя вашего приложения Microsoft Entra, как оно указано на вкладке «Обзор» приложения Microsoft Entra.
- Группа безопасности, которая включает ваш субъект-службы.
В раскрывающемся меню выберите "Член " или "Администратор".
Выберите Добавить.
Добавление субъекта-службы или группы безопасности с помощью PowerShell
В следующих разделах приведены примеры скриптов PowerShell для добавления субъекта-службы и группы безопасности в рабочую область Power BI в качестве участника.
Добавление субъекта-службы в качестве члена рабочей области с помощью PowerShell
Следующий сценарий добавляет субъект-службу в качестве члена рабочей области. Перед запуском скрипта выполните следующие действия:
- Замените
<service-principal-object-ID>на идентификатор объекта, который вы записали ранее для нового субъекта-службы. - Замените
<workspace-name>именем рабочей области, к которую вы хотите предоставить субъекту-службе доступ.
# Sign in to Power BI.
Login-PowerBI
# Set up the service principal ID.
$SPObjectID = "<service-principal-object-ID>"
# Get the workspace.
$pbiWorkspace = Get-PowerBIWorkspace -Filter "name eq '<workspace-name>'"
# Add the service principal to the workspace.
Add-PowerBIWorkspaceUser -Id $($pbiWorkspace.Id) -AccessRight Member -PrincipalType App -Identifier $($SPObjectID)
Добавление группы безопасности в качестве члена рабочей области с помощью PowerShell
Следующий сценарий добавляет группу безопасности в качестве члена рабочей области. Перед запуском скрипта выполните следующие действия:
- Замените
<security-group-object-ID>на идентификатор объекта, который вы записали ранее для своей новой группы безопасности. - Замените
<workspace-name>именем рабочей области, к которую вы хотите предоставить доступ группе безопасности.
# Sign in to Power BI.
Login-PowerBI
# Set up the security group object ID.
$SGObjectID = "<security-group-object-ID>"
# Get the workspace.
$pbiWorkspace = Get-PowerBIWorkspace -Filter "name eq '<workspace-name>'"
# Add the security group to the workspace.
Add-PowerBIWorkspaceUser -Id $($pbiWorkspace.Id) -AccessRight Member -PrincipalType Group -Identifier $($SGObjectID)
Шаг 5. Внедрение содержимого
Вы можете внедрить содержимое в пример приложения или в собственное приложение.
После того как ваш контент встроен, вы готовы перейти в рабочую среду.
Примечание.
Чтобы защитить содержимое с помощью сертификата, выполните действия, описанные в разделе "Внедрение содержимого Power BI" с помощью субъекта-службы и сертификата.
Рекомендации и ограничения
- Моя рабочая область не поддерживается при использовании субъекта-службы.
- Для перехода в продуктивную среду требуется емкость.
- Вы не можете войти в портал Power BI с использованием учетных данных субъекта-службы.
- Права администратора Power BI необходимы для включения субъекта-службы в параметрах разработчика на портале администрирования Power BI.
- Приложения «Встраивание для вашей организации» не могут использовать субъект-службу.
- Управление потоками данных не поддерживается.
- Не все API только для чтения поддерживаются субъектом-службой. Чтобы включить поддержку субъектов-служб для API администрирования, доступных только для чтения, включите параметры администратора службы Power BI в вашем клиенте. Дополнительные сведения см. в статье Включение проверки подлинности субъекта-службы для API администрирования только для чтения.
- Если вы используете субъект-службу с источником данных Azure Analysis Services, сам субъект-служба должен иметь разрешения на экземпляр Azure Analysis Services. Использование для этой цели группы безопасности, содержащей сервисный субъект, не работает.