Bezbednosni koncepti u usluzi Microsoft Dataverse
Jedna od ključnih funkcija usluge Dataverse je njen bogat bezbednosni model koji se može prilagoditi mnogim scenarijima poslovne primene. Ovaj bezbednosni model je u igri samo kada postoji baza Dataverse podataka u okruženju. Kao administrator, verovatno nećete sami graditi celokupan model bezbednosti, već ćete često biti uključeni u proces upravljanja korisnicima i osiguravanja da imaju odgovarajuću konfiguraciju i rešavaju probleme u vezi sa bezbednosnim pristupom.
Napojnica
Pogledajte sledeći video: Microsoft Dataverse – Bezbednosni koncepti prikazani u demonstracijama.
Bezbednost zasnovana na ulogama
Dataverse koristi bezbednost zasnovanu na ulogama da grupiše kolekciju privilegija. Te bezbednosne uloge mogu se direktno povezati sa korisnicima ili se mogu povezati sa Dataverse timovima i poslovnim jedinicama. Korisnici tada mogu biti povezani sa timom, a samim tim i svi korisnici povezani sa timom imaju koristi od uloge. Ključni koncept Dataverse bezbednosti za razumevanje je da se sve dobijene privilegije akumuliraju, s tim da prioritet ima ona sa najvećim pristupom. Ako ste širokom nivou organizacije omogućili pristup za čitanje svih zapisa kontakata, ne možete se vratiti i sakriti jedan zapis.
Poslovne jedinice
Napojnica
Pogledajte sledeći video: Modernizujte poslovne jedinice.
Poslovne jedinice rade sa bezbednosnim ulogama kako bi utvrdile efikasnu bezbednost koju korisnik ima. Poslovne jedinice su gradivni blok bezbednosnog modeliranja koje pomaže u upravljanju korisnicima i podacima kojima mogu da pristupe. Poslovne jedinice definišu granicu bezbednosti. Svaka Dataverse baza podataka ima jednu osnovnu poslovnu jedinicu.
Možete da kreirate podređene poslovne jedinice da biste pomogli daljem segmentiranju korisnika i podataka. Svaki korisnik dodeljen okruženju pripada poslovnoj jedinici. Iako se poslovne jedinice mogu koristiti za modeliranje prave hijerarhije organizacije tipa 1:1, one češće naginju ka samo definisanim granicama bezbednosti kako bi se postigle potrebe bezbednosnog modela.
Da biste to bolje razumeli, hajde da pogledamo sledeći primer. Imamo tri poslovne jedinice. Woodgrove je osnovna poslovna jedinica i uvek će biti na vrhu, što je nepromenjivo. Kreirali smo još dve dečije poslovne jedinice A i B. Korisnici u ovim poslovnim jedinicama imaju različite potrebe za pristupom. Kada povežemo korisnika sa okruženjem, možemo ga postaviti da se nalazi u jednoj od ove tri poslovne jedinice. Gde je korisnik povezan određuje koja poslovna jedinica poseduje evidenciju koju je korisnik vlasnik. Ovakva asocijacija nam omogućava da prilagodimo bezbednosnu ulogu kako bi korisniku omogućio pregled svih zapisa u toj poslovnoj jedinici.
Hijerarhijska struktura pristupa podacima
Klijenti mogu koristiti organizacionu strukturu u kojoj su podaci i korisnici razvrstani u hijerarhiju nalik stablu.
Kada povežemo korisnika sa ovim okruženjem, možemo ga postaviti da se nalazi u jednoj od ove tri poslovne jedinice i dodeliti mu bezbednosnu ulogu iz poslovne jedinice. Poslovna jedinica sa kojom je korisnik povezan određuje koja poslovna jedinica poseduje zapise kada korisnik kreira zapis. Imajući tu asocijaciju, omogućava nam da prilagodimo bezbednosnu uloga, koja omogućava korisniku da vidi zapise u toj poslovnoj jedinici.
Korisnik A je povezan sa odeljenjem A i dodeljena mu je bezbednosna uloga Y iz odeljenja A. To omogućava korisniku A pristup zapisima Kontakta #1 i Kontakta #2. Dok korisnik B u Diviziji B ne može da pristupi evidenciji kontakata Divizije A, ali može da pristupi zapisu Kontakt #3.
Matrična struktura pristupa podacima (Modernizovane poslovne jedinice)
Klijenti mogu da koriste organizacionu strukturu u kojoj su podaci razvrstani u hijerarhiju nalik na stablo, a korisnici mogu da rade i pristupaju podacima bilo koje poslovne jedinice bez obzira na to kojoj je poslovnoj jedinici dodeljen korisnik.
Kada povežemo korisnika sa okruženjem, možemo ga postaviti da se nalazi u jednoj od ove tri poslovne jedinice. Za svaku poslovnu jedinicu kojoj korisnik treba da pristupi podacima, korisniku se dodeljuje bezbednosna uloga iz te poslovne jedinice. Kada korisnik kreira zapis, korisnik može postaviti poslovnu jedinicu da poseduje zapis.
Korisnik A može biti povezan sa bilo kojom poslovnom jedinicom, uključujući osnovnu poslovnu jedinicu. Bezbednosna uloga Y iz odeljenja A dodeljena je korisniku A, što daje korisniku pristup zapisima Kontakta #1 i Kontakta #2. Bezbednosna uloga Y iz odeljenja B dodeljena je korisniku A, što daje korisniku pristup zapisu Kontakta #3.
Omogućavanje matrične strukture pristupa podacima
Belešku
Pre nego što omogućite ovu funkciju, morate da objavite sva prilagođavanja da biste omogućili sve nove neobjavljene tabele za tu funkciju. Ako otkrijete da imate neobjavljene tabele koje ne rade sa ovom funkcijom kada je uključite, možete podesiti postavku RecomputeOwnershipAcrossBusinessUnits pomoću alatke OrgDBOrgSettings za Microsoft Dynamics CRM. Postavljanje RecomputeVlasništvoAcrossBusinessUnits na true omogućava postavljanje i ažuriranje polja Vlasnička poslovna jedinica .
- Prijavite se u Power Platform admin centar kao administrator (Dynamics 365 admin ili Microsoft Power Platform admin).
- Izaberite Okruženja, a zatim izaberite okruženje za koje želite da omogućite ovu funkciju.
- Izaberite Postavke>Proizvod>Funkcije.
- Uključite prekidač Vlasništvo nad zapisima u poslovnim jedinicama.
Kada je ovaj prekidač funkcija uključen, možete izabrati Poslovnu jedinicu dodelite bezbednosnu ulogu korisniku. To vam omogućava da korisniku dodelite bezbednosnu ulogu iz različitih poslovnih jedinica. Korisnik takođe zahteva bezbednosnu ulogu poslovne jedinice koja je korisniku dodeljena sa privilegijama korisničkih postavki za pokretanje aplikacija zasnovanih na modelu. Možete da pogledate bezbednosnu ulogu osnovnog korisnika da biste pronašli način na koji su omogućene ove privilegije korisničkih postavki.
Korisnika možete dodeliti kao vlasnika zapisa u bilo kojoj poslovnoj jedinici bez potrebe da dodeljujete bezbednosne uloge u poslovnoj jedinici u vlasništvu zapisa sve dok korisnik ima bezbednosnu ulogu koja u tabeli zapisa ima privilegiju „Čitanje“. Pogledajte Vlasništvo nad zapisom u modernizovanim poslovnim jedinicama.
Belešku
Ovaj prekidač funkcije se čuva u postavci EnableOwnershipAcrossBusinessUnits i može da se podesi pomoću alatke OrgDBOrgSettings za Microsoft Dynamics CRM.
Povežite poslovnu jedinicu sa sigurnosnom grupom Microsoft Entra
Možete koristiti sigurnosnu grupu Microsoft Entra za mapiranje vaše poslovne jedinice za pojednostavljenje administracije korisnika i dodeljivanje uloga.
Kreirajte bezbednosnu grupu Microsoft Entra za svaku poslovnu jedinicu i dodelite odgovarajuću bezbednosnu uloga poslovne jedinice svakom timu grupe.
Za svaku poslovnu jedinicu kreirajte sigurnosnu grupu Microsoft Entra . Kreirajte grupni tim Dataverse za svaku bezbednosnu Microsoft Entra grupu. Dodelite odgovarajuću bezbednosnu ulogu iz poslovne jedinice svakom Dataverse grupnom timu. Korisnik u gorenavedenom dijagramu će biti kreiran u osnovnoj poslovnoj jedinici kada korisnik pristupi okruženju. U redu je da korisnik i Dataverse grupni timovi budu u osnovnoj poslovnoj jedinici. Oni imaju pristup podacima samo u poslovnoj jedinici u kojoj je dodeljena bezbednosna uloga.
Dodajte korisnike u odgovarajuću Microsoft Entra bezbednosnu grupu da biste im omogućili pristup poslovnoj jedinici. Korisnici mogu odmah da pokrenu aplikaciju i pristupe njenim resursima/podacima.
U pristupu podacima matrice, gde korisnici mogu da rade i pristupaju podacima iz više poslovnih jedinica, dodajte korisnike u bezbednosne Microsoft Entra grupe koje su mapirane na te poslovne jedinice.
Poslovna jedinica-vlasnik
Svaki zapis ima kolonu Vlasnička poslovna jedinica , koja određuje koja poslovna jedinica poseduje zapis. Ova kolona podrazumevano podrazumeva poslovnu jedinicu korisnika kada je zapis kreiran i ne može se promeniti osim kada je prekidač funkcija uključen.
Belešku
Kada promenite koja poslovna jedinica poseduje zapis, obavezno pogledajte sledeće za kaskadne efekte: Korišćenje SDK-a za .NET za konfigurisanje kaskadnog ponašanja.
Možete da odlučite da li želite da dozvolite korisniku da podesi kolonu „Poslovna jedinica-vlasnik“ kada je prekidač funkcije uključen. Da biste podesili kolonu „Poslovna jedinica-vlasnik“, morate korisniku dodeliti bezbednosnu ulogu privilegiju Priloži u sa dozvolom lokalnog nivoa.
Da biste omogućili korisniku da podesi ovu kolonu, možete da omogućite kolonu na sledeći način:
- Obrazac – i telo i zaglavlje.
- Prikaz.
- Mapiranja kolona. Ako koristite AutoMapEntity, možete odrediti kolonu u mapiranje kolona.
Belešku
Ako imate posao/proces za sinhronizaciju podataka između okruženja i Vlasnička poslovna jedinica je uključeno kao deo šeme, vaš posao neće uspeti sa kršenjem ograničenja Foreign KEY ako ciljno okruženje nema istu vrednost Vlasništvo poslovne jedinice.
Možete ukloniti kolonu Poslovna jedinica-vlasnik iz izvorne šeme ili ažurirati vrednost kolone Poslovna jedinica-vlasnik izvora na bilo koju od poslovnih jedinica cilja.
Ako imate posao/proces za kopiranje podataka iz okruženja u spoljni resurs, na primer PowerBI, moraćete da izaberete ili opozovete izbor kolone Poslovna jedinica-vlasnik iz vašeg izvora. Izaberite ga ako vaš resurs može da ga primi, inače ga poništite.
Vlasništvo nad tabelom/zapisom
Dataverse podržava dve vrste vlasništva nad zapisima. U vlasništvu organizacije i u vlasništvu korisnika ili tima. Ovo je izbor koji se dešava u trenutku kada se tabela kreira i koji se ne može promeniti. Iz bezbednosnih razloga, zapisi koji su u vlasništvu organizacije, jedini izbor nivoa pristupa je da li korisnik može izvršiti operaciju ili ne može. Za zapise u vlasništvu korisnika i tima, izbori nivoa pristupa za većinu privilegija su slojevita organizacija, poslovna jedinica, poslovna jedinica i podređena poslovna jedinica ili samo zapisi korisnika. To znači da za privilegiju čitanja za kontakt, mogu da podesim vlasništvo korisnika i korisnik bi mogao da videti samo svoje zapise.
Da bismo dali još jedan primer, recimo da je korisnik A povezan sa odeljenjem A, a mi mu dajemo razinu pravo čitanja za kontakt na nivou poslovne jedinice. Mogli bi da vide kontakt br. 1 i br. 2, ali ne i kontakt br. 3.
Kada konfigurišete ili uredite privilegije bezbednosnih uloga, postavljate nivo pristupa za svaku opciju. Sledi primer urednika uređivača privilegija za bezbednosne uloge.
U gorenavedenom primeru možete da vidite standardne tipove privilegija za svaku tabelu: kreiranje, čitanje, pisanje, brisanje, dodavanje, dodavanje u, dodeljivanje i deljenje. Svaku od njih možete izmeniti pojedinačno. Vizuelni prikaz svakog od njih će se podudarati sa dolenavedenim ključem u vezi sa nivoom pristupa koji ste odobrili.
U gornjem primeru, pružili smo pristup kontaktu na nivou organizacije, što znači da je korisnik u odeljenju A mogao da vidi i ažurira kontakte u bilo čijem vlasništvu. U stvari, jedna od najčešćih administrativnih grešaka je frustracija zbog dozvola i posledično preterivanje u odobravanju pristupa. Vrlo brzo, dobro napravljen bezbednosni model počinje da izgleda kao švajcarski sir (pun rupa!).
Vlasništvo nad zapisom u modernizovanim poslovnim jedinicama
U modernizovanim poslovnim jedinicama, možete da imate korisnike koji su vlasnici zapisa u svim poslovnim jedinicama. Sve što je korisnicima potrebno je bezbednosna uloga (bilo koja poslovna jedinica) koja ima privilegiju čitanja u tabeli zapisa. Korisnici ne moraju da imaju dodeljenu bezbednosnu ulogu u svakoj poslovnoj jedinici u kojoj se zapis nalazi.
Ako je Vlasništvo nad zapisima u poslovnim jedinicama omogućeno u proizvodnom okruženju tokom perioda verzije za pregled, potrebno je da izvršite sledeće radnje da biste omogućili ovo vlasništvo nad zapisima u poslovnoj jedinici:
- Instalirajte uređivač postavki organizacije
- Podesite postavke organizacije RecomputeOwnershipAcrossBusinessUnits na vrednost true. Kada je ova postavka postavljena na true, sistem je zaključan i može potrajati do 5 minuta da izvrši reračunaciju kako bi omogućio mogućnost u kojoj korisnici sada mogu da poseduju zapise u poslovnim jedinicama bez potrebe da imaju odvojenu bezbednosnu uloga dodeljenu iz svake poslovne jedinice. Ovo omogućava vlasniku zapisa da dodeli svoj zapis nekome izvan poslovne jedinice koja poseduje zapis.
- Podesite AlwaysMoveRecordToOwnerBusinessUnit na vrednost false. Na taj način zapis ostaje u vlasništvu originalne poslovne jedinice kada se promeni vlasništvo nad zapisom.
Za sva okruženja koja nisu proizvodna, potrebno je samo da podesite AlwaysMoveRecordToOwnerBusinessUnit na vrednost false da biste koristili ovu mogućnost.
Belešku
Ako isključite funkciju Vlasništvo nad zapisima u poslovnim jedinicama ili podesite postavku RecomputeVlasništvoAcrossBusinessUnits na lažno pomoću alata OrgDBOrgSettings za Microsoft Dynamics CRM, nećete moći da podesite ili ažurirate polje Vlasnička poslovna jedinica , a svi zapisi u kojima se polje Vlasnička poslovna jedinica razlikuje od poslovne jedinice vlasnika biće ažurirani u poslovnu jedinicu vlasnika.
Timovi (uključujući grupne timove)
Timovi su još jedan važan gradivni blok bezbednosti. Timovi su u vlasništvu poslovne jedinice. Svaka poslovna jedinica ima jedan podrazumevani tim koji se automatski kreira kada se kreira poslovna jedinica. Članovima podrazumevanog tima upravlja usluga Dataverse, koja uvek sadrži sve korisnike povezane sa tom poslovnom jedinicom. Ne možete ručno dodavati ili uklanjati članove iz podrazumevanog tima; sistem ih dinamički prilagođava jer su novi korisnici povezani sa poslovnim jedinicama ili razdvojeni od njih. Postoje dve vrste timova, timovi-vlasnici i timovi za pristup.
- Timovi-vlasnici mogu da poseduju zapise, koji svakom članu tima omogućavaju direktan pristup tom zapisu. Korisnici mogu biti članovi više timova. Ovo će mu omogućiti da bude moćan način davanja dozvola korisnicima u širokom zahvatu, bez detaljnog upravljanja pristupom na nivou pojedinačnog korisnika.
- O timovima za pristup se govori u sledećem odeljku kao deo deljenja zapisa.
Deljenje zapisa
Pojedinačni zapisi mogu se deliti jedan po jedan sa drugim korisnikom. Ovo je moćan način rukovanja izuzecima koji ne spadaju u vlasništvo zapisa ili je član modela pristupa poslovnoj jedinici. Ipak, to bi trebalo da bude izuzetak, jer je to manje performanstven način kontrole pristupa. Deljenje je teže rešiti jer to nije dosledno implementirana kontrola pristupa. Deljenje se može obavljati na nivou korisnika i na nivou tima. Deljenje sa timom je efikasniji način deljenja. Napredniji koncept deljenja je sa Access Teams-om, koji obezbeđuje automatsko kreiranje tima, a deljenje pristupa zapisima sa timom zasniva se na šablonu Access Team (šablon dozvola) koji se primenjuje. Pristupni timovi se takođe mogu koristiti bez šablona, sa samo ručnim dodavanjem ili uklanjanjem njegovih članova. Timovi za pristup su efikasniji jer ne dozvoljavaju vlasništvo nad zapisima od strane tima ili imaju bezbednosne uloge dodeljene timu. Korisnici dobijaju pristup jer se zapis deli sa timom, a korisnik je član.
Bezbednost na nivou zapisa u usluzi Dataverse
Možda se pitate – šta određuje pristup zapisu? To zvuči kao jednostavno pitanje, ali za svakog korisnika to je kombinacija svih njihovih bezbednosnih uloga, poslovne jedinice sa kojom su povezani, timova čiji su članovi i zapisa koji se dele sa njima. Ključna stvar koju treba zapamtiti je da je sav pristup akumulira u svim tim konceptima u opsegu Dataverse okruženja baze podataka. Ova prava se dodeljuju samo u okviru jedne baze podataka i pojedinačno se prate u svakoj Dataverse bazi podataka. Sve ovo zahteva da imaju odgovarajuću dozvolu za pristup platformi Dataverse.
Bezbednost na nivou kolone u usluzi Dataverse
Ponekad kontrola pristupa na rekordnom nivou nije adekvatna za neke poslovne scenarije. Dataverse ima funkciju bezbednosti na nivou kolone koja omogućava detaljniju kontrolu bezbednosti na nivou kolone. Bezbednost na nivou kolone može se omogućiti na svim prilagođenim kolonama i na većini sistemskih kolona. Većina sistemskih kolona koje sadrže lične podatke (PII) mogu se individualno obezbediti. Metapodaci svake kolone definišu da li je to dostupna opcija za sistemsku kolonu.
Bezbednost na nivou kolone omogućena je na osnovu pojedinačnih kolona. Pristupom se zatim upravlja kreiranjem bezbednosnog profila kolone. Profil sadrži sve kolone sa omogućenom zaštitom na nivou kolone i pristupom koji je dodeljen tom određenom profilu. Svaka kolona se može kontrolisati u profilu za pristup za kreiranje, ažuriranje i čitanje. Profili bezbednosti kolona se zatim povezuju sa korisnikom ili timovima koji će korisnicima odobriti te privilegije za zapise kojima već imaju pristup. Važno je napomenuti da zaštita na nivou kolone nema nikakve veze sa bezbednošću na nivou zapisa. Korisnik već mora imati pristup zapisu za profil bezbednosti kolone da bi mu se odobrio bilo kakav pristup kolonama. Bezbednost na nivou kolona treba koristiti po potrebi, a ne preterano, jer može izazvati preopterećenje koje je štetno ako se preterano koristi.
Upravljanje bezbednošću u više okruženja
Bezbednosne uloge i sigurnosni profili kolone mogu se pakovati i seliti iz jednog okruženja u drugo pomoću Dataverse rešenja. Poslovne jedinice i timovi moraju biti kreirani i njima se upravlja u svakom okruženju, uz dodelu korisnika neophodnim bezbednosnim komponentama.
Konfigurisanje bezbednosti okruženja za korisnike
Kada se uloge, timovi i poslovne jedinice kreiraju u okruženju, vreme je da dodelite korisnicima njihove bezbednosne konfiguracije. Prvo, kada kreirate korisnika, povezaćete ga sa poslovnom jedinicom. Podrazumevano je ovo glavna poslovna jedinica u organizaciji. Oni su takođe dodati podrazumevanom timu te poslovne jedinice.
Pored toga, dodelićete sve bezbednosne uloge koje su korisniku potrebne. Takođe ćete ih dodati kao članove bilo kojeg tima. Imajte na umu da timovi takođe mogu imati bezbednosne uloge, tako da su efektivna prava korisnika kombinacija direktno dodeljenih bezbednosnih uloga u kombinaciji sa ulogama svih timova čiji su članovi. Bezbednost uvek čini aditivnu ponudu najmanje restriktivne dozvole bilo kojeg dodeljenog prava. Sledi dobro uputstvo kroz podešavanje bezbednosti okruženja.
Ako ste koristili bezbednost na nivou kolone, moraćete da povežete korisnika ili tim korisnika sa jednim od profila bezbednosti kolone koje ste kreirali.
Bezbednost je složen članak i najbolje se postiže kao zajednički napor između proizvođača aplikacija i tima koji upravlja dozvolama korisnika. Sve veće promene treba da budu koordinisane mnogo pre primene promena u okruženju.
Takođe pogledajte
Konfigurišite bezbednost okruženja
Bezbednosne uloge i privilegije