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


Embed Token - Reports GenerateTokenInGroup

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

Совет

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

Важно!

Этот вызов 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

Sample Request

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"
      ]
    }
  ]
}

Sample Response

{
  "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.

Sample Request

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": "john@contoso.com",
      "roles": [
        "sales"
      ],
      "datasets": [
        "cfafbeb1-8037-4d0c-896e-a46fb27ff229"
      ]
    }
  ]
}

Sample Response

{
  "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

Sample Request

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"
}

Sample Response

{
  "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

Sample Request

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@contoso.com",
      "roles": [
        "sales"
      ],
      "datasets": [
        "cfafbeb1-8037-4d0c-896e-a46fb27ff229"
      ]
    }
  ]
}

Sample Response

{
  "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

Sample Request

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="
      }
    }
  ]
}

Sample Response

{
  "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

Sample Request

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@contoso.com",
      "customData": "john_contoso.com",
      "roles": [
        "sales"
      ],
      "datasets": [
        "cfafbeb1-8037-4d0c-896e-a46fb27ff229"
      ]
    }
  ]
}

Sample Response

{
  "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

Sample Request

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@contoso.com",
      "roles": [
        "sales",
        "marketing"
      ],
      "datasets": [
        "cfafbeb1-8037-4d0c-896e-a46fb27ff229"
      ]
    }
  ]
}

Sample Response

{
  "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 к Azure SQL

TokenAccessLevel

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

EffectiveIdentity

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

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

string

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

customData

string

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

datasets

string[]

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

identityBlob

IdentityBlob

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

reports

string[]

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

roles

string[]

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

username

string

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

EmbedToken

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

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

string

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

token

string

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

tokenId

string

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

GenerateTokenRequest

Power BI Generate Token Request

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

TokenAccessLevel

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

allowSaveAs

boolean

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

datasetId

string

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

identities

EffectiveIdentity[]

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

lifetimeInMinutes

integer

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

IdentityBlob

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

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

string

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

TokenAccessLevel

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

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

string

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

Edit

string

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

View

string

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