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 je v hre, iba ak existuje databáza Dataverse v prostredí. 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 sa potom môžu spojiť s tímom, a preto budú mať z tejto úlohy úžitok všetci používatelia pridružení 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 symbolPozrite si nasledujúce video: Modernizácia organizačný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 bude patriť do obchodnej jednotky. 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.

Na lepšie porozumenie sa pozrime na 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 ďalšie dve podriadené organizačné jednotky A a B. Používatelia v týchto organizačných jednotkách majú veľmi 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. Ak je používateľ pridružený, určí, ktorá obchodná jednotka vlastní záznamy, ktoré vlastní. 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ť rolu zabezpečenia, ktorá používateľovi umožní vidieť záznamy v tejto 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, ale 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 po jej zapnutí zistíte, že máte nepublikované tabuľky, ktoré s touto funkciou nefungujú, môžete nastaviť RecomputeOwnershipAcrossBusinessUnits pomocou nastavenia nástroja OrgDBOrgSettings pre Microsoft Dynamics CRM. Nastavenie hodnoty RecomputeOwnershipAcrossBusinessUnits na hodnotu true umožňuje nastaviť a aktualizovať pole Vlastníctvo organizačnej jednotky .

  1. Prihláste sa do centra spravovania Power Platform ako správca (správca Dynamics 365, globálny správca alebo správca Microsoft Power Platform).
  2. Vyberte Prostredia a potom vyberte prostredie, pre ktoré chcete túto funkciu povoliť.
  3. Vyberte Nastavenia>Výrobok>Vlastnosti.
  4. Zapnite prepínač Zaznamenať vlastníctvo medzi obchodnými jednotkami.

Keď je tento prepínač funkcií zapnutý, môžete vybrať obchodnú jednotku, keď priradíte používateľovi rolu zabezpečenia. 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.

Priradenie organizačnej Microsoft Entra jednotky k skupine zabezpečenia

Skupinu zabezpečenia môžete použiť na priradenie organizačnej Microsoft Entra jednotky na zjednodušenie správy používateľov a priradenia rolí.

Vytvorte skupinu zabezpečenia pre každú organizačnú jednotku a priraďte príslušnú organizačnú Microsoft Entra jednotku rola zabezpečenia každému tímu skupiny.

Vytvorte skupinu zabezpečenia pre každú organizačnú Microsoft Entra jednotku.

Pre každú organizačnú jednotku vytvorte skupinu Microsoft Entra zabezpečenia. Vytvorte tím Dataverse skupiny pre každú skupinu Microsoft Entra zabezpečenia. 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 Microsoft Entra skupiny zabezpečenia a udeľte im prístup k organizačnej jednotke. Používatelia môžu okamžite spustiť aplikáciu a získať prístup k jej zdrojom/údajom.

V prístupe k maticovým údajom, kde môžu používatelia pracovať a pristupovať k údajom z viacerých organizačných jednotiek, pridajte používateľov doskupín zabezpečenia, ktoré sú priradené k Microsoft Entra týmto organizačným jednotkám.

Vlastniaca obchodná jednotka

Každý záznam obsahuje stĺpec Vlastniaca organizačná jednotka, ktorý určuje, ktorá organizačná jednotka vlastní záznam. Tento stĺpec je predvolene určený pre obchodnú jednotku používateľa pri vytváraní záznamu a nemožno ho zmeniť, pokiaľ nie je prepínač funkcií zapnutý.

Poznámka

Keď zmeníte, ktorá organizačná jednotka vlastní záznam, pozrite si kaskádové efekty v nasledujúcich témach: Použitie súpravy SDK pre rozhranie .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. Mapovania stĺpcov. Ak používate AutoMapEntity, môžete špecifikovať stĺpec v mapovaní stĺpcov.

Poznámka

Ak máte úlohu/proces na synchronizáciu údajov medzi prostrediami a súčasťou schémy je Vlastníctvo obchodnej jednotky, vaša úloha zlyhá s porušením obmedzenia Cudzí kľúč, ak cieľové prostredie nemá rovnakú hodnotu Vlastníctvo 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 PowerBI, budete musieť vybrať alebo zrušiť výber stĺpca Vlastníctvo obchodnej jednotky z vášho zdroja. 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.

Rola zabezpečenia privilégiá.

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.

Rola zabezpečenia kľúč oprávnení.

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. Veľmi rýchlo vyspelý bezpečnostný model 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 je uzamknutý a môže trvať až 5 minút, kým sa vykoná prepočítanie, aby sa umožnila možnosť, v ktorej môžu používatelia teraz vlastniť záznamy naprieč organizačnými jednotkami bez toho, aby museli mať z každej organizačnej jednotky priradené samostatné rola zabezpečenia. To umožňuje vlastníkovi záznamu priradiť svoj záznam niekomu mimo organizačnej jednotky záznamu.
  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 Vlastníctvo záznamov naprieč organizačnými jednotkami alebo nastavíte nastavenie RecomputeOwnershipAcrossBusinessUnits na hodnotu false pomocou nástroja OrgDBOrgSettings pre systém CRM, nebudete môcť nastaviť ani aktualizovať Microsoft Dynamics pole Vlastniť organizačnú jednotku a všetky záznamy, v ktorýchsa pole Vlastníctvo organizačnej jednotky líši od organizačnej jednotky vlastníka, sa aktualizujú na organizačnú 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. Umožní to byť účinným spôsobom udeľovania povolení používateľom širokým spôsobom bez mikromanažačného 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ť jednotlivo s iným používateľom. Ide o účinný spôsob riešenia výnimiek, ktoré nespadajú do vlastníctva záznamu alebo sú členmi modelu prístupu k organizačnej jednotke. Mala by to však byť výnimka, pretože ide o menej výkonný spôsob kontroly prístupu. Riešenie problémov so zdieľaním je náročnejšie, pretože nejde o dôsledne 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ý poskytuje automatické vytvorenie tímu a zdieľanie prístupu k záznamom s tímom je založené na šablóne Access Team (šablóna povolení), ktorá sa použije. Prístupové tímy je možné použiť aj bez šablón, stačí manuálne pridať alebo odstrániť svojich č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 ich bezpečnostných rolí, obchodných jednotiek, s ktorými sú spojené, tímov, ktorých sú členmi, a záznamov, ktoré sú s nimi 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

V niektorých podnikových scenároch niekedy nie je kontrola prístupu na úrovni záznamu primeraná. 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. Po prvé, keď vytvoríte používateľa, spojíte ho s organizačnou jednotkou. 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 komplexný článok a je ho najlepšie dosiahnuť ako spoločné úsilie tvorcov aplikácií a tímu spravujúceho oprávnenia používateľov. 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
Roly zabezpečenia a oprávnenia