Делите путем


Безбедносни концепти у услузи Microsoft Dataverse

Једна од кључних функција услуге Dataverse је њен богат безбедносни модел који се може прилагодити многим сценаријима пословне примене. Овај безбедносни модел је активан само ако постоји Dataverse база података у окружењу. Као администратор, вероватно нећете сами градити целокупан модел безбедности, већ ћете често бити укључени у процес управљања корисницима и осигуравања да имају одговарајућу конфигурацију и решавају проблеме у вези са безбедносним приступом.

Савет

Симбол видеаПогледајте следећи видео:– Безбедносни Microsoft Dataverse концепти приказани у демонстрацијама.

Безбедност заснована на улогама

Dataverse користи безбедност засновану на улогама да групише колекцију привилегија. Те безбедносне улоге могу се директно повезати са корисницима или се могу повезати са Dataverse тимовима и пословним јединицама. Корисници се тада могу повезати са тимом и зато ће сви корисници који су повезани са тимом имати користи од улоге. Кључни концепт Dataverse безбедности за разумевање је да се све добијене привилегије акумулирају, с тим да приоритет има она са највећим приступом. Ако сте широком нивоу организације омогућили приступ за читање свих записа контаката, не можете се вратити и сакрити један запис.

Пословне јединице

Савет

Симбол видеаПогледајте следећи видео:Модернизација пословних јединица.

Пословне јединице раде са безбедносним улогама како би утврдиле ефикасну безбедност коју корисник има. Пословне јединице су градивни блок безбедносног моделирања које помаже у управљању корисницима и подацима којима могу да приступе. Пословне јединице дефинишу границу безбедности. Свака Dataverse база података има једну основну пословну јединицу.

Можете да креирате подређене пословне јединице да бисте помогли даљем сегментирању корисника и података. Сваки корисник додељен окружењу ће припадати пословној јединици. Иако се пословне јединице могу користити за моделирање праве хијерархије организације типа 1:1, оне чешће нагињу ка само дефинисаним границама безбедности како би се постигле потребе безбедносног модела.

Да бисте то боље разумели, хајде да погледамо следећи пример. Имамо три пословне јединице. Woodgrove је основна пословна јединица и увек ће бити на врху, што је непромењиво. Креирали смо још две подређене пословне јединице А и Б. Корисници ових пословних јединица имају веома различите потребе за приступом. Када повежемо корисника са окружењем, можемо га поставити да се налази у једној од ове три пословне јединице. Ако је корисник придружен, утврдиће која пословна јединица поседује записе чији је корисник власник. Оваква асоцијација нам омогућава да прилагодимо безбедносну улогу како би кориснику омогућио преглед свих записа у тој пословној јединици.

Хијерархијска структура приступа подацима

Клијенти могу користити организациону структуру у којој су подаци и корисници разврстани у хијерархију налик стаблу.

Када повежемо корисника са овим окружењем, можемо га поставити да се налази у једној од ове три пословне јединице и доделити му безбедносну улогу из пословне јединице. Пословна јединица са којом је корисник повезан одређује која пословна јединица поседује записе када корисник креира запис. То повезивање нам омогућава да прилагодимо безбедносну улогу која омогућава кориснику да види записе у тој пословној јединици.

Корисник А је повезан са одељењем А и додељена му је безбедносна улога Ф из одељења А. То омогућава кориснику А приступ записима Контакта #1 и Контакта #2. За то време, корисник Б у одељењу Б не може приступити записима контаката одељења А, али може приступити запису Контакта #3.

Пример матричне структуре приступа подацима

Матрична структура приступа подацима (Модернизоване пословне јединице)

Клијенти могу да користе организациону структуру у којој су подаци разврстани у хијерархију налик на стабло, а корисници могу да раде и приступају подацима било које пословне јединице без обзира на то којој је пословној јединици додељен корисник.

Када повежемо корисника са окружењем, можемо га поставити да се налази у једној од ове три пословне јединице. За сваку пословну јединицу којој корисник треба да приступи подацима, кориснику се додељује безбедносна улога из те пословне јединице. Када корисник креира запис, корисник може поставити пословну јединицу да поседује запис.

Корисник А може бити повезан са било којом пословном јединицом, укључујући основну пословну јединицу. Безбедносна улога Ф из одељења А додељена је кориснику А, што даје кориснику приступ записима Контакта #1 и Контакта #2. Безбедносна улога Ф из одељења Б додељена је кориснику А, што даје кориснику приступ запису Контакта #3.

Пример хијерархијске структуре приступа подацима

Омогућавање матричне структуре приступа подацима

Белешка

Пре него што омогућите ову функцију, морате да објавите сва прилагођавања да бисте омогућили све нове необјављене табеле за ту функцију. Ако откријете да имате необјављене табеле које не раде са овом функцијом када је укључите, можете подесити поставку RecomputeOwnershipAcrossBusinessUnits помоћу алатке OrgDBOrgSettings за Microsoft Dynamics CRM. Постављање рецомпутеОwнерсхипАцроссБусинессУнитс на труе омогућава постављање и ажурирање поља пословне јединице у власништву.

  1. Пријавите се у Power Platform центар администрације као администратор (Dynamics 365 администратор, глобални администратор или Microsoft Power Platform администратор).
  2. Изаберите Окружења, а затим изаберите окружење за које желите да омогућите ову функцију.
  3. Изаберите Поставке>Производ>Функције.
  4. Укључите прекидач Власништво над записима у пословним јединицама.

Када је овај прекидач функција укључен, можете изабрати Пословну јединицу доделите безбедносну улогу кориснику. То вам омогућава да кориснику доделите безбедносну улогу из различитих пословних јединица. Корисник такође захтева безбедносну улогу пословне јединице која је кориснику додељена са привилегијама корисничких поставки за покретање апликација заснованих на моделу. Можете да погледате безбедносну улогу основног корисника да бисте пронашли начин на који су омогућене ове привилегије корисничких поставки.

Корисника можете доделити као власника записа у било којој пословној јединици без потребе да додељујете безбедносне улоге у пословној јединици у власништву записа све док корисник има безбедносну улогу која у табели записа има привилегију „Читање“. Погледајте Власништво над записом у модернизованим пословним јединицама.

Белешка

Овај прекидач функције се чува у поставци EnableOwnershipAcrossBusinessUnits и може да се подеси помоћу алатке OrgDBOrgSettings за Microsoft Dynamics CRM.

Повезивање пословне јединице са безбедносном Microsoft Entra групом

Безбедносну групу можете Microsoft Entra да користите за мапирање пословне јединице за ефикасније додељивање корисничке администрације и улоге.

Креирајте безбедносну Microsoft Entra групу за сваку пословну јединицу и доделите одговарајуће пословне јединице безбедносна улога сваком тиму групе.

Креирајте безбедносну  Microsoft Entra  групу за сваку пословну јединицу.

За сваку пословну јединицу креирајте безбедносну Microsoft Entra групу. Креирајте групни Dataverse тим за сваку безбедносну Microsoft Entra групу. Доделите одговарајућу безбедносну улогу из пословне јединице сваком Dataverse групном тиму. Корисник у горенаведеном дијаграму ће бити креиран у основној пословној јединици када корисник приступи окружењу. У реду је да корисник и Dataverse групни тимови буду у основној пословној јединици. Они имају приступ подацима само у пословној јединици у којој је додељена безбедносна улога.

Додајте кориснике у одговарајуће безбедносне Microsoft Entra групе да бисте им одобрили приступ пословној јединици. Корисници могу одмах да покрену апликацију и приступе њеним ресурсима/подацима.

У приступ подацима матрице , где корисници могу да раде и приступају подацима из више пословних јединица, Microsoft Entra додајте кориснике безбедносним групама које су мапиране у те пословне јединице.

Власничка пословна јединица

Сваки запис има колону "Пословна јединица" која одређује која пословна јединица поседује запис. Ова колона подразумевано поставља пословну јединицу корисника када се запис креира и не може се мењати осим када је прекидач функције укључен.

Белешка

Када промените пословну јединицу у чијем је власништву запис, обавезно погледајте следеће за каскадне ефекте: Коришћење СДК-а за .НЕТ за конфигурисање каскадно понашање.

Можете да одлучите да ли желите да дозволите кориснику да подеси колону „Пословна јединица-власник“ када је прекидач функције укључен. Да бисте подесили колону „Пословна јединица-власник“, морате кориснику доделити безбедносну улогу привилегију Приложи у са дозволом локалног нивоа.

Да бисте омогућили кориснику да подеси ову колону, можете да омогућите колону на следећи начин:

  1. Образац – и тело и заглавље.
  2. Приказ.
  3. Мапирања колона. Ако користите AutoMapEntity, можете одредити колону у мапирању колоне.

Белешка

Ако имате посао/процес за синхронизацију података између окружења и Власничка пословна јединица је укључено као део шеме, ваш посао неће успети са кршењем ограничења Foreign KEY ако циљно окружење нема исту вредност Власништво пословне јединице.

Можете уклонити колону Пословна јединица-власник из изворне шеме или ажурирати вредност колоне Пословна јединица-власник извора на било коју од пословних јединица циља.

Ако имате посао/процес за копирање података из окружења у спољни ресурс, на пример PowerBI, мораћете да изаберете или опозовете избор колоне Пословна јединица-власник из вашег извора. Изаберите га ако ваш ресурс може да га прими, иначе га поништите.

Власништво над табелом/записом

Dataverse подржава две врсте власништва над записима. У власништву организације и у власништву корисника или тима. Ово је избор који се дешава у тренутку када се табела креира и који се не може променити. Из безбедносних разлога, записи који су у власништву организације, једини избор нивоа приступа је да ли корисник може извршити операцију или не може. За записе у власништву корисника и тима, избори нивоа приступа за већину привилегија су слојевита организација, пословна јединица, пословна јединица и подређена пословна јединица или само записи корисника. То значи да за привилегију читања за контакт, могу да подесим власништво корисника и корисник би могао да видети само своје записе.

Да бисмо дали још један пример, рецимо да је корисник А повезан са одељењем А, а ми му дајемо разину право читања за контакт на нивоу пословне јединице. Могли би да виде контакт бр. 1 и бр. 2, али не и контакт бр. 3.

Када конфигуришете или уредите привилегије безбедносних улога, постављате ниво приступа за сваку опцију. Следи пример уредника уређивача привилегија за безбедносне улоге.

безбедносна улога привилегије.

У горенаведеном примеру можете да видите стандардне типове привилегија за сваку табелу: креирање, читање, писање, брисање, додавање, додавање у, додељивање и дељење. Сваку од њих можете изменити појединачно. Визуелни приказ сваког од њих ће се подударати са доленаведеним кључем у вези са нивоом приступа који сте одобрили.

безбедносна улога привилегије кључ.

У горњем примеру, пружили смо приступ контакту на нивоу организације, што значи да је корисник у одељењу А могао да види и ажурира контакте у било чијем власништву. У ствари, једна од најчешћих административних грешака је фрустрација због дозвола и последично претеривање у одобравању приступа. Врло брзо, добро направљен безбедносни модел почиње да изгледа као швајцарски сир (пун рупа!).

Власништво над записом у модернизованим пословним јединицама

У модернизованим пословним јединицама, можете да имате кориснике који су власници записа у свим пословним јединицама. Све што је корисницима потребно је безбедносна улога (било која пословна јединица) која има привилегију читања у табели записа. Корисници не морају да имају додељену безбедносну улогу у свакој пословној јединици у којој се запис налази.

Ако је Власништво над записима у пословним јединицама омогућено у производном окружењу током периода верзије за преглед, потребно је да извршите следеће радње да бисте омогућили ово власништво над записима у пословној јединици:

  1. Инсталирајте уређивач подешавања организације
  2. Подесите поставке организације RecomputeOwnershipAcrossBusinessUnits на вредност true. Када је ова поставка подешена на тачно, систем је закључан и може да потраје до 5 минута да би се омогућила могућност у којој корисници сада могу да поседују записе у свим пословним јединицама без потребе да имају додељену посебну безбедносна улога од сваке пословне јединице. Ово омогућава власнику записа да додели свој запис некој изван пословне јединице у власништву записа.
  3. Подесите AlwaysMoveRecordToOwnerBusinessUnit на вредност false. На тај начин запис остаје у власништву оригиналне пословне јединице када се промени власништво над записом.

За сва окружења која нису производна, потребно је само да подесите AlwaysMoveRecordToOwnerBusinessUnit на вредност false да бисте користили ову могућност.

Белешка

Ако искључите функцију "Записиши власништво у пословним јединицама" или подесите поставку РецомпутеОwнерсхипАцроссБусинессУнитс на нетачно коришћењем алатке ОргДБОргСеттингс Microsoft Dynamics за ЦРМ , нећете моћи да подесите или ажурирате поље "Пословна јединица" у власништву, а сви записи у којима се поље "Пословна јединица" које поседује се разликују од пословне јединице власника биће ажурирани у пословну јединицу власника.

Тимови (укључујући групне тимове)

Тимови су још један важан градивни блок безбедности. Тимови су у власништву пословне јединице. Свака пословна јединица има један подразумевани тим који се аутоматски креира када се креира пословна јединица. Члановима подразумеваног тима управља услуга Dataverse, која увек садржи све кориснике повезане са том пословном јединицом. Не можете ручно додавати или уклањати чланове из подразумеваног тима; систем их динамички прилагођава јер су нови корисници повезани са пословним јединицама или раздвојени од њих. Постоје две врсте тимова, тимови-влаСнимци и тимови за приступ.

  • Тимови-власници могу да поседују записе, који сваком члану тима омогућавају директан приступ том запису. Корисници могу бити чланови више тимова. Ово ће му омогућити да буде моћан начин давања дозвола корисницима у широком захвату, без детаљног управљања приступом на нивоу појединачног корисника.
  • О тимовима за приступ се говори у следећем одељку као део дељења записа.

Дељење записа

Појединачни записи се могу делити један по један са другим корисником. Ово је моћан начин руковања изузецима који не спадају у власништво записа или је члан модела приступа пословној јединици. Додуше, то би требало да буде изузетак, јер је то мање перформативан начин контроле приступа. Дељење је теже решити јер није доследно примењена контрола приступа. Дељење се може обављати на нивоу корисника и на нивоу тима. Дељење са тимом је ефикаснији начин дељења. Напреднији концепт дељења је са програмом Аццесс Теамс, који обезбеђује аутоматско креирање тима и дељење приступа записима са тимом засновано је на предлошку Аццесс тима (предложак дозвола) који се примењује. Аццесс тимови се такође могу користити без предложака, само ручно додавањем или уклањањем његових чланова. Тимови за приступ су ефикаснији јер не дозвољавају власништво над записима од стране тима или имају безбедносне улоге додељене тиму. Корисници добијају приступ јер се запис дели са тимом, а корисник је члан.

Безбедност на нивоу записа у услузи Dataverse

Можда се питате – шта одређује приступ запису? То звучи као једноставно питање, али за сваког корисника то је комбинација свих њихових безбедносних улога, пословне јединице с којом је повезан, тимова чији је члан и записа који се с њим деле. Кључна ствар коју треба запамтити је да је сав приступ акумулира у свим тим концептима у опсегу Dataverse окружења базе података. Ова права се додељују само у оквиру једне базе података и појединачно се прате у свакој Dataverse бази података. Све ово захтева да имају одговарајућу дозволу за приступ платформи Dataverse.

Безбедност на нивоу колоне у услузи Dataverse

Понекад контрола приступа на нивоу записа није адекватна за неке пословне сценарије. Dataverse има функцију безбедности на нивоу колоне која омогућава детаљнију контролу безбедности на нивоу колоне. Безбедност на нивоу колоне може се омогућити на свим прилагођеним колонама и на већини системских колона. Већина системских колона које садрже личне податке (PII) могу се индивидуално обезбедити. Метаподаци сваке колоне дефинишу да ли је то доступна опција за системску колону.

Безбедност на нивоу колоне омогућена је на основу појединачних колона. Приступом се затим управља креирањем безбедносног профила колоне. Профил садржи све колоне са омогућеном заштитом на нивоу колоне и приступом који је додељен том одређеном профилу. Свака колона се може контролисати у профилу за приступ за креирање, ажурирање и читање. Профили безбедности колона се затим повезују са корисником или тимовима који ће корисницима одобрити те привилегије за записе којима већ имају приступ. Важно је напоменути да заштита на нивоу колоне нема никакве везе са безбедношћу на нивоу записа. Корисник већ мора имати приступ запису за профил безбедности колоне да би му се одобрио било какав приступ колонама. Безбедност на нивоу колона треба користити по потреби, а не претерано, јер може изазвати преоптерећење које је штетно ако се претерано користи.

Управљање безбедношћу у више окружења

Безбедносне улоге и сигурносни профили колоне могу се паковати и селити из једног окружења у друго помоћу Dataverse решења. Пословне јединице и тимови морају бити креирани и њима се управља у сваком окружењу, уз доделу корисника неопходним безбедносним компонентама.

Конфигурисање безбедности окружења за кориснике

Када се улоге, тимови и пословне јединице креирају у окружењу, време је да доделите корисницима њихове безбедносне конфигурације. Прво, када креирате корисника, повезаћете га са пословном јединицом. Подразумевано је ово главна пословна јединица у организацији. Они су такође додати подразумеваном тиму те пословне јединице.

Поред тога, доделићете све безбедносне улоге које су кориснику потребне. Такође ћете их додати као чланове било којег тима. Имајте на уму да тимови такође могу имати безбедносне улоге, тако да су ефективна права корисника комбинација директно додељених безбедносних улога у комбинацији са улогама свих тимова чији су чланови. Безбедност увек чини адитивну понуду најмање рестриктивне дозволе било којег додељеног права. Следи добро упутство кроз подешавање безбедности окружења.

Ако сте користили безбедност на нивоу колоне, мораћете да повежете корисника или тим корисника са једним од профила безбедности колоне које сте креирали.

Безбедност је сложена тема и најбоље се постиже као заједнички напор креатора апликација и тима који администрира дозволе корисника. Све веће промене треба да буду координисане много пре примене промена у окружењу.

Такође погледајте

Конфигурисање безбедности окружења
Безбедносне улоге и привилегије