Embed Token - Reports GenerateTokenInGroup

Génère un jeton incorporé pour afficher ou modifier le rapport spécifié à partir de l’espace de travail spécifié.

Conseil

Pour créer des jetons incorporés, il est recommandé d’utiliser la dernière API, Générer un jeton. Générer un jeton prend en charge des fonctions supplémentaires, telles que la création d’un jeton pour plusieurs éléments.

Important

Cet appel d’API est uniquement pertinent pour le scénario d’incorporation pour vos clients . Pour en savoir plus sur l’utilisation de cette API, consultez Considérations lors de la génération d’un jeton incorporé.

Autorisations

Étendue requise

Toutes les conditions suivantes, sauf si une exigence ne s’applique pas :

  • Report.ReadWrite.All ou Report.Read.All
  • Dataset.ReadWrite.All ou Dataset.Read.All
  • Content.Create, obligatoire si l’indicateur allowSaveAs est spécifié dans GenerateTokenRequest

Limites

Pour Azure Analysis Services ou les rapports de connexion en direct locaux Analysis Services, la génération d’un jeton incorporé avec une sécurité au niveau des lignes peut ne pas fonctionner pendant plusieurs minutes après un rapport Rebind.

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

Paramètres URI

Nom Dans Obligatoire Type Description
groupId
path True

string

uuid

L’ID de l’espace de travail

reportId
path True

string

uuid

ID de rapport

Corps de la demande

Nom Type Description
accessLevel

TokenAccessLevel

Niveau d’accès requis pour la génération de jetons incorporés

allowSaveAs

boolean

Indique si un rapport incorporé peut être enregistré en tant que nouveau rapport. La valeur par défaut est false. S’applique uniquement lorsque vous générez un jeton incorporé pour l’incorporation de rapports.

datasetId

string

ID de jeu de données utilisé pour la création de rapport. S’applique uniquement lorsque vous générez un jeton incorporé pour la création d’un rapport.

identities

EffectiveIdentity[]

Liste des identités à utiliser pour les règles de sécurité au niveau des lignes

lifetimeInMinutes

integer

Durée de vie maximale du jeton en minutes, à partir de l’heure à laquelle il a été généré. Peut être utilisé pour raccourcir la durée d’expiration d’un jeton, mais pas pour l’étendre. Cette valeur doit être un entier positif. Zéro (0) équivaut à null et sera ignoré, ce qui entraîne le délai d’expiration par défaut.

Réponses

Nom Type Description
200 OK

EmbedToken

Ok

Exemples

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

Définitions

Nom Description
EffectiveIdentity

Définit l’identité et les rôles de l’utilisateur. Pour plus d’informations, consultez Sécurité au niveau des lignes avec Power BI Embedded.

EmbedToken

Un jeton incorporé Power BI

GenerateTokenRequest

Power BI Generate Token Request

IdentityBlob

Objet blob permettant de spécifier une identité. Pris en charge uniquement pour les jeux de données avec une connexion DirectQuery à Azure SQL

TokenAccessLevel

Niveau d’accès requis pour la génération de jetons incorporés

EffectiveIdentity

Définit l’identité et les rôles de l’utilisateur. Pour plus d’informations, consultez Sécurité au niveau des lignes avec Power BI Embedded.

Nom Type Description
auditableContext

string

Contexte auditable EffectiveIdentity. Si ce paramètre est fourni et n’est pas vide, il active l’audit de l’EffectiveIdentity et sa valeur est définie sur le nom d’utilisateur dans l’enregistrement d’audit. Sinon, le contexte EffectiveIdentity sera omis de l’enregistrement d’audit GenerateToken.

customData

string

Données personnalisées utilisées pour appliquer des règles de sécurité au niveau des lignes. Pris en charge pour la connexion dynamique aux modèles Azure Analysis Services et aux modèles cloud uniquement.

datasets

string[]

Tableau de jeux de données pour lesquels cette identité s’applique

identityBlob

IdentityBlob

Objet blob qui spécifie une identité. Pris en charge uniquement pour les jeux de données avec une connexion DirectQuery à Azure SQL.

reports

string[]

Tableau de rapports pour lesquels cette identité s’applique. Pris en charge uniquement pour les rapports paginés.

roles

string[]

Tableau de rôles de sécurité au niveau des lignes (RLS) au sein d’un jeton qui applique des règles RLS. Une identité peut contenir jusqu’à 50 rôles. Un rôle peut contenir n’importe quel caractère à l’exception ,de , et sa longueur ne doit pas dépasser 50 caractères.

username

string

Nom d’utilisateur effectif dans un jeton qui applique des règles de sécurité au niveau des lignes. Pour un modèle local, le nom d’utilisateur peut contenir alphanumérique ou l’un des caractères .suivants , , -, ^#!~_, . @\\ Pour les modèles cloud, le nom d’utilisateur peut contenir n’importe quel caractère ASCII. Pour l’un ou l’autre modèle, la longueur du nom d’utilisateur ne doit pas dépasser 256 caractères et le nom d’utilisateur ne doit pas contenir d’espaces.

EmbedToken

Un jeton incorporé Power BI

Nom Type Description
expiration

string

Date et heure (UTC) de l’expiration du jeton

token

string

Jeton incorporé

tokenId

string

ID de jeton unique. Par le biais des journaux d’audit, l’ID de jeton peut être utilisé pour mettre en corrélation les opérations qui utilisent le jeton avec l’opération de génération.

GenerateTokenRequest

Power BI Generate Token Request

Nom Type Description
accessLevel

TokenAccessLevel

Niveau d’accès requis pour la génération de jetons incorporés

allowSaveAs

boolean

Indique si un rapport incorporé peut être enregistré en tant que nouveau rapport. La valeur par défaut est false. S’applique uniquement lorsque vous générez un jeton incorporé pour l’incorporation de rapports.

datasetId

string

ID de jeu de données utilisé pour la création de rapport. S’applique uniquement lorsque vous générez un jeton incorporé pour la création d’un rapport.

identities

EffectiveIdentity[]

Liste des identités à utiliser pour les règles de sécurité au niveau des lignes

lifetimeInMinutes

integer

Durée de vie maximale du jeton en minutes, à partir de l’heure à laquelle il a été généré. Peut être utilisé pour raccourcir la durée d’expiration d’un jeton, mais pas pour l’étendre. Cette valeur doit être un entier positif. Zéro (0) équivaut à null et sera ignoré, ce qui entraîne le délai d’expiration par défaut.

IdentityBlob

Objet blob permettant de spécifier une identité. Pris en charge uniquement pour les jeux de données avec une connexion DirectQuery à Azure SQL

Nom Type Description
value

string

Jeton d’accès OAuth 2.0 pour Azure SQL

TokenAccessLevel

Niveau d’accès requis pour la génération de jetons incorporés

Nom Type Description
Create

string

Indique que le jeton incorporé généré accorde l’autorisation de création. S’applique uniquement lorsque vous générez un jeton incorporé pour la création d’un rapport.

Edit

string

Indique que le jeton incorporé généré accorde des autorisations d’affichage et de modification. S’applique uniquement lorsque vous générez un jeton incorporé pour l’incorporation de rapports.

View

string

Indique que le jeton incorporé généré accorde l’autorisation d’affichage uniquement