Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
ОБЛАСТЬ ПРИМЕНЕНИЯ: Приложение владеет данными
Пользователь владеет данными
Удостоверение на основе токенов позволяет поставщику программного обеспечения использовать токен доступа Microsoft Entra для передачи удостоверения клиента в базу данных Azure SQL, управляемую в арендаторе клиента.
Клиенты isV, которые хранят данные и управляют ими в База данных SQL Azure, могут защитить свои данные в клиенте при интеграции с Power BI Embedded в приложении ISV.
При создании маркера встраивания укажите личность пользователя в SQL Azure, передав маркер доступа Microsoft Entra для сервера SQL Azure. Затем маркер доступа используется для извлечения только соответствующих данных для этого пользователя из SQL Azure для этого конкретного сеанса.
Important
Ограничения единого входа в app-owns-data:
- В сценариях с данными приложения (аутентификация c помощью субъекта-службы или основного пользователя) единый вход (SSO) для источников данных DirectQuery поддерживается только с База данных SQL Azure.
- При создании токена встраивания с использованием SSO необходимо указать
IdentityBlobдля каждого источника данных с включенным SSO. Пропуск IdentityBlob приводит к сбою при генерации токена или выполнении запроса.
Настройка удостоверения на основе токенов
Удостоверение на основе токенов работает только для моделей DirectQuery, размещенных на емкости, подключенной к базе данных Azure SQL, которая настроена на разрешение аутентификации через Microsoft Entra. Источник данных семантической модели должен быть настроен на использование учетных данных OAuth2 пользователей, чтобы применить аутентификацию на основе токенов. Узнайте больше об аутентификации Microsoft Entra для База данных SQL Azure.
Перед настройкой удостоверения на основе токенов проверьте следующее:
- Источник данных DirectQuery — это База данных SQL Azure (единственный поддерживаемый источник данных SSO для сценариев "app-owns-data").
- База данных SQL Azure настроен для проверки подлинности Microsoft Entra.
- У вас есть маркер доступа Microsoft Entra пользователя для сервера Azure SQL, передаваемого в качестве
IdentityBlob.
На портале Power BI выберите Семантическая модель> Дополнительные параметры (три точки) > Настройки > Учетные данные источника данных > Изменить учетные данные.
Установите флажок OAuth2.
Генерация токена удостоверения
Чтобы создать токен доступа для Azure SQL, приложение должно иметь делегированное разрешение на доступ к базе данных Azure SQL и хранилищу данных для API База данных SQL Azure в конфигурации регистрации приложения Microsoft Entra в портал Azure.
Проверка подлинности и получение маркера для пользователя из конечного узла Azure AD v2 для следующей области:
Дополнительные сведения см. в следующих примерах кода MSAL:
- Примеры кода для платформы удостоверений Microsoft: проверка подлинности и авторизация — Microsoft Entra | Microsoft Learn
- Поток кода авторизации OAuth 2.0 и платформа удостоверений Майкрософт
Генерация токена встраивания
Чтобы внедрить отчет на основе токенов, создайте токен внедрения, содержащий идентичность на основе токенов необходимого пользователя ISV. См. следующие примеры создания маркеров внедрения для различных сценариев.
Note
Вы должны включить запись datasourceIdentities с допустимым identityBlob для каждого источника данных Azure SQL с включенным единым входом. Если в источнике данных с поддержкой единого входа отсутствует компонент identityBlob, вызов на генерацию маркера внедрения завершится сбоем, или выполнение запроса вернет ошибку.
- Отчет Power BI с единым входом
- Пагинированный отчет с SSO
- Отчет Power BI с авторизацией по единому входу и RLS на семантической модели
- Отчет с разбивкой на страницы, подключенный к семантической модели Power BI с помощью RLS и источника данных единого входа, который подключен к другому набору данных Power BI
{
"datasets": [
{
"id": "66ba5010-xxxx-xxxx-xxxx-f2bf0125abeb",
}
],
"reports": [
{
"allowEdit": false,
"id": "9e6da541-xxxx-xxxx-xxxx-7d9442827cce"
}
],
"datasourceIdentities": [
{
"identityBlob": "eyJ…",
"datasources": [
{
"datasourceType": "Sql",
"connectionDetails": {
"server": "YourServerName.database.windows.net",
"database": "YourDataBaseName"
}
}
]
}
]
}
В следующем примере показан встроенный отчет Power BI с SSO и RLS, примененными к набору данных: