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 (единый вход). |
|
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.
Образец запроса
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"
}
]
}
Пример ответа
{
"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
Образец запроса
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"
]
}
]
}
Пример ответа
{
"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
Образец запроса
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="
}
]
}
Пример ответа
{
"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
Образец запроса
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="
}
]
}
Пример ответа
{
"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
Образец запроса
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="
}
]
}
Пример ответа
{
"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
Образец запроса
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="
}
]
}
Пример ответа
{
"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.
Образец запроса
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"
}
]
}
Пример ответа
{
"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.
Образец запроса
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"
]
}
]
}
Пример ответа
{
"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
Образец запроса
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
}
Пример ответа
{
"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 версии 2 |
Generate |
Объект набора данных в GenerateTokenRequestV2 |
Generate |
Объект отчета в GenerateTokenRequestV2 |
Generate |
Объект рабочей области в GenerateTokenRequestV2 |
Identity |
Большой двоичный объект для указания удостоверения. Поддерживается только для наборов данных с подключением DirectQuery к SQL Azure |
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 |
Сведения о подключении к источнику данных. Сведения о подключении можно получить с помощью получения источников данных для отчетов с разбивкой на страницы и получения источников данных для отчетов Powerbi API. |
||||||||||||||||||||||||||||||||||||||||||||||||||||
datasourceType |
string |
Тип источника данных.
|
EffectiveIdentity
Определяет удостоверение пользователя и роли. Дополнительные сведения см. в статье Безопасность на уровне строк с помощью Power BI Embedded.
Имя | Тип | Описание |
---|---|---|
auditableContext |
string |
Контекст аудита EffectiveIdentity. Если этот параметр указан и не пуст, то он позволит выполнить аудит действующей идентификаторности, а его значение будет присвоено имени пользователя в записи аудита. В противном случае контекст EffectiveIdentity будет опущен из записи аудита GenerateToken. |
customData |
string |
пользовательские данные, которые используются для применения правил безопасности на уровне строк. Поддерживается только для динамического подключения к моделям Azure Analysis Services и облачным моделям. |
datasets |
string[] |
Массив наборов данных, для которых применяется это удостоверение |
identityBlob |
Большой двоичный объект, указывающий удостоверение . Поддерживается только для наборов данных с подключением DirectQuery к SQL Azure. |
|
reports |
string[] |
Массив отчетов, для которых применяется это удостоверение. Поддерживается только для отчетов с разбивкой на страницы. |
roles |
string[] |
Массив ролей безопасности на уровне строк (RLS) в маркере, который применяет правила RLS. Удостоверение может содержать до 50 ролей. Роль может содержать любой символ, кроме |
username |
string |
Эффективное имя пользователя в маркере, которое применяет правила безопасности на уровне строк. Для локальной модели имя пользователя может содержать буквенно-цифровые или любой из следующих символов |
EmbedToken
Токен внедрения Power BI
Имя | Тип | Описание |
---|---|---|
expiration |
string (date-time) |
Дата и время (UTC) истечения срока действия маркера |
token |
string |
Токен внедрения |
tokenId |
string (uuid) |
Уникальный идентификатор маркера. С помощью журналов аудита идентификатор маркера можно использовать для сопоставления операций, использующих маркер с операцией создания. |
GenerateTokenRequestV2
Power BI Generate Token Request версии 2
Имя | Тип | Описание |
---|---|---|
datasets |
Список наборов данных |
|
datasourceIdentities |
Список удостоверений, используемых при подключении к источникам данных с включенным одним Sign-On (единый вход). |
|
identities |
Список удостоверений, используемых для правил безопасности на уровне строк |
|
lifetimeInMinutes |
integer |
Максимальное время существования маркера в минутах, начиная с момента его создания. Можно использовать для сокращения срока действия маркера, но не для его расширения. Значение должно быть положительным целым числом. Ноль ( |
reports |
Список отчетов |
|
targetWorkspaces |
Список рабочих областей, на которые будет разрешено сохранение маркера внедрения |
GenerateTokenRequestV2Dataset
Объект набора данных в GenerateTokenRequestV2
Имя | Тип | Описание |
---|---|---|
id |
string |
Идентификатор набора данных |
xmlaPermissions |
Разрешения XMLA |
GenerateTokenRequestV2Report
Объект отчета в GenerateTokenRequestV2
Имя | Тип | Описание |
---|---|---|
allowEdit |
boolean |
Поддерживает ли созданный маркер внедрения редактирование отчета |
id |
string (uuid) |
Идентификатор отчета |
GenerateTokenRequestV2TargetWorkspace
Объект рабочей области в GenerateTokenRequestV2
Имя | Тип | Описание |
---|---|---|
id |
string (uuid) |
Идентификатор рабочей области |
IdentityBlob
Большой двоичный объект для указания удостоверения. Поддерживается только для наборов данных с подключением DirectQuery к SQL Azure
Имя | Тип | Описание |
---|---|---|
value |
string |
Маркер доступа OAuth 2.0 для SQL Azure |
XmlaPermissions
Разрешения XMLA
Значение | Описание |
---|---|
Off |
Указывает, что созданный маркер внедрения не предоставляет разрешения на доступ к конечной точке XMLA набора данных. |
ReadOnly |
Указывает, что созданный маркер внедрения предоставляет разрешения на чтение для конечной точки XMLA набора данных. |