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
- Wenn Sie einen Dienstprinzipal für die Authentifizierung verwenden, lesen Sie Einbetten von Power BI-Inhalten mit Dienstprinzipal und Überlegungen und Einschränkungen.
- Fügen Sie für Power BI-Berichte mit einem paginierten Visual die ID des paginierten Berichts in den API-Aufruf ein. Weitere Informationen finden Sie im Beispiel.
- Dieser API-Aufruf kann von einem Dienstprinzipalprofil aufgerufen werden. Weitere Informationen finden Sie unter Dienstprinzipalprofile in Power BI Embedded.
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 |
Eine Liste von Datasets |
|
datasourceIdentities |
Liste der Identitäten, die beim Herstellen einer Verbindung mit Datenquellen mit aktiviertem einmaligem Sign-On (Single Sign-On, SSO) verwendet werden sollen. |
|
identities |
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 ( |
reports |
Eine Liste von Berichten |
|
targetWorkspaces |
Die Liste der Arbeitsbereiche, in denen das Einbettungstoken gespeichert werden kann |
Antworten
Name | Typ | Beschreibung |
---|---|---|
200 OK |
OK |
Beispiele
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"
}
Definitionen
Name | Beschreibung |
---|---|
Datasource |
Die Verbindungsdetails der Power BI-Datenquelle. Beispiele finden Sie unter Abrufen von Datenquellen oder Abrufen von Datenquellen in Gruppe. |
Datasource |
Effektive Identität zum Verbinden von DirectQuery-Datenquellen mit aktiviertem einmaligem Anmelden (Single Sign-On, SSO). |
Datasource |
Ein Objekt, das eine einzelne Datenquelle anhand ihrer Verbindungsdetails eindeutig identifiziert. |
Effective |
Definiert die Benutzeridentität und -rollen. Weitere Informationen finden Sie unter Sicherheit auf Zeilenebene mit Power BI Embedded. |
Embed |
Ein Power BI-Einbettungstoken |
Generate |
Power BI Generate Token Request V2 |
Generate |
Ein Datasetobjekt in GenerateTokenRequestV2 |
Generate |
Ein Berichtsobjekt in GenerateTokenRequestV2 |
Generate |
Ein Arbeitsbereichsobjekt in GenerateTokenRequestV2 |
Identity |
Ein Blob zum Angeben einer Identität. Nur für Datasets mit einer DirectQuery-Verbindung mit Azure SQL |
Xmla |
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 |
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 |
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.
|
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 |
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 |
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 |
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 |
Eine Liste von Datasets |
|
datasourceIdentities |
Liste der Identitäten, die beim Herstellen einer Verbindung mit Datenquellen mit aktiviertem einmaligem Sign-On (Single Sign-On, SSO) verwendet werden sollen. |
|
identities |
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 ( |
reports |
Eine Liste von Berichten |
|
targetWorkspaces |
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 |
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. |