Zdieľať cez


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 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 všetci používatelia priradení k tímu profitujú z roly. 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í 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 dve ďalšie dcérske obchodné jednotky A a B. Používatelia v týchto obchodných jednotkách majú rôzne 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ľ priradený, určuje, ktorá obchodná jednotka vlastní záznamy, ktorých je 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 spojeniu nám umožňuje prispôsobiť rola zabezpečenia, čo umožňuje používateľovi vidieť 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, 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 RecomputeOwnershipAcrossBusinessUnits na hodnotu true umožňuje nastaviť a aktualizovať pole Owning Business Unit .

  1. Prihláste sa do Power Platform centra spravovania ako správca (správca Dynamics 365 alebo Microsoft Power Platform správca).
  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.

Priraďte obchodnú jednotku k Microsoft Entra bezpečnostnej skupine

Môžete použiť Microsoft Entra bezpečnostnú skupinu na mapovanie svojej obchodnej jednotky na zjednodušenie správy používateľov a prideľovania rolí.

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

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

Pre každú obchodnú jednotku vytvorte Microsoft Entra bezpečnostnú skupinu. 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 Microsoft Entra bezpečnostnej skupiny a udeľte im prístup k obchodnej jednotke. Používatelia môžu okamžite spustiť aplikáciu a získať prístup k jej zdrojom/údajom.

V maticový prístup k údajom, 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 Vlastnícka obchodná jednotka , ktorý určuje, ktorá obchodná jednotka vlastní záznam. Tento stĺpec je predvolene nastavený na obchodnú jednotku používateľa pri vytvorení záznamu a nemožno ho zmeniť okrem prípadu, keď je prepínač funkcie zapnutý.

Poznámka

Keď zmeníte, ktorá obchodná jednotka vlastní záznam, nezabudnite skontrolovať nasledujúce kaskádové efekty: Používanie súpravy 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. Mapovania stĺpcov. Ak používate AutoMapEntity, môžete zadať stĺpec v stĺpci mapovanie.

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ľúč privilégií.

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 vykoná prepočet, aby sa umožnila možnosť, že používatelia môžu teraz vlastniť záznamy naprieč obchodnými jednotkami bez toho, aby museli mať pridelené samostatné rola zabezpečenia z každej obchodnej jednotky. 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 buď funkciu Zaznamenať vlastníctvo medzi obchodnými jednotkami alebo nastavíte RecomputeOwnershipAcrossBusinessUnits nastavenie na hodnotu false pomocou Nástroj OrgDBOrgSettings pre Microsoft Dynamics CRM, nebudete môcť nastaviť ani aktualizovať vlastnú obchodnú jednotku a všetky záznamy, kde sa pole Vlastnícka obchodná jednotka líši od obchodnej jednotky vlastníka, budú aktualizované 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. 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é po jednom zdieľať s iným používateľom. Toto je účinný spôsob spracovania výnimiek, ktoré nespadajú do vlastníctva záznamov alebo nie sú súčasťou modelu prístupu obchodnej jednotky. 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é vytváranie tímu a zdieľanie prístupu k záznamom s tímom je založené na šablóne Access Team Template (šablóna povolení), ktorá sa používa. Prístupové tímy možno použiť aj bez šablón, iba s ručným pridávaním alebo odoberaním ich č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 používateľa je to kombinácia všetkých jeho bezpečnostných rolí, obchodnej jednotky, ku ktorej sú pridružení, 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

Kontrola prístupu na úrovni záznamov niekedy nestačí pre niektoré obchodné scenáre. 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.

Bezpečnosť je zložitý článok a najlepšie sa dosiahne spoločným úsilím medzi tvorcami aplikácií a tímom spravujúcim povolenia 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