Embed Token - Generate Token
Создает токен внедрения для нескольких отчетов, наборов данных и целевых рабочих областей.
- Отчеты и наборы данных не обязательно должны быть связаны.
- Отчет можно привязать к набору данных во время внедрения.
- Отчет можно создать только в рабочих областях, указанных параметром
targetWorkspaces
.
Важно!
Этот вызов API относится только к сценарию внедрения для клиентов . Дополнительные сведения об использовании этого API см. в статье Рекомендации по созданию токена внедрения.
Разрешения
- При использовании субъекта-службы для проверки подлинности ознакомьтесь с разделами Внедрение содержимого Power BI с помощью субъекта-службы и Рекомендации и ограничения.
- Для отчетов Power BI с визуальным элементом с разбивкой на страницы включите идентификатор отчета с разбивкой на страницы в вызове API. Дополнительные сведения см. в примере.
- Этот вызов API может вызываться профилем субъекта-службы. Дополнительные сведения см. в статье Профили субъектов-служб в Power BI Embedded.
Требуемая область
Все перечисленные ниже действия, если не применяются требования:
- Content.Create, требуется, если целевая рабочая область указана в GenerateTokenRequestV2.
- Report.ReadWrite.All или Report.Read.All, требуется, если отчет указан в GenerateTokenRequestV2.
- Report.ReadWrite.All, требуется, если
allowEdit
флаг указан по крайней мере для одного отчета в GenerateTokenRequestV2. - Dataset.ReadWrite.All или Dataset.Read.All
Ограничения
- Отчет можно создать только в рабочих областях, указанных параметром
targetWorkspaces
. - Все отчеты и наборы данных должны находиться в рабочей области версии 2 .
- Все целевые рабочие области должны быть рабочими областями версии 2 .
- Максимум 50 отчетов.
- Максимум 50 наборов данных.
- Максимум 50 целевых рабочих областей.
- Для Azure Analysis Services или отчетов о динамических подключениях служб Analysis Services создание токена внедрения с безопасностью на уровне строк (RLS) может не работать в течение нескольких минут после повторной привязки.
POST https://api.powerbi.com/v1.0/myorg/GenerateToken
Текст запроса
Имя | Тип | Описание |
---|---|---|
datasets |
Список наборов данных |
|
datasourceIdentities |
Список удостоверений, используемых при подключении к источникам данных с включенным единым Sign-On (SSO). |
|
identities |
Список удостоверений, используемых для правил безопасности на уровне строк |
|
lifetimeInMinutes |
integer |
Максимальное время существования маркера в минутах, начиная с момента его создания. Можно использовать для сокращения срока действия маркера, но не для его продления. Значение должно быть положительным целым числом. Ноль ( |
reports |
Список отчетов |
|
targetWorkspaces |
Список рабочих областей, в которые токен внедрения позволяет сохранять |
Ответы
Имя | Тип | Описание |
---|---|---|
200 OK |
ОК |
Примеры
Example of generating an embed token for a dataset and two reports example. Only one of the reports can be edited.
Sample Request
POST https://api.powerbi.com/v1.0/myorg/GenerateToken
{
"datasets": [
{
"id": "cfafbeb1-8037-4d0c-896e-a46fb27ff229"
}
],
"reports": [
{
"allowEdit": true,
"id": "b2e49b01-2356-4456-bfb9-3f4c2bc4ddbd"
},
{
"id": "759908bb-ead8-4a43-9645-7ffbf921c68d"
}
]
}
Sample Response
{
"token": "H4sI....AAA=",
"tokenId": "49ae3742-54c0-4c29-af52-619ff93b5c80",
"expiration": "2018-07-29T17:58:19Z"
}
Example of generating an embed token for a paginated report which has a Power BI dataset as a datasource. The ID of the dataset must be specified in the request. The report and dataset can each have its own identity
Sample Request
POST https://api.powerbi.com/v1.0/myorg/GenerateToken
{
"datasets": [
{
"id": "cfafbeb1-8037-4d0c-896e-a46fb27ff229",
"xmlaPermissions": "ReadOnly"
}
],
"reports": [
{
"id": "b2e49b01-2356-4456-bfb9-3f4c2bc4ddbd"
}
],
"identities": [
{
"username": "john@contoso.com",
"roles": [
"sales"
],
"datasets": [
"cfafbeb1-8037-4d0c-896e-a46fb27ff229"
]
},
{
"username": "john@contoso.com",
"reports": [
"b2e49b01-2356-4456-bfb9-3f4c2bc4ddbd"
]
}
]
}
Sample Response
{
"token": "H4sI....AAA=",
"tokenId": "49ae3742-54c0-4c29-af52-619ff93b5c80",
"expiration": "2028-07-29T17:58:19Z"
}
Example of generating an embed token for a paginated report with a data source identity
Sample Request
POST https://api.powerbi.com/v1.0/myorg/GenerateToken
{
"reports": [
{
"id": "b2e49b01-2356-4456-bfb9-3f4c2bc4ddbd"
}
],
"datasourceIdentities": [
{
"datasources": [
{
"datasourceType": "Sql",
"connectionDetails": {
"server": "New-Sql-Server",
"database": "New-Sql-Database"
}
}
],
"identityBlob": "eyJ0eX....AAA="
}
]
}
Sample Response
{
"token": "H4sI....AAA=",
"tokenId": "49ae3742-54c0-4c29-af52-619ff93b5c80",
"expiration": "2028-07-29T17:58:19Z"
}
Example of generating an embed token for a paginated report with multiple data source identities and a single identity blob
Sample Request
POST https://api.powerbi.com/v1.0/myorg/GenerateToken
{
"reports": [
{
"id": "b2e49b01-2356-4456-bfb9-3f4c2bc4ddbd"
}
],
"datasourceIdentities": [
{
"datasources": [
{
"datasourceType": "Sql",
"connectionDetails": {
"server": "New-Sql-Server",
"database": "New-Sql-Database"
}
},
{
"datasourceType": "MySql",
"connectionDetails": {
"server": "New-MySql-Server",
"database": "New-MySql-Database"
}
}
],
"identityBlob": "eyJ0eX....AAA="
}
]
}
Sample Response
{
"token": "H4sI....AAA=",
"tokenId": "49ae3742-54c0-4c29-af52-619ff93b5c80",
"expiration": "2028-07-29T17:58:19Z"
}
Example of generating an embed token for a paginated report with multiple data source identities and multiple identity blobs
Sample Request
POST https://api.powerbi.com/v1.0/myorg/GenerateToken
{
"reports": [
{
"id": "b2e49b01-2356-4456-bfb9-3f4c2bc4ddbd"
}
],
"datasourceIdentities": [
{
"datasources": [
{
"datasourceType": "Sql",
"connectionDetails": {
"server": "New-Sql-Server",
"database": "New-Sql-Database"
}
}
],
"identityBlob": "eyJ0eX....AAA="
},
{
"datasources": [
{
"datasourceType": "MySql",
"connectionDetails": {
"server": "New-MySql-Server",
"database": "New-MySql-Database"
}
}
],
"identityBlob": "eyJ0dW....AAA="
}
]
}
Sample Response
{
"token": "H4sI....AAA=",
"tokenId": "49ae3742-54c0-4c29-af52-619ff93b5c80",
"expiration": "2028-07-29T17:58:19Z"
}
Example of generating an embed token for a Power BI report with a dataset which is connected with DirectQuery to another Power BI dataset. All related dataset IDs must be specified in the request with 'xmlaPermissions' set to 'ReadOnly'. IdentityBlobs for all SSO-enabled data sources must be provided in the 'datasourceIdentities' array
Sample Request
POST https://api.powerbi.com/v1.0/myorg/GenerateToken
{
"datasets": [
{
"id": "b2e49b01-2356-4456-bfb9-3f4c2bc4ddbd",
"xmlaPermissions": "ReadOnly"
},
{
"id": "cfafbeb1-8037-4d0c-896e-a46fb27ff229",
"xmlaPermissions": "ReadOnly"
}
],
"reports": [
{
"id": "f904e89a-7ebe-4aa0-8647-e409063b4850"
}
],
"datasourceIdentities": [
{
"datasources": [
{
"datasourceType": "Sql",
"connectionDetails": {
"server": "Best-Sql-Server",
"database": "Database3"
}
}
],
"identityBlob": "eyJ0eX....AAA="
}
]
}
Sample Response
{
"token": "H4sI....AAA=",
"tokenId": "ab4d49ae-c054-4c29-af52-93b5c80619ff",
"expiration": "2022-06-10T12:41:11Z"
}
Example of generating an embed token for a Power BI report with a paginated visual. The paginated report ID ('...4850') of the paginated visual must be included in the 'reports' section of the request.
Sample Request
POST https://api.powerbi.com/v1.0/myorg/GenerateToken
{
"datasets": [
{
"id": "cfafbeb1-8037-4d0c-896e-a46fb27ff229"
}
],
"reports": [
{
"id": "b2e49b01-2356-4456-bfb9-3f4c2bc4ddbd"
},
{
"id": "f904e89a-7ebe-4aa0-8647-e409063b4850"
}
]
}
Sample Response
{
"token": "H4sI....AAA=",
"tokenId": "49ae3742-54c0-4c29-af52-619ff93b5c80",
"expiration": "2018-07-29T17:58:19Z"
}
Example of generating an embed token for two datasets with RLS identities and a single report with read-only permissions. The embed token lets you view the report, which is dynamically bound to two different datasets.
Sample Request
POST https://api.powerbi.com/v1.0/myorg/GenerateToken
{
"datasets": [
{
"id": "cfafbeb1-8037-4d0c-896e-a46fb27ff229"
},
{
"id": "e75afc47-1150-45e0-aba7-4eb04e4876e5"
}
],
"reports": [
{
"id": "b2e49b01-2356-4456-bfb9-3f4c2bc4ddbd"
}
],
"identities": [
{
"username": "john@contoso.com",
"roles": [
"sales"
],
"datasets": [
"cfafbeb1-8037-4d0c-896e-a46fb27ff229"
]
},
{
"username": "iris@contoso.com",
"roles": [
"executive"
],
"datasets": [
"e75afc47-1150-45e0-aba7-4eb04e4876e5"
]
}
]
}
Sample Response
{
"token": "H4sI....AAA=",
"tokenId": "4b76f5ed-5a06-4150-8d1b-60f8e4c186f4",
"expiration": "2028-07-29T17:58:19Z"
}
Example of generating an embed token that expires no later than ten minutes from the API call
Sample Request
POST https://api.powerbi.com/v1.0/myorg/GenerateToken
{
"datasets": [
{
"id": "cfafbeb1-8037-4d0c-896e-a46fb27ff229"
}
],
"reports": [
{
"id": "b2e49b01-2356-4456-bfb9-3f4c2bc4ddbd"
}
],
"identities": [
{
"username": "john@contoso.com",
"roles": [
"sales"
],
"datasets": [
"cfafbeb1-8037-4d0c-896e-a46fb27ff229"
]
}
],
"lifetimeInMinutes": 10
}
Sample Response
{
"token": "H4sI....AAA=",
"tokenId": "4b76f5ed-5a06-4150-8d1b-60f8e4c186f4",
"expiration": "2028-07-29T17:58:19Z"
}
Определения
Имя | Описание |
---|---|
Datasource |
Сведения о подключении к источнику данных Power BI. Примеры см. в разделах Получение источников данных или Получение источников данных в группе. |
Datasource |
Эффективное удостоверение для подключения источников данных DirectQuery с включенным единым входом. |
Datasource |
Объект, однозначно определяющий один источник данных по сведениям о подключении. |
Effective |
Определяет удостоверение пользователя и роли. Дополнительные сведения см. в статье Безопасность на уровне строк с помощью Power BI Embedded. |
Embed |
Токен внедрения Power BI |
Generate |
Power BI Generate Token Request V2 |
Generate |
Объект набора данных в GenerateTokenRequestV2 |
Generate |
Объект отчета в GenerateTokenRequestV2 |
Generate |
Объект рабочей области в GenerateTokenRequestV2 |
Identity |
Большой двоичный объект для указания удостоверения. Поддерживается только для наборов данных с подключением DirectQuery к Azure SQL |
Xmla |
Разрешения XMLA |
DatasourceConnectionDetails
Сведения о подключении к источнику данных Power BI. Примеры см. в разделах Получение источников данных или Получение источников данных в группе.
Имя | Тип | Описание |
---|---|---|
account |
string |
Учетная запись подключения |
classInfo |
string |
Сведения о классе подключения |
database |
string |
База данных подключения |
domain |
string |
Домен подключения |
emailAddress |
string |
Адрес электронной почты для подключения |
kind |
string |
Тип подключения |
loginServer |
string |
Сервер входа подключения |
path |
string |
Путь подключения |
server |
string |
Сервер подключения |
url |
string |
URL-адрес подключения |
DatasourceIdentity
Эффективное удостоверение для подключения источников данных DirectQuery с включенным единым входом.
Имя | Тип | Описание |
---|---|---|
datasources |
Массив источников данных, к которым применяется это удостоверение. |
|
identityBlob |
string |
Большой двоичный объект для указания удостоверения. |
DatasourceSelector
Объект, однозначно определяющий один источник данных по сведениям о подключении.
Имя | Тип | Описание | |||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
connectionDetails |
Сведения о подключении к источнику данных. Сведения о подключении можно получить с помощью команд Get Datasources для отчетов с разбивкой на страницы и Get Datasources для API отчетов powerbi . |
||||||||||||||||||||||||||||||||||||||||||||||||||||
datasourceType |
string |
Тип источника данных.
|
EffectiveIdentity
Определяет удостоверение пользователя и роли. Дополнительные сведения см. в статье Безопасность на уровне строк с помощью Power BI Embedded.
Имя | Тип | Описание |
---|---|---|
auditableContext |
string |
Контекст, доступный для аудита EffectiveIdentity. Если этот параметр указан и не пуст, он включает аудит EffectiveIdentity и для него будет задано имя пользователя в записи аудита. В противном случае контекст EffectiveIdentity будет опущен в записи аудита GenerateToken. |
customData |
string |
Пользовательские данные , используемые для применения правил безопасности на уровне строк. Поддерживается только для динамического подключения к Azure Analysis Services моделям и облачным моделям. |
datasets |
string[] |
Массив наборов данных, к которым применяется это удостоверение. |
identityBlob |
Большой двоичный объект, указывающий удостоверение. Поддерживается только для наборов данных с подключением DirectQuery к Azure SQL. |
|
reports |
string[] |
Массив отчетов, к которым применяется это удостоверение. Поддерживается только для отчетов с разбивкой на страницы. |
roles |
string[] |
Массив ролей безопасности на уровне строк (RLS) в маркере, который применяет правила RLS. Удостоверение может содержать до 50 ролей. Роль может содержать любой символ, кроме |
username |
string |
Действующее имя пользователя в маркере, который применяет правила безопасности на уровне строк. Для локальной модели имя пользователя может содержать буквенно-цифровые или любой из следующих символов |
EmbedToken
Токен внедрения Power BI
Имя | Тип | Описание |
---|---|---|
expiration |
string |
Дата и время окончания срока действия маркера (UTC) |
token |
string |
Токен внедрения |
tokenId |
string |
Уникальный идентификатор маркера. С помощью журналов аудита идентификатор маркера можно использовать для сопоставления операций, использующих маркер, с операцией создания. |
GenerateTokenRequestV2
Power BI Generate Token Request V2
Имя | Тип | Описание |
---|---|---|
datasets |
Список наборов данных |
|
datasourceIdentities |
Список удостоверений, используемых при подключении к источникам данных с включенным единым Sign-On (SSO). |
|
identities |
Список удостоверений, используемых для правил безопасности на уровне строк |
|
lifetimeInMinutes |
integer |
Максимальное время существования маркера в минутах, начиная с момента его создания. Можно использовать для сокращения срока действия маркера, но не для его продления. Значение должно быть положительным целым числом. Ноль ( |
reports |
Список отчетов |
|
targetWorkspaces |
Список рабочих областей, в которые токен внедрения позволяет сохранять |
GenerateTokenRequestV2Dataset
Объект набора данных в GenerateTokenRequestV2
Имя | Тип | Описание |
---|---|---|
id |
string |
Идентификатор набора данных |
xmlaPermissions |
Разрешения XMLA |
GenerateTokenRequestV2Report
Объект отчета в GenerateTokenRequestV2
Имя | Тип | Описание |
---|---|---|
allowEdit |
boolean |
Поддерживает ли созданный токен внедрения редактирование отчета |
id |
string |
Идентификатор отчета |
GenerateTokenRequestV2TargetWorkspace
Объект рабочей области в GenerateTokenRequestV2
Имя | Тип | Описание |
---|---|---|
id |
string |
идентификатор рабочей области; |
IdentityBlob
Большой двоичный объект для указания удостоверения. Поддерживается только для наборов данных с подключением DirectQuery к Azure SQL
Имя | Тип | Описание |
---|---|---|
value |
string |
Маркер доступа OAuth 2.0 для Azure SQL |
XmlaPermissions
Разрешения XMLA
Имя | Тип | Описание |
---|---|---|
Off |
string |
Указывает, что созданный маркер внедрения не предоставляет разрешения на доступ к конечной точке XMLA набора данных. |
ReadOnly |
string |
Указывает, что созданный токен внедрения предоставляет разрешения на чтение конечной точке XMLA набора данных. |