Concepte de securitate în Microsoft Dataverse

Una dintre caracteristicile cheie ale Dataverse este modelul său bogat de securitate care se poate adapta multor scenarii de utilizare în afaceri. Acest model de securitate este în joc doar atunci când există o bază de date Dataverse în mediu. În calitate de administrator, probabil că nu veți construi singur întregul model de securitate, dar veți fi adesea implicat în procesul de gestionare a utilizatorilor și asigurarea faptului că aceștia au configurarea corectă și soluționarea problemelor legate de accesul la securitate.

Securitatea bazată pe roluri

Dataverse folosește securitatea bazată pe roluri pentru a grupa o colecție de privilegii. Aceste roluri de securitate pot fi asociate direct utilizatorilor sau pot fi asociate cu echipe Dataverse și unități de afaceri. Utilizatorii pot fi apoi asociați cu echipa și, prin urmare, toți utilizatorii asociați cu echipa vor beneficia de acest rol. Un concept cheie de înțeles pentru securitatea Dataverse este că toate privilegiile acordate sunt cumulate cu cea mai mare cantitate de acces. Dacă ați acordat acces la citire la nivel de organizație la toate înregistrările de contact, nu puteți reveni și ascunde o singură înregistrare.

Unități de business

Sfat

Simbol videoUrmăriți următorul videoclip: Modernizarea unităților de business.

Unitățile de afaceri lucrează cu roluri de securitate pentru a determina securitatea eficientă pe care o are un utilizator. Unitățile de business sunt un bloc de construcție pentru modelarea securității care ajută la gestionarea utilizatorilor și a datelor pe care le pot accesa. Unitățile de business definesc o graniță de securitate. Fiecare bază de date Dataverse are o singură unitate de business rădăcină.

Puteți crea unități de business secundare pentru a vă ajuta să segmentați suplimentar utilizatorii și datele. Fiecare utilizator alocat unui mediu va aparține unei unități de business. În timp ce unitățile de business ar putea fi utilizate pentru a modela 1:1 o adevărată ierarhie a organizației, de obicei se orientează mai mult către limitele de securitate definite pentru a ajuta la îndeplinirea nevoilor modelului de securitate.

Pentru a înțelege mai bine să studiem exemplul următor. Avem trei unități de business. Woodgrove este unitatea de business rădăcină și va fi întotdeauna în vârf, adică neschimbătoare. Am creat alte două unități de afaceri secundare A și B. Utilizatorii acestor unități de afaceri au nevoi de acces foarte diferite. Când asociem un utilizator cu acest mediu, putem seta utilizatorul pentru a fi într-una dintre aceste trei unități de business. Locul în care utilizatorul este asociat va determina ce unitate de business deține înregistrările pentru care utilizatorul este proprietarul. Având această asociere ne permite să adaptăm un rol de securitate pentru a permite utilizatorului să vadă toate înregistrările din acea unitate de business.

Structura ierarhică de acces la date

Clienții pot utiliza o structură organizațională în care datele și utilizatorul sunt compartimentate într-o ierarhie arborescentă.

Când asociem un utilizator cu acest mediu, putem seta utilizatorul să se afle într-una dintre aceste trei unități de business și îi putem atribui un rol de securitate din unitatea de business. Unitatea de business cu care este asociat utilizatorul determină care unitate de business deține înregistrările create de utilizator. Această asociere ne permite să adaptăm un rol de securitate care oferă posibilitatea utilizatorului să vadă înregistrările în acea unitate de business.

Utilizatorul A este asociat cu Divizia A și i se atribuie un rol de securitate Y din Divizia A. Aceasta permite utilizatorului A să acceseze înregistrările Persoanei de contact #1 și Persoanei de contact #2. Utilizatorul B din Divizia B nu poate accesa înregistrările persoanelor de contact din Divizia A, dar poate accesa înregistrarea Persoanei de contact #3.

Exemplu de structură matricială de acces la date

Structură matricială de acces la date (Unități de business modernizate)

Clienții pot utiliza o structură organizațională în care datele sunt compartimentate într-o ierarhie arborescentă, iar utilizatorii pot lucra și accesa datele oricărei unități de business, indiferent de unitatea de business căreia îi este atribuit utilizatorul.

Când asociem un utilizator cu acest mediu, putem seta utilizatorul pentru a fi într-una dintre aceste trei unități de business. Pentru fiecare unitate de business ale cărei date un utilizator trebuie să le acceseze, utilizatorului i se atribuie un rol de securitate din acea unitate de business. Când utilizatorul creează o înregistrare, poate seta unitatea de business care o va deține.

Utilizatorul A poate fi asociat cu oricare dintre unitățile de business, inclusiv cu unitatea de business rădăcină. Un rol de securitate Y din Divizia A este atribuit utilizatorului A, ceea ce îi oferă acces la înregistrările Persoanei de contact #1 și Persoanei de contact #2. Un rol de securitate Y din Divizia B este atribuit utilizatorului A, ceea ce îi oferă acces la înregistrarea Persoanei de contact #3.

Exemplu de structură ierarhică de acces la date

Activați structura matricială de acces la date

Notă

Înainte de a activa această caracteristică, trebuie să publicați toate personalizările pentru a activa toate noile tabele nepublicate pentru caracteristică. Dacă descoperiți că aveți tabele nepublicate care nu funcționează cu această funcție după ce ați activat-o, puteți configura setarea RecomputeOwnershipAcrossBusinessUnits utilizând Instrumentul OrgDBOrgSettings pentru Microsoft Dynamics CRM. Setarea RecomputeOwnershipAcrossBusinessUnits la true permite setarea și actualizarea câmpului Unitate de business proprietară.

  1. Conectați-vă la Power Platform centru de administrare ca administrator (administrator Dynamics 365, administrator global sau administrator Microsoft Power Platform).
  2. Selectați Medii, apoi alegeți mediul pentru care doriți să activați această caracteristică.
  3. Selectați Setări>Produs>Caracteristici.
  4. Activați comutatorul Proprietatea asupra înregistrărilor între unități de business.

Odată ce acest comutator al caracteristicii este activat, puteți selecta Unitatea de business atunci când atribuiți un rol de securitate unui utilizator. Acest lucru vă permite să atribuiți rol de securitate de la diferite unități de business unui utilizator. Utilizatorul necesită, de asemenea, un rol de securitate de la unitatea de business căreia îi este alocat utilizatorul cu privilegii pentru setările utilizatorului pentru a rula aplicații proiectate pe bază de model. Puteți consulta rolul de securitate Utilizator de bază pentru a afla cum sunt activate aceste privilegii pentru setările utilizatorului.

Puteți atribui un utilizator ca proprietar de înregistrare în orice unitate de business fără a fi nevoie să atribuiți un rol de securitate în unitatea de de business proprietară a înregistrării, atâta timp cât utilizatorul are un rol de securitate care are privilegiul de citire la tabelul de înregistrări. Consultați Proprietatea înregistrărilor în unitățile de business modernizate.

Notă

Acest comutator de caracteristici este stocat în setarea EnableOwnershipAcrossBusinessUnits și poate fi setat folosind instrumentul OrgDBOrgSettings pentru Microsoft Dynamics CRM.

Asocierea unei unități de business cu un Microsoft Entra grup de securitate

Puteți utiliza un grup de Microsoft Entra securitate pentru a mapa unitatea de business pentru a simplifica administrarea utilizatorilor și atribuirea rolurilor.

Creați un grup de Microsoft Entra securitate pentru fiecare unitate de business și atribuiți unitatea de business rol de securitate fiecărei echipe de grup.

Creați un grup de securitate pentru fiecare unitate de Microsoft Entra business.

Pentru fiecare unitate de business, creați un grup de Microsoft Entra securitate. Creați o echipă Dataverse de grup pentru fiecare Microsoft Entra grup de securitate. Atribuiți rolul de securitate respectiv din unitatea de business fiecărei echipe de grup Dataverse. Utilizatorul din diagrama de mai sus va fi creat în unitatea de business rădăcină atunci când utilizatorul accesează mediul. Este bine ca utilizatorul și echipele grup Dataverse să fie în unitatea de business rădăcină. Ei au acces doar la datele din unitatea de business unde este atribuit rolul de securitate.

Adăugați utilizatori în grupul de securitate respectiv Microsoft Entra pentru a le acorda acces la unitatea de business. Utilizatorii pot rula imediat aplicația și pot accesa resursele/datele acesteia.

În accesul la datele matricei, unde utilizatorii pot lucra și accesa date din mai multe unități de business, adăugați utilizatorii la grupurile de securitate care au mapat la acele unități de Microsoft Entra business.

Unitatea de business proprietară

Fiecare înregistrare are o coloană Unitate de business proprietară care determină ce unitate de business deține înregistrarea. Coloana implicită a câmpului este unitatea de business a utilizatorului atunci când este creată înregistrarea și nu poate fi modificată decât atunci când comutatorul caracteristicii este ACTIVAT.

Notă

Când modificați unitatea de business care deține o înregistrare, asigurați-vă că consultați următoarele pentru efecte în cascadă: Utilizarea SDK pentru .NET pentru a configura comportamentul în cascadă.

Puteți gestiona dacă doriți să permiteți utilizatorului să seteze coloana Unitate de business proprietară atunci când comutatorul caracteristicii este ACTIVAT. Pentru a seta coloana Unitate de business proprietară, trebuie să acordați rolului de securitate al utilizatorului privilegiul din tabelul Adăugați la al Unității de business, cu permisiune la nivel local.

Pentru a permite utilizatorului să seteze această coloană, puteți activa această coloană în următoarele:

  1. Formular - atât corpul, cât și antetul.
  2. Vizualizați.
  3. Mapări de coloane. Dacă utilizați AutoMapEntity, puteți să specificați coloana în maparea coloanelor.

Notă

Dacă aveți o lucrare/un proces implicând sincronizarea datelor între medii și Unitate de business proprietară este inclusă ca parte a schemei, lucrarea dvs. va eșua cu o încălcare a constrângerii CHEIE externă dacă mediul țintă nu are aceeași valoare pentru Unitatea de business proprietară.

Puteți fie să eliminați coloana Unitate de business proprietară din schema sursei sau să actualizați valoarea coloanei Unitate de business proprietară din sursă la oricare dintre unitățile de business ale țintei.

Dacă aveți o lucrare/un proces implicând copierea de date dintr-un mediu într-o resursă externă, de exemplu PowerBI, va trebui să selectați sau să deselectați coloana Unitate de business proprietară din sursa dvs. Selectați dacă resursa dvs. poate primi, altfel deselectați.

Proprietatea tabelului/înregistrării

Dataverse acceptă două tipuri de proprietate de înregistrare. Deținute de organizație și deținute de utilizatori sau echipe. Aceasta este o alegere care are loc în momentul creării tabelului și care nu poate fi modificată. Din motive de securitate, înregistrările care sunt deținute de organizație, singurele opțiuni de nivel de acces este fie că utilizatorul poate face operațiunea, fie nu. Pentru înregistrările deținute de utilizatori și de echipe, opțiunile de nivel de acces pentru majoritatea privilegiilor sunt organizația pe niveluri, Unitatea de afaceri, Unitatea de afaceri și Unitatea de afaceri secundară sau numai înregistrările proprii ale utilizatorului. Asta înseamnă că pentru privilegiul de citire la contact, aș putea seta ca deținut de utilizator, iar utilizatorul își va vedea doar propriile înregistrări.

Pentru a da un alt exemplu, să spunem că utilizatorul A este asociat cu Divizia A și le oferim privilegiul citire nivel unitate de business la contact. Ei ar putea vedea persoana de contact nr. 1 și nr. 2, dar nu persoana de contact nr. 3.

Când configurați sau editați privilegiile rol de securitate, setați nivelul de acces pentru fiecare opțiune. În continuare prezentăm un exemplu de editor de privilegii rol de securitate.

Rol de securitate privilegii.

În cele de mai sus, puteți vedea tipurile de privilegii standard pentru fiecare tabel: creare, citire, scriere, ștergere, adăugare, adăugare la, atribuire și partajare. Le puteți edita pe fiecare dintre acestea individual. Afișarea vizuală a fiecăruia se va potrivi cu tasta de mai jos cu privire la ce nivel de acces ați acordat.

Rol de securitate cheie de privilegii.

În exemplul de mai sus, am oferit acces la nivel de organizație la Contact, ceea ce înseamnă că utilizatorul din Divizia A ar putea vedea și actualiza contactele deținute de oricine. De fapt, una dintre cele mai frecvente greșeli administrative este frustrarea cu permisiunile și acordarea unui acces excesiv. Foarte repede, un model de securitate bine pregătit începe să pară o sită (plin de găuri!).

Consultați Înregistrați proprietatea în unitățile de business modernizate

În Unitățile de business modernizate, puteți avea utilizatorii care să fie proprietari ai înregistrărilor din orice unități de business. Tot ce au nevoie utilizatorii este un rol de securitate (orice unitate de business) care are privilegiul de citire la tabelul de înregistrări. Utilizatorii nu trebuie să aibă un rol de securitate alocat în fiecare unitate de business în care se află înregistrarea.

Dacă Proprietatea asupra înregistrărilor în toate unitățile de business a fost activată în mediul dvs. de producție în timpul perioadei de versiune preliminară, trebuie să efectuați următoarele pentru a activa această proprietate a înregistrărilor în întreaga unitate de business:

  1. Instalați Editorul setărilor organizației
  2. Setați setările organizației RecomputeOwnershipAcrossBusinessUnits la adevărat. Când această setare este setată la true, sistemul este blocat și poate dura până la 5 minute pentru a efectua recalcularea pentru a activa capacitatea în care utilizatorii pot deține acum înregistrări în unitățile de business fără a fi nevoie să aibă rol de securitate separate atribuite din fiecare unitate de business. Acest lucru permite unui proprietar al unei înregistrări să atribuie înregistrarea sa unei persoane din afara unității de business care deține înregistrarea.
  3. Setați AlwaysMoveRecordToOwnerBusinessUnit la fals. Acest lucru face ca înregistrarea să rămână în unitatea de business proprietară inițială atunci când proprietatea înregistrării este schimbată.

Pentru toate mediile care nu sunt de producție, trebuie doar să setați AlwaysMoveRecordToOwnerBusinessUnit la fals pentru a utiliza această capacitate.

Notă

Dacă dezactivați caracteristica Înregistrați proprietatea asupra unităților de business sau setați setarea RecomputeOwnershipAcrossBusinessUnits la false utilizând instrumentul OrgDBOrgSettings pentru Microsoft Dynamics CRM, nu veți putea seta sau actualiza câmpul Unitate de business proprietară și toate înregistrările în care câmpul Unitate de business proprietar este diferit de unitatea de business a proprietarului vor fi actualizate la unitatea de business a proprietarului.

Echipe (inclusiv echipe de grup)

Echipele sunt o altă structură de securitate importantă. Echipele sunt deținute de o unitate de business. Fiecare unitate de business are o echipă implicită care este creată automat la crearea unității de business. Membrii echipei implicite sunt gestionați de Dataverse și aceasta conține întotdeauna toți utilizatorii asociați cu acea unitate de business. Nu puteți adăuga sau elimina manual membrii din echipa implicită, sunt reglați dinamic de sistem, deoarece utilizatorii noi sunt asociați/detașați de unitățile de business. Există două tipuri de echipe, care echipe proprietare și echipe de acces.

  • Echipele proprietare pot deține înregistrări, care oferă oricărui membru al echipei acces direct la înregistrarea respectivă. Utilizatorii pot fi membri ai mai multor echipe. Acest lucru va permite să fie o modalitate puternică de acordare a permisiuni utilizatorilor într-un mod extins, fără micro-administrarea accesului la nivel de utilizator.
  • Echipele de acces sunt discutate în secțiunea următoare ca parte a partajării înregistrărilor.

Partajarea înregistrărilor

Înregistrările individuale pot fi partajate unul câte unul cu un alt utilizator. Acesta este un mod puternic de tratare a excepțiilor care nu intră în proprietatea înregistrărilor sau sunt membre ale unui model de acces la unitatea de business. Ar trebui să fie o excepție, totuși, pentru că este un mod mai puțin performant de a controla accesul. Partajarea este mai greu de depanat, deoarece nu este un control al accesului implementat în mod consecvent. Partajarea se poate face atât la nivel de utilizator, cât și la nivel de echipă. Partajarea cu o echipă este un mod mai eficient de partajare. Un concept mai avansat de partajare este cu Access Teams, care oferă crearea automată a unei echipe și partajarea accesului la înregistrări cu echipa se bazează pe un șablon de echipă Access (șablon de permisiuni) care este aplicat. Echipele de acces pot fi, de asemenea, utilizate fără șabloane, doar adăugând sau eliminând manual membrii săi. Echipele de acces sunt mai performante deoarece nu permit deținerea înregistrărilor de către echipă sau atribuirea de roluri de securitate echipei. Utilizatorii au acces deoarece înregistrarea este partajată cu echipa, iar utilizatorul este membru.

Securitate la nivel de înregistrare în Dataverse

V-ați putea întreba - ce determină accesul la o înregistrare? Pare a fi o întrebare simplă, dar pentru orice utilizator dat, accesul depinde de combinația tuturor rolurilor de securitate asociate, unitatea de business cu care este asociat, echipele din care face parte și înregistrările care îi sunt partajate. Lucrul esențial de reținut este că accesul este cumulativ în toate acele concepte din domeniul de aplicare al mediului bazei de date Dataverse. Aceste drepturi sunt acordate numai într-o singură bază de date și sunt urmărite individual în fiecare bază de date Dataverse. Toate acestea necesită accesul la o licență adecvată Dataverse.

Securitatea la nivel de coloană în Dataverse

Uneori, controlul accesului la nivel de înregistrare nu este adecvat pentru unele scenarii de business. Dataverse are o caracteristică de securitate la nivel de coloană pentru a permite un control mai granular al securității la nivel de coloană. Securitatea la nivel de coloană poate fi activată pe toate coloanele particularizate și pe majoritatea coloanelor de sistem. Majoritatea coloanelor de sistem care includ date cu potențial de identificare personală (PII) pot fi securizate individual. Metadatele fiecărei coloane definesc dacă aceasta este o opțiune disponibilă pentru coloana de sistem.

Securitatea la nivel de coloană este activată coloană cu coloană. Accesul este apoi gestionat prin crearea unui profil de securitate în coloană. Profilul conține toate coloanele care au securitate la nivel de coloană activată și accesul acordat de acel profil specific. Fiecare coloană poate fi controlată în cadrul profilului pentru acces de Creare, Actualizare și Citire. Profilurile de securitate la nivel de coloană sunt apoi asociate cu un utilizator sau echipe pentru a acorda utilizatorilor acele privilegii pentru înregistrările la care au deja acces. Este important să rețineți că securitatea la nivel de coloană nu are nicio legătură cu securitatea la nivel de înregistrare. Un utilizator trebuie să aibă deja acces la înregistrarea pentru profilul de securitate la nivel de coloană pentru a le acorda orice acces la coloane. Securitatea la nivel de coloană ar trebui utilizată la nevoie și nu excesiv, deoarece poate adăuga cheltuieli generale care sunt dăunătoare dacă sunt folosite excesiv.

Gestionarea securității în mai multe medii

Rolurile de securitate și Profilurile de securitate la nivel de coloană pot fi grupate și mutate dintr-un mediu în altul folosind soluțiile Dataverse. Unitățile și echipele de business trebuie create și gestionate în fiecare mediu împreună cu atribuirea utilizatorilor la componentele de securitate necesare.

Configurarea securității mediului utilizatorilor

Odată ce rolurile, echipele și unitățile de afaceri sunt create într-un mediu, este timpul să le atribuiți utilizatorilor configurațiile de securitate. În primul rând, atunci când creați un utilizator, îl veți asocia cu o unitate de afaceri. În mod implicit, aceasta este unitatea de business rădăcină din organizație. Acestea sunt, de asemenea, adăugate la echipa implicită a acelei unități de afaceri.

În plus, puteți atribui orice roluri de securitate de care are nevoie utilizatorul. De asemenea, îi puteți adăuga ca membri ai oricărei echipe. Nu uitați că echipele pot avea și roluri de securitate, astfel încât drepturile efective ale utilizatorului sunt combinația de roluri de securitate atribuite direct combinate cu cele ale oricăror echipe din care fac parte. Securitatea este întotdeauna aditivă, oferind permisiunea cea mai puțin restrictivă dintre drepturile deținute. În continuare vă oferim o bună prezentare pentru configurarea securității mediului.

Dacă ați utilizat securitate la nivel de coloană, ar trebui să asociați utilizatorul sau o echipă a utilizatorului la unul dintre profilurile de securitate la nivel de coloană pe care le-ați creat.

Securitatea este un articol complex și se realizează cel mai bine ca un efort comun între producătorii de aplicații și echipa care administrează permisiunile utilizatorilor. Orice schimbare majoră ar trebui să fie coordonată cu mult înainte de implementarea schimbărilor în mediu.

Consultați și

Configurarea securității mediului
Roluri și privilegii de securitate