Dostęp do rekordówModel udostępnianiaAdministrator Salesforce

Kto widzi rekord w Salesforce? Jak naprawdę przyznawany jest dostęp

Praktyczny przewodnik po tym, jak Salesforce decyduje, kto widzi rekord — OWD, hierarchia ról, reguły udostępniania, ręczne udostępnienia i terytoria.

AgentForceAccess 3 min czytania
Abstrakcyjny stos świecących, półprzezroczystych warstw reprezentujących reguły udostępniania w Salesforce

Jeśli administrujesz organizacją Salesforce wystarczająco długo, ktoś prędzej czy później zapyta: „Jak to możliwe, że ta osoba widzi ten rekord?” Szczera odpowiedź brzmi: Salesforce nigdy nie rozstrzyga widoczności rekordu w jednym miejscu. Nakłada na siebie kilka mechanizmów i przyznaje sumę ich wszystkich.

Ten przewodnik omawia każdą warstwę w kolejności, w jakiej Salesforce ją ocenia, abyś mógł od podstaw rozumować nad dowolnym pytaniem typu „kto co widzi”.

Jedna zasada, która tłumaczy wszystko

Udostępnianie w Salesforce jest addytywne i działa według reguły najszerszego dostępu. Zaczynasz od poziomu wyjściowego wyznaczonego przez org-wide defaults, a następnie każdy inny mechanizm może jedynie dodać dostęp. Nic w standardowym modelu udostępniania dostępu nie odbiera.

Dlatego śledząc, dlaczego użytkownik widzi rekord, nigdy nie szukasz reguły, która go dopuszcza, i reguły, która go blokuje. Szukasz jednego pojedynczego nadania dostępu — bo jedno wystarczy.

Jeśli choć jeden mechanizm przyznaje dostęp, użytkownik go ma. Koniec, kropka.

Warstwa 1 — Uprawnienia do obiektów decydują czy, a nie które

Zanim w ogóle bierze się pod uwagę udostępnianie, użytkownik potrzebuje dostępu do obiektu poprzez swój profil lub permission sets:

Jeśli użytkownik nie ma uprawnienia Read na Opportunities, żadna reguła udostępniania na świecie nie pokaże mu szansy sprzedaży. Uprawnienia do obiektów są bramą; model udostępniania to to, co dzieje się po przejściu przez nią.

Warstwa 2 — Org-wide defaults wyznaczają poziom wyjściowy

Org-wide defaults (OWD) definiują najbardziej restrykcyjny poziom bazowy dla każdego obiektu:

  • Private — rekord widzi tylko jego właściciel (oraz osoby stojące nad nim w hierarchii ról).
  • Public Read Only — wszyscy mogą przeglądać, edytować może tylko właściciel.
  • Public Read/Write — wszyscy mogą przeglądać i edytować.

Wszystko, co następuje dalej, istnieje po to, by poszerzyć dostęp ponad ten poziom dla konkretnych osób.

Warstwa 3 — Hierarchia ról przenosi dostęp w górę

Jeśli dla obiektu włączona jest opcja Grant Access Using Hierarchies, każda osoba stojąca nad właścicielem rekordu w hierarchii ról dziedziczy dostęp właściciela. Dlatego menedżer sprzedaży widzi deale swoich handlowców bez żadnej jawnej reguły — i jest to najczęstsza pojedyncza przyczyna zaskakującego dostępu.

Warstwa 4 — Reguły udostępniania otwierają dostęp na boki

Reguły udostępniania rozszerzają dostęp w poprzek hierarchii, na osoby równorzędne i inne gałęzie:

  • Oparte na własności (ownership-based) — udostępniają rekordy należące do jednej grupy użytkowników innej grupie.
  • Oparte na kryteriach (criteria-based) — udostępniają rekordy pasujące do wartości pól (np. Region = EMEA) grupie, roli lub terytorium.

Oba typy przyznają dostęp od razu całej grupie użytkowników, przez co zbyt szeroka reguła oparta na kryteriach jest częstym winowajcą sytuacji, gdy „zbyt wiele” osób coś widzi.

Warstwa 5 — Udostępnienia ręczne i niejawne

  • Udostępnianie ręczne (manual sharing) — przycisk Share na rekordzie, przyznający jednemu konkretnemu użytkownikowi lub grupie dostęp do tego jednego rekordu.
  • Udostępnianie niejawne (implicit sharing)wbudowane zachowanie, takie jak dostęp do nadrzędnego konta, który implikuje ograniczony dostęp do powiązanych z nim cases i contacts.
  • Apex managed sharing — programowe udostępnienia tworzone przez własny kod, często najtrudniejsze do wykrycia.

Warstwa 6 — Zespoły i terytoria

  • Account, Opportunity i Case teams przyznają wymienionym członkom zespołu dostęp do danego rekordu.
  • Enterprise Territory Management przyznaje dostęp na podstawie terytoriów, do których należą użytkownik i rekord.

Składamy to w całość: jak prześledzić dowolny dostęp

Aby odpowiedzieć na pytanie „dlaczego ten użytkownik widzi ten rekord”, sprawdzaj kolejne warstwy, aż znajdziesz nadanie dostępu:

  1. Czy użytkownik ma uprawnienie Read (lub View All) na obiekcie poprzez profil/permission set?
  2. Czy OWD dla tego obiektu jest już publiczne?
  3. Czy użytkownik stoi nad właścicielem w hierarchii ról?
  4. Czy któraś reguła udostępniania go obejmuje?
  5. Czy istnieje udostępnienie ręczne, niejawne lub Apex?
  6. Czy użytkownik należy do zespołu lub do pasującego terytorium?

Pierwsze „tak” jest twoją odpowiedzią — i pamiętaj, że może ich być więcej niż jedno. Wersję tego śledzenia krok po kroku znajdziesz w artykule użytkownik widzi rekord, którego widzieć nie powinien; ten sam model rządzi tym, kto widzi plik, ponieważ pliki dziedziczą dostęp z rekordu.

To dokładnie ta praca, którą automatyzuje AgentForceAccess: zapytaj zwykłym językiem, dlaczego użytkownik widzi rekord, a narzędzie prześledzi każdą warstwę powyżej i wskaże dokładne nadanie dostępu, które na to pozwala.

Najczęściej zadawane pytania

Czy System Administrator omija model udostępniania?

Tak. Uprawnienia „View All Data” i „Modify All Data” — domyślnie przypisane do profilu System Administrator — całkowicie omijają org-wide defaults, reguły udostępniania i hierarchię ról. Uprawnienia na poziomie obiektu „View All” / „Modify All” robią to samo dla pojedynczego obiektu.

Jeśli do tego samego rekordu pasują dwie reguły udostępniania, która wygrywa?

Ta bardziej liberalna. Dostęp w Salesforce jest addytywny: przyznawana jest suma wszystkich pasujących reguł. Dodanie kolejnej reguły nigdy nie zawęża dostępu — może go jedynie poszerzyć.

Dlaczego menedżer widzi rekordy, których nigdy mu jawnie nie przyznano?

Hierarchia ról daje menedżerom dostęp do rekordów należących do (lub udostępnionych) użytkownikom znajdującym się niżej w hierarchii, o ile dla danego obiektu włączona jest opcja „Grant Access Using Hierarchies”.

Czy uprawnienia do obiektów i ustawienia udostępniania robią to samo?

Nie. Uprawnienia do obiektów (na profilach i permission sets) decydują o tym, czy użytkownik w ogóle może uzyskać dostęp do obiektu i co może z nim robić. Model udostępniania decyduje, które konkretne rekordy tego obiektu użytkownik widzi.

Zobacz to na swojej organizacji

AgentForceAccess wyjaśnia prostym językiem, dlaczego dowolny użytkownik widzi dowolny rekord lub plik — w każdym mechanizmie współdzielenia Salesforce.

Poproś o wczesny dostęp