Embed Token - Generate Token

Generiert ein Einbettungstoken für mehrere Berichte, Datasets und Zielarbeitsbereiche.

  • Berichte und Datasets müssen nicht miteinander verknüpft sein.
  • Sie können einen Bericht während der Einbettung an ein Dataset binden.
  • Sie können einen Bericht nur in Arbeitsbereichen erstellen, die durch den targetWorkspaces -Parameter angegeben werden.

Wichtig

Dieser API-Aufruf ist nur für das Szenario einbetten für Ihre Kunden relevant. Weitere Informationen zur Verwendung dieser API finden Sie unter Überlegungen zum Generieren eines Einbettungstokens.

Berechtigungen

Erforderlicher Bereich

Alle folgenden Punkte, es sei denn, eine Anforderung trifft nicht zu:

  • Content.Create, erforderlich, wenn in GenerateTokenRequestV2 ein Zielarbeitsbereich angegeben wird.
  • Report.ReadWrite.All oder Report.Read.All, erforderlich, wenn ein Bericht in GenerateTokenRequestV2 angegeben ist.
  • Report.ReadWrite.All, erforderlich, wenn das allowEdit Flag für mindestens einen Bericht in GenerateTokenRequestV2 angegeben ist.
  • Dataset.ReadWrite.All oder Dataset.Read.All

Einschränkungen

  • Sie können einen Bericht nur in Arbeitsbereichen erstellen, die durch den targetWorkspaces -Parameter angegeben werden.
  • Alle Berichte und Datasets müssen sich in einem V2-Arbeitsbereich befinden.
  • Alle Zielarbeitsbereiche müssen V2-Arbeitsbereiche sein.
  • Maximal 50 Berichte.
  • Maximal 50 Datasets.
  • Maximal 50 Zielarbeitsbereiche.
  • Bei Azure Analysis Services oder lokalen Liveverbindungsberichten von Analysis Services funktioniert das Generieren eines Einbettungstokens mit Sicherheit auf Zeilenebene (Row-Level Security, RLS) möglicherweise mehrere Minuten nach einer erneuten Bindung nicht.

POST https://api.powerbi.com/v1.0/myorg/GenerateToken

Anforderungstext

Name Typ Beschreibung
datasets

GenerateTokenRequestV2Dataset[]

Eine Liste von Datasets

datasourceIdentities

DatasourceIdentity[]

Liste der Identitäten, die beim Herstellen einer Verbindung mit Datenquellen mit aktiviertem einmaligem Sign-On (Single Sign-On, SSO) verwendet werden sollen.

identities

EffectiveIdentity[]

Die Liste der Identitäten, die für Sicherheitsregeln auf Zeilenebene verwendet werden sollen

lifetimeInMinutes

integer

Die maximale Lebensdauer des Tokens in Minuten, beginnend mit dem Zeitpunkt, zu dem es generiert wurde. Kann verwendet werden, um die Ablaufzeit des Tokens zu verkürzen, aber nicht, um es zu verlängern. Der Wert muss eine positive ganze Zahl sein. Null (0) entspricht null, und legt die Standardablaufzeit fest.

reports

GenerateTokenRequestV2Report[]

Eine Liste von Berichten

targetWorkspaces

GenerateTokenRequestV2TargetWorkspace[]

Die Liste der Arbeitsbereiche, in denen das Einbettungstoken gespeichert werden kann

Antworten

Name Typ Beschreibung
200 OK

EmbedToken

OK

Beispiele

Example of generating an embed token for a dataset and two reports example. Only one of the reports can be edited.
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
Example of generating an embed token for a paginated report with a data source identity
Example of generating an embed token for a paginated report with multiple data source identities and a single identity blob
Example of generating an embed token for a paginated report with multiple data source identities and multiple identity blobs
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
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.
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.
Example of generating an embed token that expires no later than ten minutes from the API call

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

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

Definitionen

Name Beschreibung
DatasourceConnectionDetails

Die Verbindungsdetails der Power BI-Datenquelle. Beispiele finden Sie unter Abrufen von Datenquellen oder Abrufen von Datenquellen in Gruppe.

DatasourceIdentity

Effektive Identität zum Verbinden von DirectQuery-Datenquellen mit aktiviertem einmaligem Anmelden (Single Sign-On, SSO).

DatasourceSelector

Ein Objekt, das eine einzelne Datenquelle anhand ihrer Verbindungsdetails eindeutig identifiziert.

EffectiveIdentity

Definiert die Benutzeridentität und -rollen. Weitere Informationen finden Sie unter Sicherheit auf Zeilenebene mit Power BI Embedded.

EmbedToken

Ein Power BI-Einbettungstoken

GenerateTokenRequestV2

Power BI Generate Token Request V2

GenerateTokenRequestV2Dataset

Ein Datasetobjekt in GenerateTokenRequestV2

GenerateTokenRequestV2Report

Ein Berichtsobjekt in GenerateTokenRequestV2

GenerateTokenRequestV2TargetWorkspace

Ein Arbeitsbereichsobjekt in GenerateTokenRequestV2

IdentityBlob

Ein Blob zum Angeben einer Identität. Nur für Datasets mit einer DirectQuery-Verbindung mit Azure SQL

XmlaPermissions

XMLA-Berechtigungen

DatasourceConnectionDetails

Die Verbindungsdetails der Power BI-Datenquelle. Beispiele finden Sie unter Abrufen von Datenquellen oder Abrufen von Datenquellen in Gruppe.

Name Typ Beschreibung
account

string

Das Verbindungskonto

classInfo

string

Informationen zur Verbindungsklasse

database

string

Die Verbindungsdatenbank

domain

string

Die Verbindungsdomäne

emailAddress

string

Die Verbindungs-E-Mail-Adresse

kind

string

Die Verbindungsart

loginServer

string

Verbindungsanmeldungsserver

path

string

Der Verbindungspfad

server

string

Der Verbindungsserver

url

string

Die Verbindungs-URL

DatasourceIdentity

Effektive Identität zum Verbinden von DirectQuery-Datenquellen mit aktiviertem einmaligem Anmelden (Single Sign-On, SSO).

Name Typ Beschreibung
datasources

DatasourceSelector[]

Ein Array von Datenquellen, für das diese Identität gilt.

identityBlob

string

Ein Blob zum Angeben der Identität.

DatasourceSelector

Ein Objekt, das eine einzelne Datenquelle anhand ihrer Verbindungsdetails eindeutig identifiziert.

Name Typ Beschreibung
connectionDetails

DatasourceConnectionDetails

Die Verbindungsdetails der Datenquelle. Sie können die Verbindungsdetails abrufen, indem Sie Datenquellen für paginierte Berichte abrufen und Datenquellen für powerbi-Berichts-APIs abrufen .

datasourceType

string

Der Typ der Datenquelle.

API-Name für die Datenquelle
ActiveDirectory AdobeAnalytics AdoDotNet
AnalysisServices AzureBlobs AzureDataLakeStorage
AzureMarketplace AzureTables BizTalk
CDPA CustomConnector CustomHttpApi
DB2 Essbase EventHub
Excel Exchange Durchwahl
Facebook Datei Ordner
GoogleAnalytics Hdfs HDInsight
Informix MQ MySQL
OData ODBC OLEDB
Oracle PostgreSQL PowerQueryMashup
PubNub Salesforce SAPBW
SAPBWMessageServer SapErp SAPHana
SharePoint SharePointDocLib SharePointList
Sql Sybase Teradata
UIFlow Web

EffectiveIdentity

Definiert die Benutzeridentität und -rollen. Weitere Informationen finden Sie unter Sicherheit auf Zeilenebene mit Power BI Embedded.

Name Typ Beschreibung
auditableContext

string

Der überprüfbare Kontext von EffectiveIdentity. Wenn dieser Parameter angegeben und nicht leer ist, aktiviert er die Überwachung von EffectiveIdentity, und sein Wert wird auf den Benutzernamen im Überwachungsdatensatz festgelegt. Andernfalls wird der EffectiveIdentity-Kontext aus dem GenerateToken-Überwachungsdatensatz weggelassen.

customData

string

Benutzerdefinierte Daten , die zum Anwenden von Sicherheitsregeln auf Zeilenebene verwendet werden. Wird nur für die Liveverbindung mit Azure Analysis Services- und Cloudmodellen unterstützt.

datasets

string[]

Ein Array von Datasets, für die diese Identität gilt

identityBlob

IdentityBlob

Ein Blob, das eine Identität angibt. Wird nur für Datasets mit einer DirectQuery-Verbindung mit Azure SQL unterstützt.

reports

string[]

Ein Array von Berichten, für die diese Identität gilt. Nur für paginierte Berichte unterstützt.

roles

string[]

Ein Array von Sicherheitsrollen auf Zeilenebene (RLS) in einem Token, das RLS-Regeln anwendet. Eine Identität kann bis zu 50 Rollen enthalten. Eine Rolle kann ein beliebiges Zeichen mit Ausnahme ,von enthalten, und ihre Länge darf 50 Zeichen nicht überschreiten.

username

string

Der effektive Benutzername in einem Token, das Sicherheitsregeln auf Zeilenebene anwendet. Bei einem lokalen Modell kann der Benutzername alphanumerisch oder eines der folgenden Zeichen .enthalten: , -, _, !, #, ^, , ~, \\. @ Bei Cloudmodellen kann der Benutzername ein beliebiges ASCII-Zeichen enthalten. Bei beiden Modellen darf die Benutzernamenlänge nicht mehr als 256 Zeichen betragen, und der Benutzername darf keine Leerzeichen enthalten.

EmbedToken

Ein Power BI-Einbettungstoken

Name Typ Beschreibung
expiration

string

Datum und Uhrzeit (UTC) des Tokenablaufs

token

string

Das Einbettungstoken

tokenId

string

Die eindeutige Token-ID. Über Überwachungsprotokolle kann die Token-ID verwendet werden, um Vorgänge zu korrelieren, die das Token mit dem Generierenvorgang verwenden.

GenerateTokenRequestV2

Power BI Generate Token Request V2

Name Typ Beschreibung
datasets

GenerateTokenRequestV2Dataset[]

Eine Liste von Datasets

datasourceIdentities

DatasourceIdentity[]

Liste der Identitäten, die beim Herstellen einer Verbindung mit Datenquellen mit aktiviertem einmaligem Sign-On (Single Sign-On, SSO) verwendet werden sollen.

identities

EffectiveIdentity[]

Liste der Identitäten, die für Sicherheitsregeln auf Zeilenebene verwendet werden sollen

lifetimeInMinutes

integer

Die maximale Lebensdauer des Tokens in Minuten ab dem Zeitpunkt, zu dem es generiert wurde. Kann verwendet werden, um die Ablaufzeit des Tokens zu verkürzen, aber nicht, um es zu erweitern. Der Wert muss eine positive ganze Zahl sein. Null (0) entspricht nullund legt die Standardablaufzeit fest.

reports

GenerateTokenRequestV2Report[]

Eine Liste von Berichten

targetWorkspaces

GenerateTokenRequestV2TargetWorkspace[]

Die Liste der Arbeitsbereiche, in denen das Einbettungstoken gespeichert werden kann

GenerateTokenRequestV2Dataset

Ein Datasetobjekt in GenerateTokenRequestV2

Name Typ Beschreibung
id

string

Die Dataset-ID

xmlaPermissions

XmlaPermissions

XMLA-Berechtigungen

GenerateTokenRequestV2Report

Ein Berichtsobjekt in GenerateTokenRequestV2

Name Typ Beschreibung
allowEdit

boolean

Gibt an, ob das generierte Einbettungstoken die Berichtsbearbeitung unterstützt

id

string

Die Berichts-ID

GenerateTokenRequestV2TargetWorkspace

Ein Arbeitsbereichsobjekt in GenerateTokenRequestV2

Name Typ Beschreibung
id

string

Arbeitsbereich-ID

IdentityBlob

Ein Blob zum Angeben einer Identität. Nur für Datasets mit einer DirectQuery-Verbindung mit Azure SQL

Name Typ Beschreibung
value

string

Ein OAuth 2.0-Zugriffstoken für Azure SQL

XmlaPermissions

XMLA-Berechtigungen

Name Typ Beschreibung
Off

string

Gibt an, dass das generierte Einbettungstoken dem XMLA-Endpunkt des Datasets keine Zugriffsberechtigungen gewährt.

ReadOnly

string

Gibt an, dass das generierte Einbettungstoken lesezugriffsberechtigungen für den XMLA-Endpunkt des Datasets gewährt.