Bagikan melalui


Embed Token - Generate Token

Menghasilkan token semat untuk beberapa laporan, himpunan data, dan ruang kerja target.

  • Laporan dan himpunan data tidak harus terkait.
  • Anda dapat mengikat laporan ke himpunan data selama penyematan.
  • Anda hanya dapat membuat laporan di ruang kerja yang ditentukan oleh targetWorkspaces parameter .

Penting

Panggilan API ini hanya relevan dengan sematan untuk skenario pelanggan Anda . Untuk mempelajari selengkapnya tentang menggunakan API ini, lihat Pertimbangan saat membuat token semat.

Izin

Cakupan yang Diperlukan

Semua hal berikut, kecuali persyaratan tidak berlaku:

  • Content.Create, diperlukan jika ruang kerja target ditentukan dalam GenerateTokenRequestV2.
  • Report.ReadWrite.All atau Report.Read.All, diperlukan jika laporan ditentukan dalam GenerateTokenRequestV2.
  • Report.ReadWrite.All, diperlukan jika allowEdit bendera ditentukan untuk setidaknya satu laporan di GenerateTokenRequestV2.
  • Dataset.ReadWrite.All atau Dataset.Read.All

Batasan

  • Anda hanya dapat membuat laporan di ruang kerja yang ditentukan oleh targetWorkspaces parameter .
  • Semua laporan dan himpunan data harus berada di ruang kerja V2 .
  • Semua ruang kerja target harus ruang kerja V2 .
  • Maksimum 50 laporan.
  • Maksimum 50 himpunan data.
  • Maksimum 50 ruang kerja target.
  • Untuk Azure Analysis Services atau laporan koneksi langsung lokal Analysis Services, menghasilkan token semat dengan keamanan tingkat baris (RLS) mungkin tidak berfungsi selama beberapa menit setelah pengikatan ulang.

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

Isi Permintaan

Nama Jenis Deskripsi
datasets

GenerateTokenRequestV2Dataset[]

Daftar himpunan data

datasourceIdentities

DatasourceIdentity[]

Daftar identitas yang akan digunakan saat menyambungkan ke sumber data dengan single Sign-On (SSO) diaktifkan.

identities

EffectiveIdentity[]

Daftar identitas yang akan digunakan untuk aturan keamanan tingkat baris

lifetimeInMinutes

integer

Masa pakai maksimum token dalam hitungan menit, mulai dari waktu pembuatannya. Dapat digunakan untuk mempersingkat waktu kedaluwarsa token, tetapi tidak untuk memperpanjangnya. Nilai harus berupa bilangan bulat positif. Nol (0) setara nulldengan , dan akan mengatur waktu kedaluwarsa default.

reports

GenerateTokenRequestV2Report[]

Daftar laporan

targetWorkspaces

GenerateTokenRequestV2TargetWorkspace[]

Daftar ruang kerja yang akan diizinkan untuk disimpan oleh token semat

Respons

Nama Jenis Deskripsi
200 OK

EmbedToken

OK

Contoh

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

Definisi

Nama Deskripsi
DatasourceConnectionDetails

Detail koneksi sumber data Power BI. Lihat contoh di Dapatkan Sumber Data atau Dapatkan Sumber Data Dalam Grup.

DatasourceIdentity

Identitas efektif untuk menghubungkan sumber data DirectQuery dengan akses menyeluruh (SSO) diaktifkan.

DatasourceSelector

Objek yang secara unik mengidentifikasi satu sumber data dengan detail koneksinya.

EffectiveIdentity

Menentukan identitas dan peran pengguna. Untuk informasi selengkapnya, lihat Keamanan tingkat baris dengan Power BI Embedded.

EmbedToken

Token semat Power BI

GenerateTokenRequestV2

Power BI Menghasilkan Permintaan Token V2

GenerateTokenRequestV2Dataset

Objek himpunan data di GenerateTokenRequestV2

GenerateTokenRequestV2Report

Objek laporan di GenerateTokenRequestV2

GenerateTokenRequestV2TargetWorkspace

Objek ruang kerja di GenerateTokenRequestV2

IdentityBlob

Blob untuk menentukan identitas. Hanya didukung untuk himpunan data dengan koneksi DirectQuery ke Azure SQL

XmlaPermissions

Izin XMLA

DatasourceConnectionDetails

Detail koneksi sumber data Power BI. Lihat contoh di Dapatkan Sumber Data atau Dapatkan Sumber Data Dalam Grup.

Nama Jenis Deskripsi
account

string

Akun koneksi

classInfo

string

Informasi kelas koneksi

database

string

Database koneksi

domain

string

Domain koneksi

emailAddress

string

Alamat email koneksi

kind

string

Jenis koneksi

loginServer

string

Server masuk koneksi

path

string

Jalur koneksi

server

string

Server koneksi

url

string

URL koneksi

DatasourceIdentity

Identitas efektif untuk menghubungkan sumber data DirectQuery dengan akses menyeluruh (SSO) diaktifkan.

Nama Jenis Deskripsi
datasources

DatasourceSelector[]

Array sumber data tempat identitas ini berlaku.

identityBlob

string

Blob untuk menentukan identitas.

DatasourceSelector

Objek yang secara unik mengidentifikasi satu sumber data dengan detail koneksinya.

Nama Jenis Deskripsi
connectionDetails

DatasourceConnectionDetails

Detail koneksi sumber data. Anda dapat memperoleh detail koneksi menggunakan Get Datasources untuk laporan paginasi dan Dapatkan Datasources untuk API laporan powerbi .

datasourceType

string

Jenis sumber data.

Nama API untuk sumber data
ActiveDirectory AdobeAnalytics AdoDotNet
AnalysisServices AzureBlobs AzureDataLakeStorage
AzureMarketplace AzureTables BizTalk
CDPA CustomConnector KustomHttpApi
DB2 Essbase EventHub
Excel Exchange Ekstensi
Facebook File Folder
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

Menentukan identitas dan peran pengguna. Untuk informasi selengkapnya, lihat Keamanan tingkat baris dengan Power BI Embedded.

Nama Jenis Deskripsi
auditableContext

string

Konteks yang dapat diaudit EffectiveIdentity. Jika parameter ini disediakan dan tidak kosong, parameter ini akan mengaktifkan audit EffectiveIdentity dan nilainya akan diatur ke nama pengguna dalam catatan audit. Jika tidak, konteks EffectiveIdentity akan dihilangkan dari catatan audit GenerateToken.

customData

string

Data kustom yang digunakan untuk menerapkan aturan keamanan tingkat baris. Didukung untuk koneksi langsung ke model Azure Analysis Services dan model cloud saja.

datasets

string[]

Array himpunan data tempat identitas ini berlaku

identityBlob

IdentityBlob

Blob yang menentukan identitas. Hanya didukung untuk himpunan data dengan koneksi DirectQuery ke Azure SQL.

reports

string[]

Array laporan tempat identitas ini berlaku. Hanya didukung untuk laporan paginasi.

roles

string[]

Array peran keamanan tingkat baris (RLS) dalam token yang menerapkan aturan RLS. Identitas dapat berisi hingga 50 peran. Peran dapat berisi karakter apa pun kecuali ,, dan panjangnya tidak boleh melebihi 50 karakter.

username

string

Nama pengguna yang efektif dalam token yang menerapkan aturan keamanan tingkat baris. Untuk model lokal, nama pengguna dapat berisi alfanumerik atau salah satu karakter .berikut , , -, , _#!, ^, ~, \\, . @ Untuk model cloud, nama pengguna dapat berisi karakter ASCII apa pun. Untuk salah satu model, panjang nama pengguna tidak boleh melebihi 256 karakter, dan nama pengguna tidak boleh berisi spasi.

EmbedToken

Token semat Power BI

Nama Jenis Deskripsi
expiration

string

Tanggal dan waktu (UTC) kedaluwarsa token

token

string

Token yang disematkan

tokenId

string

ID token unik. Melalui log audit, ID token dapat digunakan untuk menghubungkan operasi yang menggunakan token dengan operasi hasilkan.

GenerateTokenRequestV2

Power BI Menghasilkan Permintaan Token V2

Nama Jenis Deskripsi
datasets

GenerateTokenRequestV2Dataset[]

Daftar himpunan data

datasourceIdentities

DatasourceIdentity[]

Daftar identitas yang akan digunakan saat menyambungkan ke sumber data dengan Single Sign-On (SSO) diaktifkan.

identities

EffectiveIdentity[]

Daftar identitas yang digunakan untuk aturan keamanan tingkat baris

lifetimeInMinutes

integer

Masa pakai maksimum token dalam hitungan menit, mulai dari waktu pembuatannya. Dapat digunakan untuk mempersingkat waktu kedaluwarsa token, tetapi tidak untuk memperpanjangnya. Nilai harus berupa bilangan bulat positif. Nol (0) setara nulldengan , dan akan mengatur waktu kedaluwarsa default.

reports

GenerateTokenRequestV2Report[]

Daftar laporan

targetWorkspaces

GenerateTokenRequestV2TargetWorkspace[]

Daftar ruang kerja yang akan diizinkan untuk disimpan oleh token semat

GenerateTokenRequestV2Dataset

Objek himpunan data di GenerateTokenRequestV2

Nama Jenis Deskripsi
id

string

ID himpunan data

xmlaPermissions

XmlaPermissions

Izin XMLA

GenerateTokenRequestV2Report

Objek laporan di GenerateTokenRequestV2

Nama Jenis Deskripsi
allowEdit

boolean

Apakah token semat yang dihasilkan mendukung pengeditan laporan

id

string

ID laporan

GenerateTokenRequestV2TargetWorkspace

Objek ruang kerja di GenerateTokenRequestV2

Nama Jenis Deskripsi
id

string

ID ruang kerja

IdentityBlob

Blob untuk menentukan identitas. Hanya didukung untuk himpunan data dengan koneksi DirectQuery ke Azure SQL

Nama Jenis Deskripsi
value

string

Token akses OAuth 2.0 untuk Azure SQL

XmlaPermissions

Izin XMLA

Nama Jenis Deskripsi
Off

string

Menunjukkan bahwa token semat yang dihasilkan tidak memberikan izin akses ke titik akhir XMLA himpunan data.

ReadOnly

string

Menunjukkan bahwa token semat yang dihasilkan memberikan izin akses Baca ke titik akhir XMLA himpunan data.