Freigeben über


Embed Token - Reports GenerateTokenInGroup

Generiert ein Einbettungstoken, um den angegebenen Bericht aus dem angegebenen Arbeitsbereich anzuzeigen oder zu bearbeiten.

Tipp

Zum Erstellen von Einbettungstoken wird empfohlen, die neueste API zu verwenden, Token generieren. Token generieren unterstützt zusätzliche Funktionen, z. B. das Erstellen eines Tokens für mehrere Elemente.

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:

  • Report.ReadWrite.All oder Report.Read.All
  • Dataset.ReadWrite.All oder Dataset.Read.All
  • Content.Create, erforderlich, wenn das allowSaveAs Flag in GenerateTokenRequest angegeben ist

Einschränkungen

Bei Azure Analysis Services oder lokalen Liveverbindungsberichten von Analysis Services funktioniert das Generieren eines Einbettungstokens mit Sicherheit auf Zeilenebene möglicherweise mehrere Minuten nach einem bericht rebind nicht.

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

URI-Parameter

Name In Erforderlich Typ Beschreibung
groupId
path True

string

uuid

Arbeitsbereich-ID

reportId
path True

string

uuid

Die Berichts-ID

Anforderungstext

Name Typ Beschreibung
accessLevel

TokenAccessLevel

Die erforderliche Zugriffsebene für die Generierung von Einbettungstoken

allowSaveAs

boolean

Gibt an, ob ein eingebetteter Bericht als neuer Bericht gespeichert werden kann. Standardwert: false. Gilt nur, wenn Sie ein Einbettungstoken für die Berichtseinbettung generieren.

datasetId

string

Die Dataset-ID, die für die Berichtserstellung verwendet wird. Gilt nur, wenn Sie ein Einbettungstoken für die Berichtserstellung generieren.

identities

EffectiveIdentity[]

Eine 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 eines Tokens zu verkürzen, aber nicht, um es zu erweitern. Der Wert muss eine positive ganze Zahl sein. Null (0) entspricht NULL und wird ignoriert, was zur Standardablaufzeit führt.

Antworten

Name Typ Beschreibung
200 OK

EmbedToken

OK

Beispiele

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

Definitionen

Name Beschreibung
EffectiveIdentity

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

EmbedToken

Ein Power BI-Einbettungstoken

GenerateTokenRequest

Power BI Generate Token Request

IdentityBlob

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

TokenAccessLevel

Die erforderliche Zugriffsebene für die Generierung von Einbettungstoken

EffectiveIdentity

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

Name Typ Beschreibung
auditableContext

string

Der überprüfbare EffectiveIdentity-Kontext. Wenn dieser Parameter bereitgestellt wird 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 im GenerateToken-Überwachungsdatensatz weggelassen.

customData

string

Benutzerdefinierte Daten , die zum Anwenden von Sicherheitsregeln auf Zeilenebene verwendet werden. Wird nur für Liveverbindungen 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. Wird nur für paginierte Berichte unterstützt.

roles

string[]

Ein Array von RLS-Rollen (Row-Level Security) 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 Länge des Benutzernamens 256 Zeichen nicht überschreiten, 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 Generieren-Vorgang verwenden.

GenerateTokenRequest

Power BI Generate Token Request

Name Typ Beschreibung
accessLevel

TokenAccessLevel

Die erforderliche Zugriffsebene für die Generierung von Einbettungstoken

allowSaveAs

boolean

Gibt an, ob ein eingebetteter Bericht als neuer Bericht gespeichert werden kann. Standardwert: false. Gilt nur, wenn Sie ein Einbettungstoken für die Berichtseinbettung generieren.

datasetId

string

Die Dataset-ID, die für die Berichtserstellung verwendet wird. Gilt nur, wenn Sie ein Einbettungstoken für die Berichtserstellung generieren.

identities

EffectiveIdentity[]

Eine 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 eines Tokens zu verkürzen, aber nicht, um es zu erweitern. Der Wert muss eine positive ganze Zahl sein. Null (0) entspricht NULL und wird ignoriert, was zur Standardablaufzeit führt.

IdentityBlob

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

Name Typ Beschreibung
value

string

Ein OAuth 2.0-Zugriffstoken für Azure SQL

TokenAccessLevel

Die erforderliche Zugriffsebene für die Generierung von Einbettungstoken

Name Typ Beschreibung
Create

string

Gibt an, dass das generierte Einbettungstoken die Berechtigung zum Erstellen erteilt. Gilt nur, wenn Sie ein Einbettungstoken für die Berichtserstellung generieren.

Edit

string

Gibt an, dass das generierte Einbettungstoken Ansichts- und Bearbeitungsberechtigungen gewährt. Gilt nur, wenn Sie ein Einbettungstoken für die Berichtseinbettung generieren.

View

string

Gibt an, dass das generierte Einbettungstoken die Berechtigung "Nur-Ansicht" gewährt.