Koncepcje zabezpieczeń w Microsoft Dataverse

Jedną z najważniejszych cech Dataverse jest jego rozbudowany model zabezpieczeń, który można dostosowywać do wielu scenariuszy wykorzystania w firmie. Ten model zabezpieczeń jest odtwarzany tylko w przypadku, gdy w środowisku Dataverse jest dostępna baza danych programu. Jako administrator użytkownik prawdopodobnie nie będzie samodzielnie tworzyć całego modelu zabezpieczeń, ale często będzie zaangażowany w proces zarządzania użytkownikami i upewniania się, że mają oni odpowiednią konfigurację oraz rozwiązywania problemów związanych z dostępem do zabezpieczeń.

Zabezpieczenia oparte na rolach

Dataverse korzysta z zabezpieczeń opartych na rolach w celu zgrupowania zbiorowego uprawnienia. Te role zabezpieczeń mogą być kojarzone bezpośrednio z użytkownikami lub mogą być skojarzone z zespołami i jednostkami biznesowymi w usłudze Dataverse. Użytkownicy mogą następnie skojarzyć się z zespołem, dzięki czemu wszyscy użytkownicy skojarzeni z danym zespołem będą korzystać z roli. Kluczowa koncepcja zabezpieczenia Dataverse to zrozumiwnie, że wszystkie uprawnienia przypisano na zasadzie największej liczby dostępów. Jeśli podczas odczytu danych na poziomie szerokiej organizacji nie ma dostępu do wszystkich rekordów kontaktów, nie można wrócić i ukryć pojedynczego rekordu.

Jednostki biznesowe

Napiwek

Symbol wideo Obejrzyj poniższy film: Modernizacja jednostek biznesowych.

Jednostki biznesowe pracują z rolami zabezpieczeń w celu określenia skutecznego bezpieczeństwa posiadanych przez użytkownika. Jednostki biznesowe to blok konstrukcyjny modelu zabezpieczeń ułatwiający zarządzanie użytkownikami i danymi, do których mają dostęp. Jednostki biznesowe definiują granice zabezpieczeń. Każda baza danych Dataverse zawiera jedną główną jednostkę biznesową.

Użytkownik może utworzyć podrzędne jednostki biznesowe, które ułatwią dalszą segmentację użytkowników i danych. Każdy użytkownik przypisany do środowiska będzie należeć do jednostki biznesowej. Mimo że jednostki biznesowe mogą służyć do modelowania prawdziwej hierarchii organizacyjnej 1:1, częściej jednak służą tylko do zdefiniowania granic zabezpieczeń w celu ułatwienia osiągnięcia potrzeb modelu zabezpieczeń.

Następujący przykład pozwala zrozumieć to lepiej: Mamy trzy jednostki biznesowe. Woodgrove jest główną jednostką biznesową i zawsze znajduje się na górze, która jest niemożliwa do zmiany. Utworzono dwie inne podrzędne jednostki biznesowe A i B. Użytkownicy w tych jednostkach biznesowych mają inne potrzeby dostępu. Po skojarzeniu użytkownika z tym środowiskiem możemy go ustawić na bycie w jednej z trzech tych jednostek biznesowych. Miejsce, w którym jest skojarzony użytkownik określa jednostkę biznesową, do której należą rekordy, których właścicielem jest użytkownik. Posiadanie takiego skojarzenia pozwala nam na dostosowanie roli bezpieczeństwa, aby użytkownik mógł zobaczyć wszystkie rekordy w danej jednostce biznesowej.

Hierarchiczna struktura dostępu do danych

Klienci mogą użyć struktury organizacji, w której dane i użytkownicy są w hierarchii przypominające drzewo.

Gdy użytkownik zostanie skojarzony z tym środowiskiem, można ustawić go jako użytkownika w jednej z tych trzech jednostek biznesowych i przypisać mu rolę zabezpieczeń z jednostki biznesowej. Jednostka biznesowa, z którą użytkownik jest skojarzony, określa, do której jednostki biznesowej są należą rekordy podczas tworzenia rekordu przez użytkownika. Skojarzenie to pozwala na dopasowanie roli zabezpieczeń, która umożliwia użytkownikowi wyświetlanie rekordów w tej jednostce biznesowej.

Użytkownik A jest skojarzony z wydziałem A i przypisany do roli zabezpieczeń Y z działu A. Pozwoli to użytkownikowi A na dostęp do rekordów Kontaktu nr 1 i kontaktu nr 2. Użytkownik B z działu B nie może uzyskać dostępu do rekordów kontaktów działu A, ale może uzyskać dostęp do rekordu kontaktu nr 3.

Przykład struktury dostępu do danych matrycy

Struktura dostępu do danych matrycy (Modernizacja jednostek biznesowych)

Klienci mogą użyć struktury organizacji, gdzie dane są zarchiwizowane w hierarchii przypominanej drzewo, a użytkownicy mogą pracować i mieć dostęp do danych dowolnej jednostki biznesowej niezależnie od tego, do której jednostki biznesowej jest przypisany użytkownik.

Po skojarzeniu użytkownika z tym środowiskiem możemy go ustawić na bycie w jednej z trzech tych jednostek biznesowych. Dla każdej jednostki biznesowej, do której danych użytkownik musi mieć dostęp, przypisany jest użytkownikowi rola zabezpieczeń z tej jednostki biznesowej. Gdy użytkownik tworzy rekord, może ustawić jednostkę biznesową będącą właścicielem rekordu.

Użytkownik A może być skojarzony z dowolnymi jednostkami biznesowymi, w tym z główną jednostką biznesową. Rola zabezpieczeń Y z Wydziału A jest przypisana do użytkownika A, co daje użytkownikowi dostęp do rekordów Kontaktu nr 1 i kontaktu nr 2. Rola zabezpieczeń Y z Wydziału B jest przypisana do użytkownika A, co daje użytkownikowi dostęp do rekordów Kontaktu nr 3.

Przykład hierarchicznej struktury dostępu do danych

Włącz strukturę dostępu do danych Matrix

Uwaga

Zanim włączysz tę funkcję, musisz opublikować wszystkie dostosowania, aby włączyć wszystkie nowe, nieopublikowane tabele dla tej funkcji. Jeśli okaże się, że masz nieopublikowane tabele, które nie działają z tą funkcją po jej włączeniu, możesz ustawić ustawienie RecomputeOwnershipAcrossBusinessUnits za pomocą narzędzia OrgDBOrgSettings dla Microsoft Dynamics CRM. Ustawienie RecomputeOwnershipAcrossBusinessUnits na prawda umożliwia ustawienie i zaktualizowanie polaJednostce biznesowej będącej właścicielem.

  1. Zaloguj się do Centrum administracyjnego Power Platform jako administrator (administrator Dynamics 365, Administrator globalny lub administrator Microsoft Power Platform).
  2. Wybierz kartę Środowiska, a następnie wybierz środowisko, dla którego chcesz włączyć tę funkcję.
  3. Wybierz Ustawienia>Produkt>Cechy i funkcje.
  4. Włącz przełącznik Prawo własności do rekordów w różnych jednostkach biznesowych.

Po włączeniu tego przełącznika funkcji możesz wybrać jednostkę biznesową, gdy przypiszesz rolę zabezpieczeń do użytkownika. Umożliwia to przypisywanie użytkownikowi ról zabezpieczeń z różnych jednostek biznesowych. Do uruchamiania aplikacji sterowanych modelem użytkownik potrzebuje także roli bezpieczeństwa z jednostki biznesowej, do której jest przypisany za pomocą uprawnienia ustawień użytkownika. Możesz odwołać się do roli bezpieczeństwa Użytkownik podstawowy, aby dowiedzieć się, w jaki sposób te uprawnienia są włączane.

Możesz przypisać użytkownika jako właściciela rekordu w dowolnej jednostce biznesowej bez konieczności przypisywania roli zabezpieczeń w jednostce biznesowej będącej właścicielem rekordu, o ile użytkownik ma rolę zabezpieczeń z uprawnieniem Odczyt do tabeli rekordów. Informacje o właścicielu rekordu można znaleźć w przypadku zmodernizowanych jednostek biznesowych.

Uwaga

Ten przełącznik funkcji jest zapisany w ustawieniach EnableOwnershipAcrossBusinessUnits środowiskowej bazy danych i można go również ustawić za pomocą narzędzia OrgDBOrgSettings dla Microsoft Dynamics CRM.

Powiązanie jednostki biznesowej z grupą zabezpieczeń Microsoft Entra

Można użyć grupy zabezpieczeń Microsoft Entra do mapowania jednostki biznesowej w celu usprawnienia administracji użytkownikami i przypisywania ról.

Utwórz grupę zabezpieczeń Microsoft Entra dla każdej jednostki biznesowej i przypisz odpowiednią rolę zabezpieczeń jednostki biznesowej do każdego zespołu grupy.

Utwórz grupę zabezpieczeń Microsoft Entra dla każdej jednostki biznesowej.

Dla każdej jednostki biznesowej należy utworzyć grupę zabezpieczeń Microsoft Entra. Utwórz zespół Zespołu grupy Dataverse dla każdej grupy bezpieczeństwa Microsoft Entra. Przypisz odpowiednią rolę bezpieczeństwa z jednostki biznesowej do każdego zespołu grupy Dataverse. Użytkownik z powyższego diagramu zostanie utworzony w głównej jednostce biznesowej, gdy użytkownik uzyska dostęp do środowiska. Dobrze jest, gdy użytkownik i zespoły grup Dataverse znajdują się w głównej jednostce biznesowej. Mają oni dostęp do danych tylko w tej jednostce biznesowej, do której przypisana jest dana rola bezpieczeństwa.

Dodaj użytkowników do odpowiedniej grupy bezpieczeństwa Microsoft Entra, aby przyznać im dostęp do jednostki biznesowej. Użytkownicy mogą natychmiast uruchomić aplikację i uzyskać dostęp do jej zasobów/danych.

W dostępie do danych matrycy, gdzie użytkownicy mogą pracować i mieć dostęp do danych z wielu jednostek biznesowych, dodaj użytkowników do grup bezpieczeństwa Microsoft Entra, które mapują się na te jednostki biznesowe.

Jednostka biznesowa – właściciel

Każdy rekord ma kolumnie Jednostka biznesowa będąca właścicielem, określającą, która jednostka biznesowa jest właścicielem rekordu. Ta kolumna domyślnie wskazuje jednostkę biznesową użytkownika podczas tworzenia rekordu i nie można jej zmienić, chyba że przełącznik funkcji jest WŁĄCZONY.

Uwaga

W przypadku zmiany jednostki biznesowej, której jest właścicielem rekordu, należy sprawdzić następujące kwestie dotyczące efektów kaskadowych: Korzystanie z zestawu SDK dla platformy .NET w celu skonfigurowania zachowania kaskadowego.

Możesz określić, czy chcesz zezwolić użytkownikowi na ustawienie kolumny Własna jednostka biznesowa, gdy przełącznik funkcji jest WŁĄCZONY. Aby ustawić kolumnę Jednostka biznesowa będącą właścicielem, należy udzielić użytkownikowi roli zabezpieczeń uprawnienia tabeli Jednostki biznesowej Dołącz do przy użyciu uprawnienia poziomu lokalnego.

Aby umożliwić użytkownikowi ustawienie tej kolumny, możesz włączyć tę kolumnę w następujący sposób:

  1. Formularz — treść i nagłówek.
  2. Wyświetlanie.
  3. Mapowania kolumn. W przypadku korzystania z AutoMapEntity można określić kolumnę w mapowaniu kolumn.

Uwaga

Jeśli masz zadanie/proces synchronizacji danych między środowiskami i Jednostka Biznesowa – właściciel jest uwzględniona jako część schematu, zadanie nie powiedzie się z naruszeniem ograniczenia Foreign KEY jeśli środowisko docelowe nie posiada tej samej wartości Jednostka Biznesowa – właściciel.

Możesz usunąć kolumnę Jednostki biznesowej – właściciela ze schematu źródłowego lub zaktualizować wartość kolumny Jednostki biznesowej – właściciela w źródle do dowolnej jednostki biznesowej w celu.

Jeśli posiadasz zadanie/proces kopiowania danych ze środowiska do zewnętrznego zasobu, np. Power BI, będziesz musiał zaznaczyć lub odznaczyć kolumnę Jednostka biznesowa – właściciel z Twojego źródła. Zaznacz, czy zasób może zostać wyświetlony. W przeciwnym razie usuń jego zaznaczenie.

Własność tabeli/rekordu

W Dataverse są obsługiwane dwa typy własności rekordów. Rekordy należące do organizacji i należące do użytkownika lub do zespołu. Jest to wybór, który ma miejsce w momencie tworzenia tabeli i nie można go zmienić. Ze względów bezpieczeństwa rekordy będące własnością organizacji mogą być dostępne tylko na 2 sposoby: albo użytkownik może dokonać operacji, albo nie. W przypadku rekordów będących własnością użytkowników i procesów dostępu opcje poziomu dostępu dla większości uprawnień to :Organizacja, Jednostka biznesowa, Jednostka biznesowa i Podrzędna jednostka biznesowa lub tylko własne rekordy użytkownika. Oznacza to, że użytkownik może ustawić uprawnienie do odczytu dla kontaktu, ustawiając własnośc użytkownika, ale użytkownik zobaczy tylko własne rekordy.

Aby podać następny przykład załóżmy, że użytkownik A jest skojarzony z działem A, otrzymuje Dostęp odczytu na poziomie jednostki biznesowej podczas kontaktu. Będą widzieć kontakty 1 i 2, ale nie 3.

W przypadku konfigurowania lub rola zabezpieczeń uprawnień dostępu dla poszczególnych opcji jest ustawiany poziom dostępu. Poniższy przykład ilustruje rolę zabezpieczeń uprawnień edytora.

Uprawnienia ról zabezpieczeń.

W powyższej tabeli można zobaczyć standardowe typy uprawnień dla każdej tabeli Tworzenie, Odczyt, Zapis, Usuwanie, Dołączanie, Dołączanie do, Przypisywanie i Udostępnianie. Każde z nich można edytować osobno. Wizualne wyświetlanie poszczególnych elementów będzie zgodne z kluczem poniżej, jaki poziom dostępu został przyznany.

Klucz uprawnień ról zabezpieczeń.

W powyższym przykładzie został udzielony dostęp na poziomie organizacji do Kontaktu, co oznacza, że użytkownik z Działu A może wyświetlać i aktualizować kontakty będące własnością dowolnej innej osoby. W istocie jednym z najczęstszych błędów administracyjnych jest irytowanie się przydzielaniem uprawnień i nadmierne dawanie dostępu. Bardzo szybko dobrze zaprojektowany model zabezpieczeń zaczyna wyglądać jak ser szwajcarski (pełen dziur!).

Informacje o właścicielu rekordu można znaleźć w przypadku zmodernizowanych jednostek biznesowych

W przypadku zmodernizowanych jednostek biznesowych użytkownicy mogą być właścicielami rekordów w dowolnej jednostce biznesowej. Wszystko, czego potrzebują użytkownicy, to rola zabezpieczeń (dowolna jednostka biznesowa), która ma uprawnienie do odczytu tabeli rekordów. Użytkownicy nie muszą mieć przypisanej roli zabezpieczeń w każdej jednostce biznesowej, w której znajduje się rekord.

Jeśli Własność rekordu w różnych jednostkach biznesowych była włączona w Twoim środowisku produkcyjnym w okresie zapoznawczym, musisz wykonać następujące czynności, aby włączyć własność rekordu w różnych jednostkach biznesowych:

  1. Zainstaluj Edytor ustawień organizacji
  2. Ustaw w ustawieniach organizacji RecomputeOwnershipAcrossBusinessUnits wartość prawda. Jeśli to ustawienie ma wartość prawda, system jest zablokowany i może upłynąć maksymalnie 5 minut na włączenie funkcji umożliwiającej użytkownikom tworzenie rekordów poszczególnych jednostek biznesowych bez konieczności przypisywania rola zabezpieczeń od każdej jednostki biznesowej. Pozwoli to właścicielowi rekordu na przypisywanie rekordu innej osobie spoza własnej jednostki biznesowej.
  3. Ustaw AlwaysMoveRecordToOwnerBusinessUnit na false. Dzięki temu rekord pozostaje w oryginalnej jednostce biznesowej będącej właścicielem, gdy właściciel rekordu zostanie zmieniony.

We wszystkich środowiskach nieprodukcyjnych wystarczy ustawić AlwaysMoveRecordToOwnerBusinessUnit na wartość false, aby użyć tej możliwości.

Uwaga

Jeśli wyłączysz albo funkcję Własność rekordu między jednostkami biznesowymi lub ustawisz ustawienie RecomputeOwnershipAcrossBusinessUnits na fałsz, używając Narzędzia OrgDBOrgSettings dla Microsoft Dynamics CRM, nie będzie można ustawić ani zaktualizować pola Jednostki biznesowej będącej właścicielem, a wszystkie rekordy, gdzie pole Jednostka biznesowa będąca właścicielem jest różne od właściciela jednostki biznesowej zostanie zaktualizowane na jednostkę biznesową właściciela.

Zespoły (w tym zespoły grupowe)

Zespoły stanowią inny ważny blok konstrukcyjny bezpieczeństwa. Właścicielami zespołów są jednostki biznesowe. Każda jednostka biznesowa ma jeden domyślny zespół, który jest tworzony automatycznie podczas tworzenia jednostki biznesowej. Domyślni członkowie zespołu są zarządzani przez Dataverse i zawsze muszą zawierać wszystkich użytkowników skojarzonych z daną jednostką biznesową. Członków zespołu domyślnego nie można dodać ani usunąć ręcznie, są oni dynamicznie dostosowywani przez system, gdy z jednostką biznesową są kojarzeni nowi użytkownicy lub skojarzenie jest wycofywane. Istnieją dwa typy zespołów, zespoły będące właścicielami i zespoły mające dostęp.

  • Zespół będący właścicielem może posiadać rekordy, co daje dowolnemu członkowi tego zespołu bezpośredni dostęp do tego rekordu. Użytkownicy mogą należeć do wielu zespołów. Pozwoli to na wszechstronny sposób przyznawania użytkownikom szerokiej gamy uprawnień bez mikrozarządzania na poziomie poszczególnych użytkowników.
  • Zespoły mające dostęp są omówione w następnej sekcji poświęconej udostępnianiu rekordów.

Udostępnianie rekordów

Poszczególne rekordy mogą być udostępniane pojedynczo innym użytkownikom. Jest to wydajny sposób obsługi wyjątków, które nie należą do własności rekordu lub należą do modelu dostępu jednostki biznesowej. Powinien to być wyjątek, ponieważ jest to mniej aktywny sposób kontrolowania dostępu. Udostępnianie jest trudniejsze w rozwiązaniu problemów, ponieważ nie jest to spójnie zaimplementowane kontrolowanie dostępu. Udostępnianie można wykonać zarówno na poziomie użytkownika, jak i zespołu. Udostępnianie zespołowi jest wydajniejszą metodą udostępniania. Bardziej zaawansowana koncepcja udostępniania to Zespół mający dostęp, która umożliwia automatyczne tworzenie zespołu i udostępnianie zespołowi dostępu do rekordów na podstawie stosowanego szablonu zespołu mającego dostęp (szablonu uprawnień). Z koncepcji zespołu mającego dostęp można również korzystać bez szablonów, wystarczy tylko ręcznie dodawać lub usuwać członków. Zespoły mające dostęp są bardziej wydajne, ponieważ nie zezwalają zespołowi na posiadanie rekordów ani na posiadanie ról zabezpieczeń przypisanych do zespołu. Użytkownicy uzyskują dostęp, ponieważ rekord jest współużytkowany z zespołem, a użytkownik jest członkiem.

Zabezpieczenia na poziomie rekordu w Dataverse

Może pojawić się pytanie — co decyduje o dostępie do rekordu? To pytanie może wydawać się proste, ale dla każdego użytkownika odpowiedzią jest połączenie wszystkich jego ról zabezpieczeń, jednostki biznesowej, z którą jest powiązany, zespołów, których jest członkiem i rekordów, które zostały mu udostępnione. Kluczową rzeczą do zapamiętania jest to, że cały dostęp jest kumulatywny dla wszystkich tych koncepcji w zakresie środowiska bazy danych Dataverse . Te uprawnienia są przyznawane tylko w ramach jednej bazy danych i są śledzone indywidualnie w każdej bazie danych Dataverse. To wszystko oczywiście wymaga posiadania odpowiedniej licencji na dostęp do Dataverse.

Zabezpieczenia na poziomie kolumny w Dataverse

Czasami kontrola dostępu na poziomie rekordu nie jest odpowiednia dla niektórych scenariuszy biznesowych. Dataverse ma funkcję bezpieczeństwa na poziomie kolumny, aby umożliwić bardziej szczegółową kontrolę bezpieczeństwa na poziomie kolumny. Zabezpieczenia na poziomie kolumny można włączyć we wszystkich kolumnach niestandardowych i większości kolumn systemowych. Większość kolumn systemowych, które zawierają dane osobowe (PII), można indywidualnie zabezpieczyć. Metadane każdej kolumny określają, czy jest to dostępna opcja dla kolumny systemowej.

Zabezpieczenia na poziomie kolumny są włączane na zasadzie kolumna po kolumnie. Następnie dostęp jest zarządzany dzięki utworzeniu Profilu zabezpieczeń kolumn. Profil zawiera wszystkie kolumny, które mają włączone zabezpieczenia na poziomie kolumny i dostęp przyznany przez ten konkretny profil. Każda kolumna może być kontrolowana w profilu pod kątem dostępu do tworzenia, aktualizacji i odczytu. Profile zabezpieczeń kolumn są następnie skojarzone z użytkownikiem lub zespołem, aby przyznać te uprawnienia użytkownikom rekordów, do których już mają dostęp. Należy zwrócić uwagę, że zabezpieczenia na poziomie kolumny nie mają nic wspólnego z zabezpieczeniami na poziomie rekordu. Użytkownik musi już mieć dostęp do rekordu dla profilu bezpieczeństwa kolumny, aby przyznać mu jakikolwiek dostęp do kolumn. Zabezpieczenia na poziomie kolumny powinny być używane w razie potrzeby i nie zbyt nadmierne, ponieważ może dodać koszty, które są szkodliwe, jeśli są nadmiernie używane.

Zarządzanie zabezpieczeniami w wielu środowiskach

Role zabezpieczeń i profile zabezpieczeń kolumn mogą być spakowane i przenoszone z jednego środowiska do kolejnego za pomocą rozwiązań Dataverse. Jednostki biznesowe i zespoły muszą zostać utworzone i zarządzane w każdym środowisku wraz z przypisaniem użytkowników do niezbędnych składników zabezpieczeń.

Konfigurowanie zabezpieczeń środowiska użytkowników

Po utworzeniu ról, zespołów i jednostek biznesowych w środowisku na czas należy przypisać użytkownikom ich konfiguracje zabezpieczeń. Po pierwsze, przy tworzeniu użytkownika należy skojarzyć go z jednostką biznesową. Domyślnie jest to główna jednostka biznesowa w organizacji. Są one także dodawane do domyślnego zespołu tej jednostki biznesowej.

Oprócz tego można przypisywać role zabezpieczeń, które są potrzebne użytkownikom. Można ich również dodać jako członków dowolnych zespołów. Pamiętaj, że zespoły mogą także mieć role zabezpieczeń, więc efektywne prawa użytkownika to kombinacja bezpośrednio przypisanych ról zabezpieczeń w połączeniu z zabezpieczeniami wynikającymi z zespołu, którego jest członkiem. Zabezpieczenia zawsze są dodatkowe, oferujące najmniej restrykcyjne uprawnienia do każdego z ich uprawnień. Poniżej przedstawiono dobry przegląd konfigurowania zabezpieczeń środowiska.

Jeśli zostały użyte zabezpieczenia na poziomie kolumny, konieczne będzie skojarzenie użytkownika lub zespołu użytkownika z jednym z utworzonych profilów reprezentacji kolumny.

Zabezpieczenia to łożony temat i najlepiej by było, gdyby pracowało nad nimi wiele osób — twórcy aplikacji oraz zespół administrujący uprawnieniami użytkowników. Wszelkie istotne zmiany powinny zostać dobrze skoordynowane z myślą o wdrożeniu zmian w środowisku.

Zobacz także

Konfigurowanie zabezpieczeń środowiska
Role zabezpieczeń i uprawnienia