Udostępnij za pośrednictwem


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 używany tylko wtedy, gdy w środowisku znajduje się baza Dataverse danych. 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ą być następnie powiązani z zespołem, a zatem wszyscy użytkownicy powiązani z zespołem czerpią korzyści z tej 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 wideoZapoznaj się z następującym filmem: 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 należy 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. Utworzyliśmy dwie inne elementy podrzędne jednostki biznesowe A i B. Użytkownicy w tych jednostkach biznesowych mają różne potrzeby w zakresie 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 użytkownik jest skojarzony, określa, która jednostka biznesowa jest właścicielem rekordów, 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. Posiadanie tego powiązania pozwala nam dostosować rolę 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. Podczas gdy użytkownik B w Dziale B nie może uzyskać dostępu do rekordów Kontaktu Działu A, ale może uzyskać dostęp do rekordu Kontakt #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 Power Platform administracyjnego jako administrator (administrator lub Microsoft Power Platform administrator Dynamics 365).
  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.

Microsoft Entra Utwórz grupę zabezpieczeń 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 kolumnę Jednostka biznesowa będąca właścicielem, która określa, która jednostka biznesowa jest właścicielem rekordu. Ta kolumna jest domyślnie ustawiona na jednostkę biznesową użytkownika podczas tworzenia rekordu i nie można jej zmienić, z wyjątkiem sytuacji, gdy 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. Jeśli używasz elementu AutoMapEntity, możesz 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? Brzmi to jak proste pytanie, ale dla każdego użytkownika jest to kombinacja wszystkich jego ról zabezpieczeń, jednostki biznesowej, z którą jest skojarzony, zespołów, których jest członkiem, i rekordów, które są im udostępniane. 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 w niektórych scenariuszach 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.

Bezpieczeństwo to złożony artykuł i najlepiej jest go osiągnąć jako wspólny wysiłek twórców aplikacji i zespołu administrującego 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