Поделиться через


Embed Token - Reports GenerateTokenInGroup

Создает маркер внедрения для просмотра или изменения указанного отчета из указанной рабочей области.

Подсказка

Чтобы создать маркеры внедрения, рекомендуется использовать последний API, создать токен. Создание маркера поддерживает дополнительные функции, такие как создание маркера для нескольких элементов.

Это важно

Этот вызов API относится только к внедрению для клиентов сценария. Дополнительные сведения об использовании этого API см. в статье Рекомендации по созданию маркера внедрения.

Разрешения

Требуемая область

Все указанные ниже действия, если требование не применяется:

  • Report.ReadWrite.All или Report.Read.All
  • Dataset.ReadWrite.All или Dataset.Read.All
  • Content.Create, обязательный, если флаг allowSaveAs указан в GenerateTokenRequest

Ограничения

Для локальных отчетов о подключении azure Analysis Services или Analysis Services создание маркера внедрения с безопасностью на уровне строк может не работать через несколько минут после повторной привязки отчета.

POST https://api.powerbi.com/v1.0/myorg/groups/{groupId}/reports/{reportId}/GenerateToken

Параметры URI

Имя В Обязательно Тип Описание
groupId
path True

string (uuid)

Идентификатор рабочей области

reportId
path True

string (uuid)

Идентификатор отчета

Текст запроса

Имя Тип Описание
accessLevel

TokenAccessLevel

Необходимый уровень доступа для создания маркеров внедрения

allowSaveAs

boolean

Можно ли сохранить внедренный отчет в виде нового отчета. Значение по умолчанию — false. Применяется только при создании маркера внедрения для внедрения отчета.

datasetId

string

Идентификатор набора данных, используемый для создания отчета. Применяется только при создании маркера внедрения для создания отчета.

identities

EffectiveIdentity[]

Список удостоверений, используемых для правил безопасности на уровне строк

lifetimeInMinutes

integer

Максимальное время существования маркера в минутах, начиная с момента его создания. Можно использовать для сокращения срока действия маркера, но не для его расширения. Значение должно быть положительным целым числом. Ноль (0) эквивалентен null и будет игнорироваться, что приводит к истечении срока действия по умолчанию.

Ответы

Имя Тип Описание
200 OK

EmbedToken

ХОРОШО

Примеры

Generate a paginated report embed token using an effective identity example
Generate a report embed token for editing example. The embed token uses an effective identity.
Generate a report embed token for viewing a report and saving to a new report example
Generate a report embed token using an effective identity example
Generate a report embed token using an effective identity with an identity blob example
Generate a report embed token using an effective identity with custom data for Azure Analysis Services example
Generate a report embed token using an effective identity with multiple roles example

Generate a paginated report embed token using an effective identity example

Образец запроса

POST https://api.powerbi.com/v1.0/myorg/groups/f089354e-8366-4e18-aea3-4cb4a3a50b48/reports/5b218778-e7a5-4d73-8187-f10824047715/GenerateToken
{
  "accessLevel": "View",
  "identities": [
    {
      "username": "John Smith",
      "reports": [
        "cfafbeb1-8037-4d0c-896e-a46fb27ff229"
      ]
    }
  ]
}

Пример ответа

{
  "token": "H4sI....AAA=",
  "tokenId": "49ae3742-54c0-4c29-af52-619ff93b5c80",
  "expiration": "2018-07-29T17:58:19Z"
}

Generate a report embed token for editing example. The embed token uses an effective identity.

Образец запроса

POST https://api.powerbi.com/v1.0/myorg/groups/f089354e-8366-4e18-aea3-4cb4a3a50b48/reports/5b218778-e7a5-4d73-8187-f10824047715/GenerateToken
{
  "accessLevel": "Edit",
  "identities": [
    {
      "username": "[email protected]",
      "roles": [
        "sales"
      ],
      "datasets": [
        "cfafbeb1-8037-4d0c-896e-a46fb27ff229"
      ]
    }
  ]
}

Пример ответа

{
  "token": "H4sI....AAA=",
  "tokenId": "49ae3742-54c0-4c29-af52-619ff93b5c80",
  "expiration": "2018-07-29T17:58:19Z"
}

Generate a report embed token for viewing a report and saving to a new report example

Образец запроса

POST https://api.powerbi.com/v1.0/myorg/groups/f089354e-8366-4e18-aea3-4cb4a3a50b48/reports/5b218778-e7a5-4d73-8187-f10824047715/GenerateToken
{
  "accessLevel": "View",
  "allowSaveAs": "true"
}

Пример ответа

{
  "token": "H4sI....AAA=",
  "tokenId": "49ae3742-54c0-4c29-af52-619ff93b5c80",
  "expiration": "2018-07-29T17:58:19Z"
}

Generate a report embed token using an effective identity example

Образец запроса

POST https://api.powerbi.com/v1.0/myorg/groups/f089354e-8366-4e18-aea3-4cb4a3a50b48/reports/5b218778-e7a5-4d73-8187-f10824047715/GenerateToken
{
  "accessLevel": "View",
  "identities": [
    {
      "username": "[email protected]",
      "roles": [
        "sales"
      ],
      "datasets": [
        "cfafbeb1-8037-4d0c-896e-a46fb27ff229"
      ]
    }
  ]
}

Пример ответа

{
  "token": "H4sI....AAA=",
  "tokenId": "49ae3742-54c0-4c29-af52-619ff93b5c80",
  "expiration": "2018-07-29T17:58:19Z"
}

Generate a report embed token using an effective identity with an identity blob example

Образец запроса

POST https://api.powerbi.com/v1.0/myorg/groups/f089354e-8366-4e18-aea3-4cb4a3a50b48/reports/5b218778-e7a5-4d73-8187-f10824047715/GenerateToken
{
  "accessLevel": "View",
  "identities": [
    {
      "datasets": [
        "cfafbeb1-8037-4d0c-896e-a46fb27ff229"
      ],
      "identityBlob": {
        "value": "eyJ0eX....AAA="
      }
    }
  ]
}

Пример ответа

{
  "token": "H4sI....AAA=",
  "tokenId": "49ae3742-54c0-4c29-af52-619ff93b5c80",
  "expiration": "2018-07-29T17:58:19Z"
}

Generate a report embed token using an effective identity with custom data for Azure Analysis Services example

Образец запроса

POST https://api.powerbi.com/v1.0/myorg/groups/f089354e-8366-4e18-aea3-4cb4a3a50b48/reports/5b218778-e7a5-4d73-8187-f10824047715/GenerateToken
{
  "accessLevel": "View",
  "identities": [
    {
      "username": "[email protected]",
      "customData": "john_contoso.com",
      "roles": [
        "sales"
      ],
      "datasets": [
        "cfafbeb1-8037-4d0c-896e-a46fb27ff229"
      ]
    }
  ]
}

Пример ответа

{
  "token": "H4sI....AAA=",
  "tokenId": "49ae3742-54c0-4c29-af52-619ff93b5c80",
  "expiration": "2018-07-29T17:58:19Z"
}

Generate a report embed token using an effective identity with multiple roles example

Образец запроса

POST https://api.powerbi.com/v1.0/myorg/groups/f089354e-8366-4e18-aea3-4cb4a3a50b48/reports/5b218778-e7a5-4d73-8187-f10824047715/GenerateToken
{
  "accessLevel": "View",
  "identities": [
    {
      "username": "[email protected]",
      "roles": [
        "sales",
        "marketing"
      ],
      "datasets": [
        "cfafbeb1-8037-4d0c-896e-a46fb27ff229"
      ]
    }
  ]
}

Пример ответа

{
  "token": "H4sI....AAA=",
  "tokenId": "49ae3742-54c0-4c29-af52-619ff93b5c80",
  "expiration": "2018-07-29T17:58:19Z"
}

Определения

Имя Описание
EffectiveIdentity

Определяет удостоверение пользователя и роли. Дополнительные сведения см. в статье Безопасность на уровне строк с помощью Power BI Embedded.

EmbedToken

Токен внедрения Power BI

GenerateTokenRequest

Power BI Generate Token Request

IdentityBlob

Большой двоичный объект для указания удостоверения. Поддерживается только для наборов данных с подключением DirectQuery к SQL Azure

TokenAccessLevel

Необходимый уровень доступа для создания маркеров внедрения

EffectiveIdentity

Определяет удостоверение пользователя и роли. Дополнительные сведения см. в статье Безопасность на уровне строк с помощью Power BI Embedded.

Имя Тип Описание
auditableContext

string

Контекст аудита EffectiveIdentity. Если этот параметр указан и не пуст, то он позволит выполнить аудит действующей идентификаторности, а его значение будет присвоено имени пользователя в записи аудита. В противном случае контекст EffectiveIdentity будет опущен из записи аудита GenerateToken.

customData

string

пользовательские данные, которые используются для применения правил безопасности на уровне строк. Поддерживается только для динамического подключения к моделям Azure Analysis Services и облачным моделям.

datasets

string[]

Массив наборов данных, для которых применяется это удостоверение

identityBlob

IdentityBlob

Большой двоичный объект, указывающий удостоверение . Поддерживается только для наборов данных с подключением DirectQuery к SQL Azure.

reports

string[]

Массив отчетов, для которых применяется это удостоверение. Поддерживается только для отчетов с разбивкой на страницы.

roles

string[]

Массив ролей безопасности на уровне строк (RLS) в маркере, который применяет правила RLS. Удостоверение может содержать до 50 ролей. Роль может содержать любой символ, кроме ,, и ее длина не должна превышать 50 символов.

username

string

Эффективное имя пользователя в маркере, которое применяет правила безопасности на уровне строк. Для локальной модели имя пользователя может содержать буквенно-цифровые или любой из следующих символов ., -, _, !, #, ^, ~, \\, @. Для облачных моделей имя пользователя может содержать любой символ ASCII. Для любой модели длина имени пользователя не должна превышать 256 символов, а имя пользователя не должно содержать пробелы.

EmbedToken

Токен внедрения Power BI

Имя Тип Описание
expiration

string (date-time)

Дата и время (UTC) истечения срока действия маркера

token

string

Токен внедрения

tokenId

string (uuid)

Уникальный идентификатор маркера. С помощью журналов аудита идентификатор маркера можно использовать для сопоставления операций, использующих маркер с операцией создания.

GenerateTokenRequest

Power BI Generate Token Request

Имя Тип Описание
accessLevel

TokenAccessLevel

Необходимый уровень доступа для создания маркеров внедрения

allowSaveAs

boolean

Можно ли сохранить внедренный отчет в виде нового отчета. Значение по умолчанию — false. Применяется только при создании маркера внедрения для внедрения отчета.

datasetId

string

Идентификатор набора данных, используемый для создания отчета. Применяется только при создании маркера внедрения для создания отчета.

identities

EffectiveIdentity[]

Список удостоверений, используемых для правил безопасности на уровне строк

lifetimeInMinutes

integer

Максимальное время существования маркера в минутах, начиная с момента его создания. Можно использовать для сокращения срока действия маркера, но не для его расширения. Значение должно быть положительным целым числом. Ноль (0) эквивалентен null и будет игнорироваться, что приводит к истечении срока действия по умолчанию.

IdentityBlob

Большой двоичный объект для указания удостоверения. Поддерживается только для наборов данных с подключением DirectQuery к SQL Azure

Имя Тип Описание
value

string

Маркер доступа OAuth 2.0 для SQL Azure

TokenAccessLevel

Необходимый уровень доступа для создания маркеров внедрения

Значение Описание
Create

Указывает, что созданный маркер внедрения предоставляет разрешение на создание. Применяется только при создании маркера внедрения для создания отчета.

Edit

Указывает, что созданный маркер внедрения предоставляет представление и изменение разрешений. Применяется только при создании маркера внедрения для внедрения отчета.

View

Указывает, что созданный маркер внедрения предоставляет разрешение только для просмотра