Embed Token - Reports GenerateTokenInGroup
產生內嵌權杖,以檢視或編輯指定工作區中的指定報表。
提示
若要建立內嵌權杖,建議您使用最新的 API 產生權杖。 產生權杖支援其他函式,例如為多個專案建立權杖。
重要
此 API 呼叫只與 客戶案例的內嵌 相關。 若要深入瞭解如何使用此 API,請參閱 產生內嵌權杖時的考慮。
權限
- 使用服務主體進行驗證時,請參閱 使用服務主體內嵌 Power BI 內容 和 考慮和限制。
- 此 API 呼叫可由服務主體設定檔呼叫。 如需詳細資訊,請參閱:Power BI Embedded中的服務主體設定檔。
必要範圍
除非需求不適用,否則所有專案皆適用:
- Report.ReadWrite.All 或 Report.Read.All
- Dataset.ReadWrite.All 或 Dataset.Read.All
- Content.Create,如果在
allowSaveAs
GenerateTokenRequest中指定旗標,則為必要專案
限制
對於Azure Analysis Services或 Analysis Services 內部部署即時連線報告,在重新系結報表之後,產生內嵌權杖與資料列層級安全性可能無法運作數分鐘。
POST https://api.powerbi.com/v1.0/myorg/groups/{groupId}/reports/{reportId}/GenerateToken
URI 參數
名稱 | 位於 | 必要 | 類型 | Description |
---|---|---|---|---|
group
|
path | True |
string uuid |
工作區識別碼 |
report
|
path | True |
string uuid |
報表識別碼 |
要求本文
名稱 | 類型 | Description |
---|---|---|
accessLevel |
內嵌權杖產生所需的存取層級 |
|
allowSaveAs |
boolean |
是否可以將內嵌報表儲存為新的報表。 預設值是 |
datasetId |
string |
用於建立報表的資料集識別碼。 只有在產生用於建立報表的內嵌權杖時,才適用。 |
identities |
要用於資料列層級安全性規則的身分識別清單 |
|
lifetimeInMinutes |
integer |
權杖的存留期上限,從產生權杖的時間開始。 可用來縮短權杖的到期時間,但無法加以擴充。 其值必須為正整數。 零 (0) 相當於 null,而且將會忽略,導致預設到期時間。 |
回應
名稱 | 類型 | Description |
---|---|---|
200 OK |
確定 |
範例
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"
}
定義
名稱 | Description |
---|---|
Effective |
定義使用者身分識別和角色。 如需詳細資訊,請參閱資料列層級安全性與Power BI Embedded。 |
Embed |
Power BI 內嵌權杖 |
Generate |
Power BI 產生權杖要求 |
Identity |
用於指定身分識別的 Blob。 僅支援具有 DirectQuery 連線至 Azure SQL 的資料集 |
Token |
內嵌權杖產生所需的存取層級 |
EffectiveIdentity
定義使用者身分識別和角色。 如需詳細資訊,請參閱資料列層級安全性與Power BI Embedded。
名稱 | 類型 | Description |
---|---|---|
auditableContext |
string |
EffectiveIdentity 可稽核的內容。 如果提供此參數且不是空的,則會啟用 EffectiveIdentity 的稽核,而且其值將會設定為稽核記錄中的使用者名稱。 否則,EffectiveIdentity 內容將會從 GenerateToken 稽核記錄中省略。 |
customData |
string |
用來套用資料列層級安全性規則的自訂資料。 僅支援與Azure Analysis Services模型和雲端模型的即時連線。 |
datasets |
string[] |
套用此身分識別的資料集陣列 |
identityBlob |
指定 身分識別的 Blob。 僅支援具有 DirectQuery 連線至 Azure SQL的資料集。 |
|
reports |
string[] |
套用此身分識別的報表陣列。 僅支援編頁報表。 |
roles |
string[] |
套用 RLS 規則的權杖內,資料列層級安全性 (RLS) 角色的陣列。 身分識別最多可以包含 50 個角色。 角色可以包含除了 以外的 |
username |
string |
套用資料列層級安全性規則之權杖內的有效使用者名稱。 針對內部部署模型,使用者名稱可以包含英數位元或下列任何字元 |
EmbedToken
Power BI 內嵌權杖
名稱 | 類型 | Description |
---|---|---|
expiration |
string |
權杖到期的日期和時間 (UTC) |
token |
string |
內嵌權杖 |
tokenId |
string |
唯一的權杖識別碼。 透過稽核記錄,權杖識別碼可用來將使用權杖與產生作業的作業相互關聯。 |
GenerateTokenRequest
Power BI 產生權杖要求
名稱 | 類型 | Description |
---|---|---|
accessLevel |
內嵌權杖產生所需的存取層級 |
|
allowSaveAs |
boolean |
是否可以將內嵌報表儲存為新的報表。 預設值是 |
datasetId |
string |
用於建立報表的資料集識別碼。 只有在產生用於建立報表的內嵌權杖時,才適用。 |
identities |
要用於資料列層級安全性規則的身分識別清單 |
|
lifetimeInMinutes |
integer |
權杖的存留期上限,從產生權杖的時間開始。 可用來縮短權杖的到期時間,但無法加以擴充。 其值必須為正整數。 零 (0) 相當於 null,而且將會忽略,導致預設到期時間。 |
IdentityBlob
用於指定身分識別的 Blob。 僅支援具有 DirectQuery 連線至 Azure SQL 的資料集
名稱 | 類型 | Description |
---|---|---|
value |
string |
適用于 Azure SQL 的 OAuth 2.0 存取權杖 |
TokenAccessLevel
內嵌權杖產生所需的存取層級
名稱 | 類型 | Description |
---|---|---|
Create |
string |
表示產生的內嵌權杖會授與建立許可權。 只有在產生用於建立報表的內嵌權杖時,才適用。 |
Edit |
string |
指出產生的內嵌權杖授與檢視和編輯許可權。 僅適用于產生報表內嵌的內嵌權杖時。 |
View |
string |
指出產生的內嵌權杖授與僅限檢視許可權 |