Embed Token - Generate Token
Génère un jeton incorporé pour plusieurs rapports, jeux de données et espaces de travail cibles.
- Les rapports et les jeux de données n’ont pas besoin d’être associés.
- Vous pouvez lier un rapport à un jeu de données pendant l’incorporation.
- Vous pouvez uniquement créer un rapport dans les espaces de travail spécifiés par le paramètre
targetWorkspaces
.
Important
Cet appel d’API s’applique uniquement à l’incorporation pour vos clients scénario. Pour en savoir plus sur l’utilisation de cette API, consultez Considérations relatives à la génération d’un jeton incorporé.
Autorisations
- Lorsque vous utilisez un principal de service pour l’authentification, reportez-vous à Incorporer du contenu Power BI avec le principal de service et Considérations et limitations.
- Pour les rapports Power BI avec un visuel paginé, incluez l’ID de rapport paginé dans l’appel d’API. Pour plus d’informations, consultez l’exemple.
- Cet appel d’API peut être appelé par un profil de principal de service. Pour plus d’informations, consultez : profils de principal de service dans Power BI Embedded.
Étendue requise
Toutes les conditions suivantes, sauf si une exigence ne s’applique pas :
- Content.Create, obligatoire si un espace de travail cible est spécifié dans GenerateTokenRequestV2.
- Report.ReadWrite.All ou Report.Read.All, obligatoire si un rapport est spécifié dans GenerateTokenRequestV2.
- Report.ReadWrite.All, obligatoire si l’indicateur
allowEdit
est spécifié pour au moins un rapport dans GenerateTokenRequestV2. - Dataset.ReadWrite.All ou Dataset.Read.All
Limites
- Vous pouvez uniquement créer un rapport dans les espaces de travail spécifiés par le paramètre
targetWorkspaces
. - Tous les rapports et jeux de données doivent résider dans un espace de travail V2.
- Tous les espaces de travail cibles doivent être espaces de travail V2.
- Maximum 50 rapports.
- 50 jeux de données maximum.
- 50 espaces de travail cibles maximum.
- Pour les rapports de connexion dynamique locale Azure Analysis Services ou Analysis Services, la génération d’un jeton incorporé avec la sécurité au niveau des lignes (RLS) peut ne pas fonctionner pendant plusieurs minutes après une rebinée.
POST https://api.powerbi.com/v1.0/myorg/GenerateToken
Corps de la demande
Nom | Type | Description |
---|---|---|
datasets |
Liste des jeux de données |
|
datasourceIdentities |
Liste des identités à utiliser lors de la connexion à des sources de données avec Sign-On l’authentification unique (SSO) activée. |
|
identities |
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 du moment où il a été généré. Peut être utilisé pour raccourcir le délai d’expiration du jeton, mais pas pour l’étendre. La valeur doit être un entier positif. Zéro ( |
reports |
Liste des rapports |
|
targetWorkspaces |
Liste des espaces de travail auxquels le jeton incorporé permet d’enregistrer dans |
Réponses
Nom | Type | Description |
---|---|---|
200 OK |
D’ACCORD |
Exemples
Example of generating an embed token for a dataset and two reports example. Only one of the reports can be edited.
Exemple de requête
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"
}
]
}
Exemple de réponse
{
"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
Exemple de requête
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"
]
}
]
}
Exemple de réponse
{
"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
Exemple de requête
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="
}
]
}
Exemple de réponse
{
"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
Exemple de requête
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="
}
]
}
Exemple de réponse
{
"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
Exemple de requête
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="
}
]
}
Exemple de réponse
{
"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
Exemple de requête
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="
}
]
}
Exemple de réponse
{
"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.
Exemple de requête
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"
}
]
}
Exemple de réponse
{
"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.
Exemple de requête
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"
]
}
]
}
Exemple de réponse
{
"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
Exemple de requête
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
}
Exemple de réponse
{
"token": "H4sI....AAA=",
"tokenId": "4b76f5ed-5a06-4150-8d1b-60f8e4c186f4",
"expiration": "2028-07-29T17:58:19Z"
}
Définitions
Nom | Description |
---|---|
Datasource |
Détails de la connexion à la source de données Power BI. Consultez des exemples dans Obtenir des sources de données ou Obtenir des sources de données dans lede groupe. |
Datasource |
Identité effective pour connecter des sources de données DirectQuery avec l’authentification unique activée. |
Datasource |
Objet qui identifie de manière unique une seule source de données par ses détails de connexion. |
Effective |
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. |
Embed |
Un jeton d’incorporation Power BI |
Generate |
Générer une demande de jeton Power BI V2 |
Generate |
Objet de jeu de données dans GenerateTokenRequestV2 |
Generate |
Objet de rapport dans GenerateTokenRequestV2 |
Generate |
Objet d’espace de travail dans GenerateTokenRequestV2 |
Identity |
Objet blob pour spécifier une identité. Uniquement pris en charge pour les jeux de données avec une connexion DirectQuery à Azure SQL |
Xmla |
Autorisations XMLA |
DatasourceConnectionDetails
Détails de la connexion à la source de données Power BI. Consultez des exemples dans Obtenir des sources de données ou Obtenir des sources de données dans lede groupe.
Nom | Type | Description |
---|---|---|
account |
string |
Compte de connexion |
classInfo |
string |
Informations sur la classe de connexion |
database |
string |
Base de données de connexion |
domain |
string |
Domaine de connexion |
emailAddress |
string |
Adresse e-mail de connexion |
kind |
string |
Type de connexion |
loginServer |
string |
Le serveur de connexion de connexion |
path |
string |
Chemin d’accès de connexion |
server |
string |
Le serveur de connexion |
url |
string |
URL de connexion |
DatasourceIdentity
Identité effective pour connecter des sources de données DirectQuery avec l’authentification unique activée.
Nom | Type | Description |
---|---|---|
datasources |
Tableau de sources de données auxquelles cette identité s’applique. |
|
identityBlob |
string |
Objet blob pour spécifier l’identité. |
DatasourceSelector
Objet qui identifie de manière unique une seule source de données par ses détails de connexion.
Nom | Type | Description | |||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
connectionDetails |
Détails de la connexion à la source de données. Vous pouvez obtenir les détails de connexion à l’aide de Obtenir des sources de données pour les rapports paginés et Obtenir des sources de données pour les rapports powerbi API. |
||||||||||||||||||||||||||||||||||||||||||||||||||||
datasourceType |
string |
Type de la source de données .
|
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 est omis à partir 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. Prise 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 |
Objet blob qui spécifie une identité . Uniquement pris en charge pour les jeux de données avec une connexion DirectQuery à Azure SQL. |
|
reports |
string[] |
Tableau de rapports pour lesquels cette identité s’applique. Uniquement pris en charge 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 de sécurité au niveau des lignes. Une identité peut contenir jusqu’à 50 rôles. Un rôle peut contenir n’importe quel caractère, sauf |
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 des caractères alphanumériques ou l’un des caractères suivants |
EmbedToken
Un jeton d’incorporation Power BI
Nom | Type | Description |
---|---|---|
expiration |
string (date-time) |
Date et heure (UTC) de l’expiration du jeton |
token |
string |
Jeton incorporé |
tokenId |
string (uuid) |
ID de jeton unique. Grâce aux 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. |
GenerateTokenRequestV2
Générer une demande de jeton Power BI V2
Nom | Type | Description |
---|---|---|
datasets |
Liste des jeux de données |
|
datasourceIdentities |
Liste des identités à utiliser lors de la connexion à des sources de données avec Sign-On l’authentification unique (SSO) activée. |
|
identities |
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 du moment où il a été généré. Peut être utilisé pour raccourcir le délai d’expiration du jeton, mais pas pour l’étendre. La valeur doit être un entier positif. Zéro ( |
reports |
Liste des rapports |
|
targetWorkspaces |
Liste des espaces de travail auxquels le jeton incorporé permet d’enregistrer dans |
GenerateTokenRequestV2Dataset
Objet de jeu de données dans GenerateTokenRequestV2
Nom | Type | Description |
---|---|---|
id |
string |
ID du jeu de données |
xmlaPermissions |
Autorisations XMLA |
GenerateTokenRequestV2Report
Objet de rapport dans GenerateTokenRequestV2
Nom | Type | Description |
---|---|---|
allowEdit |
boolean |
Indique si le jeton incorporé généré prend en charge la modification de rapport |
id |
string (uuid) |
ID de rapport |
GenerateTokenRequestV2TargetWorkspace
Objet d’espace de travail dans GenerateTokenRequestV2
Nom | Type | Description |
---|---|---|
id |
string (uuid) |
Identifiant de l’espace de travail |
IdentityBlob
Objet blob pour spécifier une identité. Uniquement pris en charge 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 |
XmlaPermissions
Autorisations XMLA
Valeur | Description |
---|---|
Off |
Indique que le jeton incorporé généré n’accorde pas d’autorisations d’accès au point de terminaison XMLA du jeu de données. |
ReadOnly |
Indique que le jeton incorporé généré accorde des autorisations d’accès en lecture au point de terminaison XMLA du jeu de données. |