Bezpečnostné koncepcie v Microsoft Dataverse

Jednou z kľúčových funkcií systému Dataverse je jeho bohatý bezpečnostný model, ktorý sa dokáže prispôsobiť mnohým scenárom podnikového využitia. Tento bezpečnostný model sa uplatňuje iba vtedy, keď je v prostredí databáza. Dataverse Ako správca pravdepodobne nebudete sami vytvárať celý model zabezpečenia, ale často sa zapojíte do procesu riadenia používateľov a zaistenia správnej konfigurácie a riešenia problémov súvisiacich s bezpečným prístupom.

Zabezpečenie na základe roly

Dataverse používa zabezpečenie založené na rolách na zoskupenie súboru oprávnení. Tieto roly zabezpečenia môžu byť spojené priamo s používateľmi alebo s nimi môžu byť spojené tímy a obchodné jednotky Dataverse. Používatelia potom môžu byť priradení k tímu, a preto z tejto role profitujú všetci používatelia priradení k tímu. Kľúčová koncepcia bezpečnosti Dataverse, ktorej je potrebné porozumieť, sú všetky oprávnenia, ktoré sa udeľujú, kumulatívne s najväčším počtom prevládajúcich prístupov. Ak ste poskytli prístup na čítanie na úrovni celej organizácie ku všetkým záznamom kontaktov, nemôžete sa vrátiť späť a skryť jeden záznam.

Organizačné jednotky

Prepitné

Video symbol Pozrite si nasledujúce video: Modernizácia obchodných jednotiek.

Obchodné jednotky pracujú s rolami zabezpečenia, aby určili efektívne zabezpečenie, ktoré má používateľ. Obchodné jednotky sú stavebným prvkom modelovania zabezpečenia, ktorý pomáha pri správe používateľov a údajov, ku ktorým majú prístup. Obchodné jednotky určujú hranice zabezpečenia. Každá databáza Dataverse má jednu koreňovú obchodnú jednotku.

Môžete vytvoriť dcérske obchodné jednotky, ktoré pomôžu ďalej segmentovať používateľov a údaje. Každý používateľ priradený k prostrediu patrí k obchodnej jednotke. Zatiaľ čo obchodné jednotky by sa mohli použiť na modelovanie skutočnej hierarchie organizácie 1:1, častejšie sa prikláňajú skôr k presne definovaným bezpečnostným hraniciam, aby pomohli dosiahnuť potreby bezpečnostného modelu.

Pre lepšie pochopenie si pozrime nasledujúci príklad. Máme tri obchodné jednotky. Woodgrove je hlavnou obchodnou jednotkou a vždy bude na vrchole, to je nemenné. Vytvorili sme dve ďalšie podriadené obchodné jednotky A a B. Používatelia v týchto obchodných jednotkách majú odlišné potreby prístupu. Keď k používateľovi priradíme toto prostredie, môžeme nastaviť, aby sa používateľ nachádzal v jednej z týchto troch obchodných jednotiek. Priradenie používateľa určuje, ktorá obchodná jednotka vlastní záznamy, ktorých je daný používateľ vlastníkom. Toto priradenie nám umožňuje prispôsobiť rolu zabezpečenia tak, aby používateľ mohol vidieť všetky záznamy v danej obchodnej jednotke.

Hierarchická štruktúra prístupu k údajom

Zákazníci môžu používať organizačnú štruktúru, v ktorej sú údaje a používatelia rozdelené do stromovej hierarchie.

Keď priradíme používateľa k tomuto prostrediu, môžeme nastaviť, aby bol používateľ v jednej z týchto troch obchodných jednotiek, a priradiť používateľovi rolu zabezpečenia z obchodnej jednotky. Obchodná jednotka, s ktorou je používateľ spojený, určuje, ktorá obchodná jednotka vlastní záznamy, keď používateľ vytvorí záznam. Vďaka tomuto priradeniu môžeme prispôsobiť bezpečnostnú rolu, ktorá používateľovi umožní zobraziť záznamy v danej obchodnej jednotke.

Používateľ A je spojený s divíziou A a má priradenú rolu zabezpečenia Y z divízie A. To umožňuje používateľovi A pristupovať k záznamom kontaktu č. 1 a kontaktu č. 2. Zatiaľ čo používateľ B v divízii B nemá prístup k záznamom kontaktov divízie A, má prístup k záznamu kontaktu č. 3.

Príklad štruktúry prístupu k matricovým údajom

Štruktúra prístupu k matricovým údajom (modernizované obchodné jednotky)

Zákazníci môžu používať organizačnú štruktúru, v ktorej sú údaje rozdelené do stromovej hierarchie, a používatelia môžu pracovať a pristupovať k údajom akejkoľvek obchodnej jednotky bez ohľadu na to, k akej obchodnej jednotke je používateľ priradený.

Keď k používateľovi priradíme toto prostredie, môžeme nastaviť, aby sa používateľ nachádzal v jednej z týchto troch obchodných jednotiek. Pre každú obchodnú jednotku, ktorú používateľ potrebuje na prístup k údajom, je používateľovi priradená rola zabezpečenia z tejto obchodnej jednotky. Keď používateľ vytvorí záznam, môže používateľ nastaviť, aby záznam vlastnila obchodná jednotka.

Používateľ A môže byť spojený s ktoroukoľvek z obchodných jednotiek vrátane koreňovej obchodnej jednotky. Rola zabezpečenia Y z divízie A je priradená používateľovi A, ktorá používateľovi umožňuje prístup k záznamom kontaktu č. 1 a kontaktu č. 2. Rola zabezpečenia Y z divízie B je priradená používateľovi A, ktorá používateľovi umožňuje prístup k záznamu kontaktu č. 3.

Príklad hierarchickej štruktúry prístupu k údajom

Povolenie štruktúry prístupu k matricovým údajom

Poznámka

Pred povolením tejto funkcie musíte zverejniť všetky svoje prispôsobenia, aby ste povolili všetky nové nezverejnené tabuľky pre túto funkciu. Ak zistíte, že máte nezverejnené tabuľky, ktoré po zapnutí tejto funkcie nefungujú, môžete nastavenie RecomputeOwnershipAcrossBusinessUnits nastaviť pomocou nástroja OrgDBOrgSettings pre Microsoft Dynamics CRM. Nastavenie parametra RecomputeOwnershipAcrossBusinessUnits na hodnotu true umožňuje nastavenie a aktualizáciu poľa Vlastniaca obchodná jednotka .

  1. Prihláste sa do centra spravovania ako správca (správca Dynamics 365 alebo správca). Power Platform Microsoft Power Platform
  2. V navigačnej table vyberte položku Spravovať.
  3. V table Spravovať vyberte možnosť Prostredia a potom vyberte prostredie, pre ktoré chcete túto funkciu povoliť.
  4. Vyberte Nastavenia>Výrobok>Vlastnosti.
  5. Zapnite prepínač Zaznamenať vlastníctvo medzi obchodnými jednotkami.
  6. Vyberte položku Uložiť.

Po zapnutí tohto prepínača funkcie môžete vybrať možnosť Organizačná jednotka pri priraďovaní bezpečnostnej roly používateľovi. ... To vám umožní priradiť používateľovi rolu zabezpečenia z rôznych obchodných jednotiek. Používateľ tiež vyžaduje rolu zabezpečenia od obchodnej jednotky, ku ktorej je používateľ priradený s oprávneniami nastavenia používateľa na spúšťanie aplikácií riadených modelom. Môžete si pozrieť rolu zabezpečenia Základný používateľ, kde nájdete informácie o tom, ako sú povolené tieto oprávnenia používateľských nastavení.

Používateľa môžete priradiť ako vlastníka záznamu v akejkoľvek obchodnej jednotke bez toho, aby ste museli priradiť rolu zabezpečenia v obchodnej jednotke, ktorá vlastní záznam, pokiaľ má používateľ rolu zabezpečenia, ktorá má oprávnenie na čítanie k tabuľke záznamov. Pozrite si Záznam o vlastníctve v modernizovaných obchodných jednotkách.

Poznámka

Tento prepínač funkcií je uložený v nastavení EnableOwnershipAcrossBusinessUnits a možno ho nastaviť pomocou OrgDBOrgSettings tool for Microsoft Dynamics CRM.

Priradiť obchodnú jednotku k bezpečnostnej skupine Microsoft Entra

Na zefektívnenie správy používateľov a prideľovania rolí môžete použiť bezpečnostnú skupinu na mapovanie svojej obchodnej jednotky. Microsoft Entra

Vytvorte bezpečnostnú skupinu pre každú obchodnú jednotku a priraďte každému tímu skupiny príslušnú bezpečnostnú rolu obchodnej jednotky. Microsoft Entra

Vytvorte bezpečnostnú skupinu pre každú obchodnú jednotku. Microsoft Entra

Pre každú obchodnú jednotku vytvorte bezpečnostnú skupinu. Microsoft Entra Vytvorte Dataverse skupinový tím pre každú Microsoft Entra bezpečnostnú skupinu. Každému skupinovému tímu Dataverse priraďte príslušnú rolu zabezpečenia z obchodnej jednotky. Používateľ vo vyššie uvedenom diagrame bude vytvorený v koreňovej obchodnej jednotke, keď používateľ pristúpi k prostrediu. Je v poriadku mať tímy používateľov a skupiny Dataverse v koreňovej obchodnej jednotke. Majú prístup iba k údajom v obchodnej jednotke, ku ktorej je priradená rola zabezpečenia.

Pridajte používateľov do príslušnej bezpečnostnej skupiny, aby ste im udelili prístup k obchodnej jednotke. Microsoft Entra Používatelia môžu okamžite spustiť aplikáciu a získať prístup k jej zdrojom/údajom.

V prístupe k údajom matice, kde môžu používatelia pracovať a pristupovať k údajom z viacerých obchodných jednotiek, pridajte používateľov do Microsoft Entra bezpečnostných skupín, ktoré sú namapované na tieto obchodné jednotky.

Vlastniaca obchodná jednotka

Každý záznam má stĺpec Vlastniaca obchodná jednotka , ktorý určuje, ktorá obchodná jednotka vlastní záznam. Tento stĺpec sa pri vytvorení záznamu predvolene nastaví na obchodnú jednotku používateľa a nemožno ho zmeniť, s výnimkou prípadu, keď je prepínač funkcií zapnutý.

Poznámka

Keď zmeníte, ktorá obchodná jednotka vlastní záznam, nezabudnite si prečítať nasledujúce informácie o kaskádových efektoch: Použitie SDK pre .NET na konfiguráciu kaskádového správania.

Môžete nastaviť, či chcete svojmu používateľovi umožniť nastaviť stĺpec Vlastniaca organizačná jednotka, keď je prepínač funkcií zapnutý. Ak chcete nastaviť stĺpec Vlastniaca organizačná jednotka, musíte používateľovi udeliť bezpečnostnú rolu oprávnenia Pripojiť k v tabuľke obchodnej jednotky s povolením na lokálnej úrovni.

Ak chcete svojmu používateľovi povoliť nastavenie tohto stĺpca, môžete tento stĺpec povoliť v nasledujúcich položkách:

  1. Formulár – telo aj hlavička.
  2. Zobraziť.
  3. Mapovanie stĺpcov. Ak používate AutoMapEntity, môžete stĺpec zadať v mapovaní stĺpcov.

Poznámka

Ak máte úlohu/proces na synchronizáciu údajov medzi prostrediami a Vlastniaca obchodná jednotka je zahrnutá ako súčasť schémy, vaša úloha zlyhá s porušením obmedzenia Cudzieho kľúča , ak cieľové prostredie nemá rovnakú hodnotu Vlastniacej obchodnej jednotky .

Môžete buď odstrániť stĺpec Vlastníctvo obchodnej jednotky zo zdrojovej schémy alebo aktualizovať schému hodnotu stĺpca Vlastníctvo obchodnej jednotky zdroja do ktorejkoľvek obchodnej jednotky cieľa.

Ak máte úlohu/proces na kopírovanie údajov z prostredia do externého zdroja, napríklad Power BI, budete musieť vybrať alebo zrušiť výber stĺpca Vlastniaca obchodná jednotka vo vašom zdroji. Vyberte ho, ak ho váš zdroj môže prijať, inak ho zrušte.

Vlastníctvo tabuľky/záznamu

Dataverse podporuje dva typy vlastníctva záznamov. Záznamy vlastnené používateľom a používateľom alebo tímom. Toto je voľba, ktorá sa stane v čase vytvorenia tabuľky a nedá sa zmeniť. Z bezpečnostných dôvodov je možné pre záznamy, ktoré vlastní organizácia, vybrať iba úrovne prístupu používateľ, ktorý operáciu môže vykonať, alebo ktorý ju vykonať nemôže. Pre záznamy vlastnené používateľom a tímom sú na výber prístupu pre väčšinu privilégií odstupňované podľa organizácie, organizačnej jednotky, organizačnej jednotky a podradenej organizačnej jednotky alebo iba vlastné záznamy používateľa. To znamená, že pre oprávnenie na čítanie pri kontakte by som mohol nastaviť vlastníctvo používateľa a používateľ by videl iba svoje vlastné záznamy.

Aby sme uviedli ďalší príklad, povedzme, že používateľ A je prepojený s divíziou A a poskytujeme im prístup na čítanie na úrovni obchodnej jednotky na kontakt. Boli by schopní vidieť kontakt č. 1 a č. 2, ale nie kontakt č. 3.

Pri konfigurácii alebo úprave oprávnení roly zabezpečenia nastavujete úroveň prístupu pre každú možnosť. Nasleduje príklad editora oprávnení roly zabezpečenia.

Oprávnenia bezpečnostnej roly.

Vo vyššie uvedenom môžete vidieť štandardné typy privilégií pre každú tabuľku Vytvorenie, čítanie, zápis, odstránenie, pripojenie, pripojenie, priradenie a zdieľanie. Každú z nich môžete upravovať jednotlivo. Vizuálne zobrazenie každého z nich sa bude zhodovať s kľúčom nižšie, pokiaľ ide o úroveň prístupu, ktorú ste udelili.

Kľúč oprávnení bezpečnostnej roly.

Vo vyššie uvedenom príklade sme poskytli prístup na kontakt na úrovni organizácie, čo znamená, že používateľ v časti A mohol vidieť a aktualizovať kontakty vo vlastníctve kohokoľvek. V skutočnosti jednou z najbežnejších administratívnych chýb je frustrovanie s povolením a nadmerné udeľovanie prístupu. Dobre prepracovaný bezpečnostný model veľmi rýchlo začne vyzerať ako švajčiarsky syr (plný dier!).

Záznam o vlastníctve v modernizovaných obchodných jednotkách

V Modernizovaných obchodných jednotkách môžete mať používateľov, ktorí sú vlastníkmi záznamov vo všetkých obchodných jednotkách. Všetko, čo používatelia potrebujú, je rola zabezpečenia (akákoľvek obchodná jednotka), ktorá má oprávnenie čítať tabuľku záznamov. Používatelia nemusia mať pridelenú rolu zabezpečenia v každej obchodnej jednotke, kde sa záznam nachádza.

Ak bolo vo vašom produkčnom prostredí počas obdobia ukážky povolené Vlastníctvo záznamov naprieč obchodnými jednotkami , na povolenie tohto vlastníctva záznamov v rámci obchodnej jednotky musíte vykonať nasledujúce:

  1. Nainštalujte Editor nastavení organizácie
  2. Nastavte nastavenia organizácie RecomputeOwnershipAcrossBusinessUnits na hodnotu true. Keď je toto nastavenie nastavené na hodnotu True, systém sa uzamkne a prepočet, ktorý umožní používateľom vlastniť záznamy naprieč obchodnými jednotkami bez nutnosti priradenia samostatnej bezpečnostnej roly ku každej obchodnej jednotke, môže trvať až 5 minút. To umožňuje vlastníkovi záznamu priradiť svoj záznam niekomu mimo obchodnej jednotky, ktorá záznam vlastní.
  3. Nastavte AlwaysMoveRecordToOwnerBusinessUnit na hodnotu false. To spôsobí, že záznam zostane v pôvodnej vlastníckej obchodnej jednotke, keď sa vlastníctvo záznamu zmení.

Pre všetky neprodukčné prostredia stačí nastaviť AlwaysMoveRecordToOwnerBusinessUnit na hodnotu false, aby ste mohli použiť túto funkciu.

Poznámka

Ak vypnete funkciu Záznam vlastníctva naprieč obchodnými jednotkami alebo nastavíte nastavenie RecomputeOwnershipAcrossBusinessUnits na hodnotu false pomocou nástroja OrgDBOrgSettings pre Microsoft Dynamics CRM, nebudete môcť nastaviť ani aktualizovať pole Vlastniaca obchodná jednotka a všetky záznamy, v ktorých sa pole Vlastniaca obchodná jednotka líši od obchodnej jednotky vlastníka, sa aktualizujú na obchodnú jednotku vlastníka.

Tímy (vrátane skupinových tímov)

Tímy sú ďalším dôležitým stavebným prvkom bezpečnosti. Tímy sú vo vlastníctve obchodnej jednotky. Každá obchodná jednotka má jeden predvolený tím, ktorý sa automaticky vytvorí pri vytvorení obchodnej jednotky. Predvolených členov tímu spravuje Dataverse a vždy obsahuje všetkých používateľov priradených k tejto obchodnej jednotke. Nemôžete manuálne pridať ani odstrániť členov z predvoleného tímu. Systém ich dynamicky upravuje, pretože noví používatelia s organizačnými jednotkami súvisia/nesúvisia. Existujú dva typy tímov, ktoré vlastnia tímy a prístupové tímy.

  • Vlastniace tímy môžu vlastniť záznamy, ktoré umožňujú každému členovi tímu priamy prístup k danému záznamu. Používatelia môžu byť členmi viacerých tímov. Vďaka tomu je to účinný spôsob udeľovania oprávnení používateľom v širokej škále bez mikromanažmentu prístupu na úrovni jednotlivých používateľov.
  • Prístupovým tímom sa venujeme v ďalšej časti ako súčasť zdieľania záznamov.

Zdieľanie záznamov

Jednotlivé záznamy je možné zdieľať s iným používateľom jeden po druhom. Toto je účinný spôsob spracovania výnimiek, ktoré nepatria do vlastníctva záznamu alebo sú súčasťou modelu prístupu obchodnej jednotky. Malo by to však byť výnimkou, pretože ide o menej výkonný spôsob kontroly prístupu. Riešenie problémov so zdieľaním je ťažšie, pretože nejde o konzistentne implementovanú kontrolu prístupu. Zdieľanie je možné na úrovni používateľov aj tímov. Zdieľanie s tímom je efektívnejší spôsob zdieľania. Pokročilejší koncept zdieľania je s Access Teams, ktorý umožňuje automatické vytvorenie tímu a zdieľanie prístupu k záznamom s tímom je založené na použitej šablóne Access Team (šablóna povolení). Tímy Access je možné použiť aj bez šablón, s manuálnym pridávaním alebo odoberaním členov. Tímy s prístupom sú výkonnejšie, pretože neumožňujú vlastniť záznamy tímom ani nechať priradiť bezpečnostné role tímu. Používatelia získajú prístup, pretože záznam je zdieľaný s tímom a používateľ je členom.

Zabezpečenie na úrovni záznamu v Dataverse

Možno vás zaujíma – čo určuje prístup k záznamu? Znie to ako jednoduchá otázka, ale pre každého daného používateľa je to kombinácia všetkých jeho bezpečnostných rolí, obchodnej jednotky, s ktorou je priradený, tímov, ktorých je členom, a záznamov, ktoré sú s ním zdieľané. Kľúčovou vecou, ktorú si treba zapamätať, je všetok prístup, ktorý sa akumuluje vo všetkých týchto konceptoch v rozsahu a databázové prostredie Dataverse. Tieto oprávnenia sa udeľujú iba v jednej databáze a individuálne sa sledujú v každej databáze Dataverse. To vyžaduje, aby mali príslušnú licenciu na prístup k Dataverse.

Zabezpečenie na úrovni stĺpcov v systéme Dataverse

Riadenie prístupu na úrovni záznamov niekedy nie je pre niektoré obchodné scenáre postačujúce. Dataverse má funkciu zabezpečenia na úrovni stĺpca, ktorá umožňuje podrobnejšiu kontrolu bezpečnosti na úrovni stĺpca. Zabezpečenie na úrovni stĺpca je možné povoliť vo všetkých vlastných stĺpcoch a vo väčšine stĺpcoch systému. Väčšinu systémových stĺpcov, ktoré obsahujú informácie umožňujúce identifikáciu osôb (PII), je možné jednotlivo zabezpečiť. Metaúdaje každého stĺpca definujú, či je to dostupná možnosť pre systémové stĺpce.

Bezpečnosť na úrovni stĺpca je povolená pre jednotlivé stĺpce. Prístup sa potom riadi vytvorením bezpečnostného profilu stĺpca. Profil obsahuje všetky stĺpce, ktoré majú povolenú bezpečnosť na úrovni stĺpca a prístup udelený týmto špecifickým profilom. Každý stĺpec môže byť ovládaný v rámci profilu na vytvorenie, aktualizáciu a prístup na čítanie. Profily bezpečnosti stĺpca sa potom spájajú s používateľom alebo tímami, ktoré používateľom udeľujú tieto oprávnenia na záznamy, ku ktorým už majú prístup. Je dôležité si uvedomiť, že zabezpečenie na úrovni stĺpca nemá nič spoločné so zabezpečením na úrovni záznamu. Používateľ už musí mať prístup k záznamu pre profil zabezpečenia stĺpca, aby mu mohol poskytnúť akýkoľvek prístup k stĺpcom. Bezpečnosť na úrovni stĺpca by sa mala používať podľa potreby a nie nadmerne, pretože môže pridať režijné náklady, ktoré sú v prípade nadmerného použitia škodlivé.

Správa zabezpečenia vo viacerých prostrediach

Bezpečnostné roly a bezpečnostné profily stĺpca je možné zabaliť a presunúť z jedného prostredia do nasledujúceho pomocou riešení Dataverse. Obchodné jednotky a tímy musia byť vytvorené a spravované v každom z prostredí spolu s priradením používateľov k potrebným bezpečnostným komponentom.

Konfigurácia používateľov zabezpečenia prostredia

Po vytvorení rolí, tímov a organizačných jednotiek v prostredí je čas priradiť používateľom ich konfigurácie zabezpečenia. Najprv, keď vytvoríte používateľa, priradíte ho k obchodnej jednotke. V predvolenom nastavení je to hlavná obchodná jednotka v organizácii. Pridajú sa tiež do predvoleného tímu príslušnej organizačnej jednotky.

Okrem toho by ste priradili akékoľvek bezpečnostné role, ktoré používateľ potrebuje. Pridali by ste ich tiež ako členov všetkých tímov. Pamätajte, že tímy môžu mať aj roly zabezpečenia, takže efektívne práva používateľa je kombinácia priamo priradených rolí zabezpečenia v kombinácii s tými, ktoré sú súčasťou akýchkoľvek tímov, ktorých sú členmi. Bezpečnosť je vždy doplnková a ponúka najmenej reštriktívne povolenie ktoréhokoľvek z ich nárokov. Toto je dobrý návod konfigurácie zabezpečenia prostredia.

Ak ste použili zabezpečenie na úrovni stĺpca, budete musieť používateľa alebo tím používateľa priradiť k jednému z vytvorených profilov zabezpečenia stĺpca.

Zabezpečenie je zložitá téma a najlepšie sa dosahuje spoločným úsilím tvorcov aplikácií a tímu spravujúceho používateľské oprávnenia. Akékoľvek väčšie zmeny by sa mali koordinovať v dostatočnom predstihu pred zavedením zmien do prostredia.

Pozrite si tiež:

Konfigurácia zabezpečenia prostredia
Bezpečnostné roly a oprávnenia