Partilhar via


Embed Token - Reports GenerateTokenInGroup

Gera um token de inserção para exibir ou editar o relatório especificado do workspace especificado.

Dica

Para criar tokens de inserção, é recomendável usar a API mais recente, Gerar Token. Gerar token dá suporte a funções adicionais, como a criação de um token para vários itens.

Importante

Essa chamada à API só é relevante para o cenário de inserção para seus clientes . Para saber mais sobre como usar essa API, consulte Considerações ao gerar um token de inserção.

Permissões

Escopo necessário

Tudo isso, a menos que um requisito não se aplique:

  • Report.ReadWrite.All ou Report.Read.All
  • Dataset.ReadWrite.All ou Dataset.Read.All
  • Content.Create, necessário se o allowSaveAs sinalizador for especificado em GenerateTokenRequest

Limitações

Para relatórios de conexão dinâmica local do Azure Analysis Services ou do Analysis Services, gerar um token de inserção com segurança em nível de linha pode não funcionar por vários minutos após um Relatório Rebind.

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

Parâmetros de URI

Nome Em Obrigatório Tipo Description
groupId
path True

string

uuid

A ID do workspace

reportId
path True

string

uuid

A ID do relatório

Corpo da solicitação

Nome Tipo Description
accessLevel

TokenAccessLevel

O nível de acesso necessário para a geração de token de inserção

allowSaveAs

boolean

Se um relatório inserido pode ser salvo como um novo relatório. O valor padrão é false. Aplica-se somente quando você gera um token de inserção para inserção de relatório.

datasetId

string

A ID do conjunto de dados usada para a criação do relatório. Aplica-se somente quando você gera um token de inserção para criação de relatório.

identities

EffectiveIdentity[]

Uma lista de identidades a serem usadas para regras de segurança em nível de linha

lifetimeInMinutes

integer

O tempo de vida máximo do token em minutos, começando a partir do momento em que ele foi gerado. Pode ser usado para reduzir o tempo de expiração de um token, mas não para estendê-lo. O valor deve ser um inteiro positivo. Zero (0) é equivalente a nulo e será ignorado, resultando no tempo de expiração padrão.

Respostas

Nome Tipo Description
200 OK

EmbedToken

OK

Exemplos

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

Definições

Nome Description
EffectiveIdentity

Define a identidade e as funções do usuário. Para obter mais informações, consulte Segurança em nível de linha com Power BI Embedded.

EmbedToken

Um token de inserção do Power BI

GenerateTokenRequest

Solicitação de geração de token do Power BI

IdentityBlob

Um blob para especificar uma identidade. Só há suporte para conjuntos de dados com uma conexão DirectQuery com SQL do Azure

TokenAccessLevel

O nível de acesso necessário para a geração de token de inserção

EffectiveIdentity

Define a identidade e as funções do usuário. Para obter mais informações, consulte Segurança em nível de linha com Power BI Embedded.

Nome Tipo Description
auditableContext

string

O contexto auditável EffectiveIdentity. Se esse parâmetro for fornecido e não estiver vazio, ele habilitará a auditoria da EffectiveIdentity e seu valor será definido como o nome de usuário no registro de auditoria. Caso contrário, o contexto EffectiveIdentity será omitido do registro de auditoria GenerateToken.

customData

string

Dados personalizados usados para aplicar regras de segurança em nível de linha. Compatível apenas com a conexão dinâmica com modelos de Azure Analysis Services e modelos de nuvem.

datasets

string[]

Uma matriz de conjuntos de dados para os quais essa identidade se aplica

identityBlob

IdentityBlob

Um blob que especifica uma identidade. Há suporte apenas para conjuntos de dados com uma conexão DirectQuery com SQL do Azure.

reports

string[]

Uma matriz de relatórios para os quais essa identidade se aplica. Só há suporte para relatórios paginados.

roles

string[]

Uma matriz de funções RLS (segurança em nível de linha) dentro de um token que aplica regras RLS. Uma identidade pode conter até 50 funções. Uma função pode conter qualquer caractere, exceto ,, e seu comprimento não deve exceder 50 caracteres.

username

string

O nome de usuário efetivo em um token que aplica regras de segurança em nível de linha. Para um modelo local, o nome de usuário pode conter alfanumérico ou qualquer um dos seguintes caracteres ., -, , _, !, #, ^, ~, , \\, . @ Para modelos de nuvem, o nome de usuário pode conter qualquer caractere ASCII. Para qualquer um dos modelos, o comprimento do nome de usuário não deve exceder 256 caracteres e o nome de usuário não deve conter espaços.

EmbedToken

Um token de inserção do Power BI

Nome Tipo Description
expiration

string

A data e hora (UTC) da expiração do token

token

string

O token de inserção

tokenId

string

A ID do token exclusivo. Por meio de logs de auditoria, a ID do token pode ser usada para correlacionar operações que usam o token com a operação de geração.

GenerateTokenRequest

Solicitação de geração de token do Power BI

Nome Tipo Description
accessLevel

TokenAccessLevel

O nível de acesso necessário para a geração de token de inserção

allowSaveAs

boolean

Se um relatório inserido pode ser salvo como um novo relatório. O valor padrão é false. Aplica-se somente quando você gera um token de inserção para inserção de relatório.

datasetId

string

A ID do conjunto de dados usada para a criação do relatório. Aplica-se somente quando você gera um token de inserção para criação de relatório.

identities

EffectiveIdentity[]

Uma lista de identidades a serem usadas para regras de segurança em nível de linha

lifetimeInMinutes

integer

O tempo de vida máximo do token em minutos, começando a partir do momento em que ele foi gerado. Pode ser usado para reduzir o tempo de expiração de um token, mas não para estendê-lo. O valor deve ser um inteiro positivo. Zero (0) é equivalente a nulo e será ignorado, resultando no tempo de expiração padrão.

IdentityBlob

Um blob para especificar uma identidade. Só há suporte para conjuntos de dados com uma conexão DirectQuery com SQL do Azure

Nome Tipo Description
value

string

Um token de acesso OAuth 2.0 para SQL do Azure

TokenAccessLevel

O nível de acesso necessário para a geração de token de inserção

Nome Tipo Description
Create

string

Indica que o token de inserção gerado concede permissão de criação. Aplica-se somente quando você gera um token de inserção para criação de relatório.

Edit

string

Indica que o token de inserção gerado concede permissões de exibição e edição. Aplica-se somente quando você gera um token de inserção para inserção de relatório.

View

string

Indica que o token de inserção gerado concede permissão somente exibição