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 parameter targetWorkspaces.

Penting

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

Hak akses

  • Saat menggunakan perwakilan layanan untuk autentikasi, lihat Menyematkan konten Power BI dengan perwakilan layanan dan Pertimbangan dan batasan .
  • Untuk laporan Power BI dengan visual yang dipaginasi, sertakan ID laporan yang dipaginasi dalam panggilan API. Untuk informasi selengkapnya, lihat contoh .
  • Panggilan API ini dapat dipanggil oleh profil perwakilan layanan. Untuk informasi selengkapnya lihat: profil perwakilan layanan di Power BI Embedded.

Cakupan yang Diperlukan

Semua hal berikut, kecuali persyaratan tidak berlaku:

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

Keterbatasan

  • Anda hanya dapat membuat laporan di ruang kerja yang ditentukan oleh parameter targetWorkspaces.
  • 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 laporan koneksi langsung lokal Azure Analysis Services atau Analysis Services, menghasilkan token semat dengan keamanan tingkat baris (RLS) mungkin tidak berfungsi selama beberapa menit setelah mengikat 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 yang dihasilkan. Dapat digunakan untuk mempersingkat waktu kedaluwarsa token, tetapi tidak untuk memperpanjangnya. Nilai harus berupa bilangan bulat positif. Nol (0) setara dengan null, 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.

Permintaan sampel

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

Respon sampel

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

Permintaan sampel

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

Respon sampel

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

Permintaan sampel

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

Respon sampel

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

Permintaan sampel

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

Respon sampel

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

Permintaan sampel

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

Respon sampel

{
  "token": "H4sI....AAA=",
  "tokenId": "49ae3742-54c0-4c29-af52-619ff93b5c80",
  "expiration": "2028-07-29T17:58:19Z"
}

Permintaan sampel

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

Respon sampel

{
  "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.

Permintaan sampel

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

Respon sampel

{
  "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.

Permintaan sampel

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

Respon sampel

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

Permintaan sampel

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
}

Respon sampel

{
  "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 yang diterapkan identitas ini.

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 Dapatkan Sumber Data untuk laporan paginasi dan Dapatkan Sumber Data untuk laporan powerbi API.

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 Pertukaran Ekstensi
Facebook Arsip 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 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 yang dipaginasi.

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 (date-time)

Tanggal dan waktu (UTC) kedaluwarsa token

token

string

Token yang disematkan

tokenId

string (uuid)

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 akan digunakan untuk aturan keamanan tingkat baris

lifetimeInMinutes

integer

Masa pakai maksimum token dalam hitungan menit, mulai dari waktu yang dihasilkan. Dapat digunakan untuk mempersingkat waktu kedaluwarsa token, tetapi tidak untuk memperpanjangnya. Nilai harus berupa bilangan bulat positif. Nol (0) setara dengan null, 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 (uuid)

ID laporan

GenerateTokenRequestV2TargetWorkspace

Objek ruang kerja di GenerateTokenRequestV2

Nama Jenis Deskripsi
id

string (uuid)

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

Nilai Deskripsi
Off

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

ReadOnly

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