Generovanie vkladacieho tokenu

VZŤAHUJE SA NA: Aplikácia vlastní údaje Používateľ vlastní údaje

Generovať token je rozhranie REST API, ktoré vám umožní generovať token na vkladanie zostavy alebo sémantického modelu služby Power BI do webovej aplikácie alebo portálu. Môže generovať token pre jednu položku alebo pre viacero zostáv alebo sémantických modelov. Token sa používa na overenie vašej žiadosti v súvislosti s služba Power BI.

Rozhranie API generovať token používa jednu identitu (hlavný používateľ alebo objekt služby) na generovanie tokenu pre jedného používateľa v závislosti od poverení tohto používateľa v aplikácii (efektívna identita).

Po úspešnom overení sa udelí prístup k relevantným údajom.

Poznámka

Generovať token je novšia verzia 2 rozhrania API, ktorá funguje pre zostavy aj sémantické modely a jednu alebo viaceré položky. Uprednostňuje sa pred staršími rozhraniami API verzie 1. Pre tabule a dlaždice použite tabule V1 GenerateTokenInGroup a Tiles GenerateTokenInGroup.

Zabezpečenie údajov

Ak spracovávate údaje od viacerých zákazníkov, existujú dva hlavné spôsoby zabezpečenia údajov: izolácia založená na pracovnom priestore a izolácia založená na zabezpečení na úrovni riadkov. Podrobné porovnanie medzi nimi môžete nájsť v profiloch objektov služby a zabezpečení na úrovni riadkov.

Odporúčame používať izoláciu založenú na pracovnom priestore s profilmi, ale ak chcete použiť prístup zabezpečenia na úrovni riadkov, prečítajte si časť Zabezpečenie na úrovni riadkov na konci tohto článku.

Povolenia a zabezpečenie tokenu

V rozhraniach API generovať token sa povolenia tokenu popisujú v časti GenerateTokenRequest .

Úroveň prístupu

  • Pomocou parametra allowEdit udelíte používateľovi povolenia na zobrazovanie alebo úpravu.

  • Pridajte ID pracovného priestoru do tokenu na vloženie, aby používateľ mohol vytvárať nové zostavy (buď ako Uložiť, alebo VytvoriťNové) v tomto pracovnom priestore.

Zabezpečenie na úrovni riadkov

So zabezpečením na úrovni riadkov (RLS) sa používaná identita môže líšiť od identity objektu služby alebo hlavného používateľa, ktorý používate na generovanie tokenu. Pomocou rôznych identít môžete zobraziť vložené informácie podľa cieľového používateľa. V aplikácii môžete napríklad požiadať používateľov, aby sa prihlásili, a potom zobraziť zostavu, ktorá obsahuje informácie o predaji len v prípade, že prihlásený používateľ je zamestnancom predaja.

Ak používate zabezpečenie na úrovni riadkov, niekedy môžete vynechať identitu používateľa ( parameter EffectiveIdentity ). Ak parameter EffectiveIdentity nepoužívate, token má prístup k celej databáze. Táto metóda sa dá použiť na udelenie prístupu používateľom, ako sú správcovia a manažéri, ktorí majú povolenie na zobrazenie celého sémantického modelu. Túto metódu však nemôžete použiť v každom scenári. Nižšie uvedená tabuľka obsahuje zoznam rôznych typov zabezpečenia na úrovni riadkov a ukazuje, ktorú metódu overenia možno použiť bez zadania identity používateľa.

Tabuľka tiež zobrazuje dôležité informácie a obmedzenia týkajúce sa každého typu zabezpečenia na úrovni riadkov.

Typ zabezpečenia na úrovni riadkov Môžem vygenerovať vkladací token bez určenia efektívnej identifikácie používateľa? Dôležité informácie a obmedzenia
Zabezpečenie na úrovni riadkov v cloude (Cloud RLS) ✔ Hlavný používateľ
✖ Objekt služby
RDL (stránkované zostavy) ✖ Hlavný používateľ
✔ Objekt služby
Nemôžete použiť hlavného používateľa na generovanie tokenu na vloženie pre jazyk RDL.
Lokálne dynamické pripojenie služby Analysis Services (AS) ✔ Hlavný používateľ
✖ Objekt služby
Používateľ, ktorý generuje vkladací token, potrebuje aj jedno z nasledujúcich povolení:
  • Povolenia správcu brány
  • Povolenie zosobniť zdroj údajov (ReadOverrideEffectiveIdentity)
  • Dynamické pripojenie služby Analysis Services (AS) pomocou služby Azure ✔ Hlavný používateľ
    ✖ Objekt služby
    Identita používateľa, ktorý generuje vkladací token, sa nedá prepísané. Na implementáciu dynamického zabezpečenia na úrovni riadkov alebo zabezpečeného filtrovania možno použiť vlastné údaje.

    Poznámka: Objekt služby musí ako efektívnu identitu poskytnúť ID objektu (meno používateľa zabezpečenia na úrovni riadkov).
    Jediné prihlásenie (SSO) ✔ Hlavný používateľ
    ✖ Objekt služby
    Explicitnú identitu (SSO) možno poskytnúť pomocou vlastnosti objektu blob identity v objekte efektívnej identity
    SSO a cloudové zabezpečenie na úrovni riadkov ✔ Hlavný používateľ
    ✖ Objekt služby
    Musíte zadať nasledujúce údaje:
  • Explicitná identita (SSO) vo vlastnosti objektu BLOB identity v objekte efektívnej identity
  • Efektívnu (RLS) identitu (meno používateľa)
  • Poznámka

    Objekty služby musia vždy poskytovať nasledujúce informácie:

    • Identitu ľubovoľnej položky so sémantickým modelom zabezpečenia na úrovni riadkov.
    • V prípade sémantického modelu jediného prihlásenia je definovaná efektívna identita zabezpečenia na úrovni riadkov s definovanou kontextovou identitou (SSO).

    Režim DirectQuery pre sémantické modely služby Power BI

    Ak chcete vložiť zostavu služby Power BI, ktorá má sémantický model s pripojením Direct Query k inému sémantickému modelu služby Power BI, postupujte takto:

    • Na portáli Služby Power BI nastavte koncový bod XMLA na možnosť Iba na čítanie alebo Zapisovať na čítanie, ako je to popísané v časti povolenie čítania a zapisovania pre kapacitu Premium. Stačí to urobiť raz v prípade kapacity.
    • Generovanie vkladacieho tokenu s viacerými zdrojmi
      • Zadajte všetky ID množín údajov v žiadosti.
      • Nastavte položku XmlaPermissions na hodnotu Iba na čítanie pre každý sémantický model v žiadosti.
      • Pre každý zdroj údajov s jediným prihlásením (SSO) zadajte objekt BLOB identity pre zdroj údajov v objekte DatasourceIdentity.

    Obnoviť tokeny pred uplynutím ich platnosti

    Tokeny majú časový limit. To znamená, že po vložení položky Power BI máte obmedzené množstvo času na to, aby ste s ňou mohli pracovať. Ak chcete používateľom poskytnúť nepretržité prostredie, pred jeho uplynutím sa token obnoví (alebo obnoví).

    Tabule a dlaždice

    Token Generovať funguje pre zostavy a sémantické modely. Ak chcete generovať token na vloženie pre tabuľu alebo dlaždicu, použite rozhrania API verzie 1 tabúľ GenerateTokenInGroup alebo Tiles GenerateTokenInGroup . Tieto rozhrania API generujú tokeny len pre jednu položku naraz. Token nie je možné vygenerovať pre viaceré položky.

    Pre tieto rozhrania API:

    • Na určenie úrovne prístupu používateľa použite parameter accessLevel.

      • Zobraziť – udelenie povolení používateľovi na zobrazovanie.

      • Upraviť – udelenie povolení používateľovi na zobrazovanie a úpravu (vzťahuje sa len na generovanie vkladacieho tokenu pre zostavu).

      • Vytvoriť – udelenie povolení používateľovi na vytvorenie novej zostavy (vzťahuje sa len na generovanie vkladacieho tokenu na vytvorenie zostavy). Na vytvorenie zostavy musíte zadať aj parameter datasetId .

    • Ak chcete používateľom umožniť uloženie zostavy ako novej zostavy, použite booleovskú hodnotu allowSaveAs . Toto nastavenie je predvolene nastavené na hodnotu false a vzťahuje sa iba na generovanie vkladacieho tokenu pre zostavu.

    Dôležité informácie a obmedzenia

    • Z bezpečnostných dôvodov je životnosť tokenu na vloženie nastavená na zostávajúcu životnosť tokenu microsoft Entra, ktorý sa používa na volanie rozhrania GenerateToken API. Preto ak používate rovnaký token Microsoft Entra na generovanie niekoľkých tokenov na vloženie, životnosť vygenerovaných tokenov bude kratšia pri každom volaní.

    • Ak sa sémantický model a položka, ktoré sa majú vložiť, nachádzajú v dvoch rôznych pracovných priestoroch, objekt služby alebo hlavný používateľ musia byť aspoň členom oboch pracovných priestorov.

    • Nie je možné vytvoriť token na vloženie pre môj pracovný priestor.