Безбедносни концепти у услузи Microsoft Dataverse
Једна од кључних функција услуге Dataverse је њен богат безбедносни модел који се може прилагодити многим сценаријима пословне примене. Овај безбедносни модел је у игри само када постоји база Dataverse података у окружењу. Као администратор, вероватно нећете сами градити целокупан модел безбедности, већ ћете често бити укључени у процес управљања корисницима и осигуравања да имају одговарајућу конфигурацију и решавају проблеме у вези са безбедносним приступом.
Савет
Погледајте следећи видео: Microsoft Dataverse – Безбедносни концепти приказани у демонстрацијама.
Безбедност заснована на улогама
Dataverse користи безбедност засновану на улогама да групише колекцију привилегија. Те безбедносне улоге могу се директно повезати са корисницима или се могу повезати са Dataverse тимовима и пословним јединицама. Корисници тада могу бити повезани са тимом, а самим тим и сви корисници повезани са тимом имају користи од улоге. Кључни концепт Dataverse безбедности за разумевање је да се све добијене привилегије акумулирају, с тим да приоритет има она са највећим приступом. Ако сте широком нивоу организације омогућили приступ за читање свих записа контаката, не можете се вратити и сакрити један запис.
Пословне јединице
Савет
Погледајте следећи видео: Модернизујте пословне јединице.
Пословне јединице раде са безбедносним улогама како би утврдиле ефикасну безбедност коју корисник има. Пословне јединице су градивни блок безбедносног моделирања које помаже у управљању корисницима и подацима којима могу да приступе. Пословне јединице дефинишу границу безбедности. Свака Dataverse база података има једну основну пословну јединицу.
Можете да креирате подређене пословне јединице да бисте помогли даљем сегментирању корисника и података. Сваки корисник додељен окружењу припада пословној јединици. Иако се пословне јединице могу користити за моделирање праве хијерархије организације типа 1:1, оне чешће нагињу ка само дефинисаним границама безбедности како би се постигле потребе безбедносног модела.
Да бисте то боље разумели, хајде да погледамо следећи пример. Имамо три пословне јединице. Woodgrove је основна пословна јединица и увек ће бити на врху, што је непромењиво. Креирали смо још две дечије пословне јединице А и Б. Корисници у овим пословним јединицама имају различите потребе за приступом. Када повежемо корисника са окружењем, можемо га поставити да се налази у једној од ове три пословне јединице. Где је корисник повезан одређује која пословна јединица поседује евиденцију коју је корисник власник. Оваква асоцијација нам омогућава да прилагодимо безбедносну улогу како би кориснику омогућио преглед свих записа у тој пословној јединици.
Хијерархијска структура приступа подацима
Клијенти могу користити организациону структуру у којој су подаци и корисници разврстани у хијерархију налик стаблу.
Када повежемо корисника са овим окружењем, можемо га поставити да се налази у једној од ове три пословне јединице и доделити му безбедносну улогу из пословне јединице. Пословна јединица са којом је корисник повезан одређује која пословна јединица поседује записе када корисник креира запис. Имајући ту асоцијацију, омогућава нам да прилагодимо < ДИЦТ__безбедносна улога > сецуритy роле , што омогућава кориснику да види записе у тој пословној јединици.
Корисник А је повезан са одељењем А и додељена му је безбедносна улога Ф из одељења А. То омогућава кориснику А приступ записима Контакта #1 и Контакта #2. Док корисник Б у Дивизији Б не може да приступи евиденцији контаката Дивизије А, али може да приступи запису Контакт #3.
Матрична структура приступа подацима (Модернизоване пословне јединице)
Клијенти могу да користе организациону структуру у којој су подаци разврстани у хијерархију налик на стабло, а корисници могу да раде и приступају подацима било које пословне јединице без обзира на то којој је пословној јединици додељен корисник.
Када повежемо корисника са окружењем, можемо га поставити да се налази у једној од ове три пословне јединице. За сваку пословну јединицу којој корисник треба да приступи подацима, кориснику се додељује безбедносна улога из те пословне јединице. Када корисник креира запис, корисник може поставити пословну јединицу да поседује запис.
Корисник А може бити повезан са било којом пословном јединицом, укључујући основну пословну јединицу. Безбедносна улога Ф из одељења А додељена је кориснику А, што даје кориснику приступ записима Контакта #1 и Контакта #2. Безбедносна улога Ф из одељења Б додељена је кориснику А, што даје кориснику приступ запису Контакта #3.
Омогућавање матричне структуре приступа подацима
Белешка
Пре него што омогућите ову функцију, морате да објавите сва прилагођавања да бисте омогућили све нове необјављене табеле за ту функцију. Ако откријете да имате необјављене табеле које не раде са овом функцијом када је укључите, можете подесити поставку RecomputeOwnershipAcrossBusinessUnits помоћу алатке OrgDBOrgSettings за Microsoft Dynamics CRM. Постављање РецомпутеВласништвоАцроссБусинессУнитс на труе омогућава постављање и ажурирање поља Власничка пословна јединица .
- Пријавите се у Power Platform админ центар као администратор (Дyнамицс 365 админ или Microsoft Power Platform админ).
- Изаберите Окружења, а затим изаберите окружење за које желите да омогућите ову функцију.
- Изаберите Поставке>Производ>Функције.
- Укључите прекидач Власништво над записима у пословним јединицама.
Када је овај прекидач функција укључен, можете изабрати Пословну јединицу доделите безбедносну улогу кориснику. То вам омогућава да кориснику доделите безбедносну улогу из различитих пословних јединица. Корисник такође захтева безбедносну улогу пословне јединице која је кориснику додељена са привилегијама корисничких поставки за покретање апликација заснованих на моделу. Можете да погледате безбедносну улогу основног корисника да бисте пронашли начин на који су омогућене ове привилегије корисничких поставки.
Корисника можете доделити као власника записа у било којој пословној јединици без потребе да додељујете безбедносне улоге у пословној јединици у власништву записа све док корисник има безбедносну улогу која у табели записа има привилегију „Читање“. Погледајте Власништво над записом у модернизованим пословним јединицама.
Белешка
Овај прекидач функције се чува у поставци EnableOwnershipAcrossBusinessUnits и може да се подеси помоћу алатке OrgDBOrgSettings за Microsoft Dynamics CRM.
Повежите пословну јединицу са сигурносном групом Microsoft Entra
Можете користити сигурносну групу Microsoft Entra за мапирање ваше пословне јединице за поједностављење администрације корисника и додељивање улога.
Креирајте безбедносну групу Microsoft Entra за сваку пословну јединицу и доделите одговарајућу < ДИЦТ__безбедносна улога > сецуритy роле пословне јединице сваком тиму групе.
За сваку пословну јединицу креирајте сигурносну групу Microsoft Entra . Креирајте групни тим Dataverse за сваку безбедносну Microsoft Entra групу. Доделите одговарајућу безбедносну улогу из пословне јединице сваком Dataverse групном тиму. Корисник у горенаведеном дијаграму ће бити креиран у основној пословној јединици када корисник приступи окружењу. У реду је да корисник и Dataverse групни тимови буду у основној пословној јединици. Они имају приступ подацима само у пословној јединици у којој је додељена безбедносна улога.
Додајте кориснике у одговарајућу Microsoft Entra безбедносну групу да бисте им омогућили приступ пословној јединици. Корисници могу одмах да покрену апликацију и приступе њеним ресурсима/подацима.
У приступу подацима матрице , где корисници могу да раде и приступају подацима из више пословних јединица, додајте кориснике у безбедносне Microsoft Entra групе које су мапиране на те пословне јединице.
Власничка пословна јединица
Сваки запис има колону Власничка пословна јединица , која одређује која пословна јединица поседује запис. Ова колона подразумевано подразумева пословну јединицу корисника када је запис креиран и не може се променити осим када је прекидач функција укључен.
Белешка
Када промените која пословна јединица поседује запис, обавезно погледајте следеће за каскадне ефекте: Коришћење СДК-а за .НЕТ за конфигурисање каскадног понашања.
Можете да одлучите да ли желите да дозволите кориснику да подеси колону „Пословна јединица-власник“ када је прекидач функције укључен. Да бисте подесили колону „Пословна јединица-власник“, морате кориснику доделити безбедносну улогу привилегију Приложи у са дозволом локалног нивоа.
Да бисте омогућили кориснику да подеси ову колону, можете да омогућите колону на следећи начин:
- Образац – и тело и заглавље.
- Приказ.
- Мапирања колона. Ако користите АутоМапЕнтитy , можете одредити колону у мапирању колона.
Белешка
Ако имате посао/процес за синхронизацију података између окружења и Власничка пословна јединица је укључено као део шеме, ваш посао неће успети са кршењем ограничења Foreign KEY ако циљно окружење нема исту вредност Власништво пословне јединице.
Можете уклонити колону Пословна јединица-власник из изворне шеме или ажурирати вредност колоне Пословна јединица-власник извора на било коју од пословних јединица циља.
Ако имате посао/процес за копирање података из окружења у спољни ресурс, на пример PowerBI, мораћете да изаберете или опозовете избор колоне Пословна јединица-власник из вашег извора. Изаберите га ако ваш ресурс може да га прими, иначе га поништите.
Власништво над табелом/записом
Dataverse подржава две врсте власништва над записима. У власништву организације и у власништву корисника или тима. Ово је избор који се дешава у тренутку када се табела креира и који се не може променити. Из безбедносних разлога, записи који су у власништву организације, једини избор нивоа приступа је да ли корисник може извршити операцију или не може. За записе у власништву корисника и тима, избори нивоа приступа за већину привилегија су слојевита организација, пословна јединица, пословна јединица и подређена пословна јединица или само записи корисника. То значи да за привилегију читања за контакт, могу да подесим власништво корисника и корисник би могао да видети само своје записе.
Да бисмо дали још један пример, рецимо да је корисник А повезан са одељењем А, а ми му дајемо разину право читања за контакт на нивоу пословне јединице. Могли би да виде контакт бр. 1 и бр. 2, али не и контакт бр. 3.
Када конфигуришете или уредите привилегије безбедносних улога, постављате ниво приступа за сваку опцију. Следи пример уредника уређивача привилегија за безбедносне улоге.
У горенаведеном примеру можете да видите стандардне типове привилегија за сваку табелу: креирање, читање, писање, брисање, додавање, додавање у, додељивање и дељење. Сваку од њих можете изменити појединачно. Визуелни приказ сваког од њих ће се подударати са доленаведеним кључем у вези са нивоом приступа који сте одобрили.
У горњем примеру, пружили смо приступ контакту на нивоу организације, што значи да је корисник у одељењу А могао да види и ажурира контакте у било чијем власништву. У ствари, једна од најчешћих административних грешака је фрустрација због дозвола и последично претеривање у одобравању приступа. Врло брзо, добро направљен безбедносни модел почиње да изгледа као швајцарски сир (пун рупа!).
Власништво над записом у модернизованим пословним јединицама
У модернизованим пословним јединицама, можете да имате кориснике који су власници записа у свим пословним јединицама. Све што је корисницима потребно је безбедносна улога (било која пословна јединица) која има привилегију читања у табели записа. Корисници не морају да имају додељену безбедносну улогу у свакој пословној јединици у којој се запис налази.
Ако је Власништво над записима у пословним јединицама омогућено у производном окружењу током периода верзије за преглед, потребно је да извршите следеће радње да бисте омогућили ово власништво над записима у пословној јединици:
- Инсталирајте уређивач подешавања организације
- Подесите поставке организације RecomputeOwnershipAcrossBusinessUnits на вредност true. Када је ова поставка постављена на истинито, систем је закључан и може потрајати до 5 минута да изврши прерачунавање како би се омогућила могућност у којој корисници сада могу да поседују записе у пословним јединицама без потребе да имају одвојене < ДИЦТ__безбедносна улога > сецуритy роле додељене из сваке пословне јединице. Ово омогућава власнику записа да додели свој запис некоме изван пословне јединице која поседује запис.
- Подесите AlwaysMoveRecordToOwnerBusinessUnit на вредност false. На тај начин запис остаје у власништву оригиналне пословне јединице када се промени власништво над записом.
За сва окружења која нису производна, потребно је само да подесите AlwaysMoveRecordToOwnerBusinessUnit на вредност false да бисте користили ову могућност.
Белешка
Ако искључите функцију Власништво над записима у пословним јединицама или подесите поставку РецомпутеВласништвоАцроссБусинессУнитс на лажно помоћу алата ОргДБОргСеттингс за Microsoft Dynamics ЦРМ , нећете моћи да подесите или ажурирате поље Власничка пословна јединица , а сви записи у којима се поље Власничка пословна јединица разликује од пословне јединице власника биће ажурирани у пословну јединицу власника.
Тимови (укључујући групне тимове)
Тимови су још један важан градивни блок безбедности. Тимови су у власништву пословне јединице. Свака пословна јединица има један подразумевани тим који се аутоматски креира када се креира пословна јединица. Члановима подразумеваног тима управља услуга Dataverse, која увек садржи све кориснике повезане са том пословном јединицом. Не можете ручно додавати или уклањати чланове из подразумеваног тима; систем их динамички прилагођава јер су нови корисници повезани са пословним јединицама или раздвојени од њих. Постоје две врсте тимова, тимови-влаСнимци и тимови за приступ.
- Тимови-власници могу да поседују записе, који сваком члану тима омогућавају директан приступ том запису. Корисници могу бити чланови више тимова. Ово ће му омогућити да буде моћан начин давања дозвола корисницима у широком захвату, без детаљног управљања приступом на нивоу појединачног корисника.
- О тимовима за приступ се говори у следећем одељку као део дељења записа.
Дељење записа
Појединачни записи могу се делити један по један са другим корисником. Ово је моћан начин руковања изузецима који не спадају у власништво записа или је члан модела приступа пословној јединици. Ипак, то би требало да буде изузетак, јер је то мање перформанствен начин контроле приступа. Дељење је теже решити јер то није доследно имплементирана контрола приступа. Дељење се може обављати на нивоу корисника и на нивоу тима. Дељење са тимом је ефикаснији начин дељења. Напреднији концепт дељења је са Аццесс Теамс-ом, који обезбеђује аутоматско креирање тима, а дељење приступа записима са тимом заснива се на шаблону Аццесс Теам (шаблон дозвола) који се примењује. Приступни тимови се такође могу користити без шаблона, са само ручним додавањем или уклањањем његових чланова. Тимови за приступ су ефикаснији јер не дозвољавају власништво над записима од стране тима или имају безбедносне улоге додељене тиму. Корисници добијају приступ јер се запис дели са тимом, а корисник је члан.
Безбедност на нивоу записа у услузи Dataverse
Можда се питате – шта одређује приступ запису? То звучи као једноставно питање, али за сваког корисника то је комбинација свих њихових безбедносних улога, пословне јединице са којом су повезани, тимова чији су чланови и записа који се деле са њима. Кључна ствар коју треба запамтити је да је сав приступ акумулира у свим тим концептима у опсегу Dataverse окружења базе података. Ова права се додељују само у оквиру једне базе података и појединачно се прате у свакој Dataverse бази података. Све ово захтева да имају одговарајућу дозволу за приступ платформи Dataverse.
Безбедност на нивоу колоне у услузи Dataverse
Понекад контрола приступа на рекордном нивоу није адекватна за неке пословне сценарије. Dataverse има функцију безбедности на нивоу колоне која омогућава детаљнију контролу безбедности на нивоу колоне. Безбедност на нивоу колоне може се омогућити на свим прилагођеним колонама и на већини системских колона. Већина системских колона које садрже личне податке (PII) могу се индивидуално обезбедити. Метаподаци сваке колоне дефинишу да ли је то доступна опција за системску колону.
Безбедност на нивоу колоне омогућена је на основу појединачних колона. Приступом се затим управља креирањем безбедносног профила колоне. Профил садржи све колоне са омогућеном заштитом на нивоу колоне и приступом који је додељен том одређеном профилу. Свака колона се може контролисати у профилу за приступ за креирање, ажурирање и читање. Профили безбедности колона се затим повезују са корисником или тимовима који ће корисницима одобрити те привилегије за записе којима већ имају приступ. Важно је напоменути да заштита на нивоу колоне нема никакве везе са безбедношћу на нивоу записа. Корисник већ мора имати приступ запису за профил безбедности колоне да би му се одобрио било какав приступ колонама. Безбедност на нивоу колона треба користити по потреби, а не претерано, јер може изазвати преоптерећење које је штетно ако се претерано користи.
Управљање безбедношћу у више окружења
Безбедносне улоге и сигурносни профили колоне могу се паковати и селити из једног окружења у друго помоћу Dataverse решења. Пословне јединице и тимови морају бити креирани и њима се управља у сваком окружењу, уз доделу корисника неопходним безбедносним компонентама.
Конфигурисање безбедности окружења за кориснике
Када се улоге, тимови и пословне јединице креирају у окружењу, време је да доделите корисницима њихове безбедносне конфигурације. Прво, када креирате корисника, повезаћете га са пословном јединицом. Подразумевано је ово главна пословна јединица у организацији. Они су такође додати подразумеваном тиму те пословне јединице.
Поред тога, доделићете све безбедносне улоге које су кориснику потребне. Такође ћете их додати као чланове било којег тима. Имајте на уму да тимови такође могу имати безбедносне улоге, тако да су ефективна права корисника комбинација директно додељених безбедносних улога у комбинацији са улогама свих тимова чији су чланови. Безбедност увек чини адитивну понуду најмање рестриктивне дозволе било којег додељеног права. Следи добро упутство кроз подешавање безбедности окружења.
Ако сте користили безбедност на нивоу колоне, мораћете да повежете корисника или тим корисника са једним од профила безбедности колоне које сте креирали.
Безбедност је сложен чланак и најбоље се постиже као заједнички напор између произвођача апликација и тима који управља дозволама корисника. Све веће промене треба да буду координисане много пре примене промена у окружењу.
Такође погледајте
Конфигуришите безбедност окружења
Безбедносне улоге и привилегије