Problem z „Insufficient permissions” na encji Kontakt

Ostatnio „nadziałem” się na problem zgłoszony przez użytkowników, że „nagle utracili dostęp do kontaktów w CRM”. Zdalnie pomóc trudno, ale szybkie spojrzenie na role zabezpieczeń potwierdziło, że użytkownicy dotknięci problemem mają pełne wymagane uprawnienia do encji Kontakt. Co więc mogło być problemem?

Pomógł ściągnięty log. A w nim…
„User Is Missing prvReadComplexControl privilege”

O co chodzi z prvReadComplexControl?

Uprawnienie prvReadComplexControl to jedno z ukrytych uprawnień do wewnętrznych encji w Dynamics 365. Chodzi oczywiście o wprowadzone w Dynamics CRM 2013 procesy (teraz Business Process Flows). Uprawnienie mapuje się w interfejsie do ustawienia Konfiguracja Procesu w zakładce Dostosowywanie w rolach zabezpieczeń:

Dlaczego więc problem ujawnia się dopiero teraz? To jest i pozostanie ciekawostką. Generalnie chodzi o to, że systemy, które były aktualizowane z CRM 2011 do 2013 i później dalej do Dynamics 365 (łącznie z 9.1.*.*) co jakiś czas w niektórych aktualizacjach „z powrotem gubią” na istniejących rolach to ustawienie. Szczególnie na rolach, które były dodane przez nas.

Rozwiązanie

Najprostsze rozwiązanie to oczywiście sprawdzić dokładnie, czy błąd z niepoprawnymi uprawnieniami („Insufficient Permissions…„) na encji Kontakt zawiera coś o prvReadComplexControl. Jeśli tak, to należy dodać do roli zabezpieczeń danego użytkownika uprawnienie do Odczytu na encji Konfiguracja procesu (zakładka Dostosowywanie).

Uwaga! Może się zdarzyć, że rola użytkownika ma już powyższe uprawnienie, a błąd nadal występuje. Co wtedy?

A wtedy ciekawostka, którą odkryłem po zabawie z tym błędem… Należy skopiować jakąś pudełkową Rolę Zabepieczeń (nie custom!) i odpowiednią ją skonfigurować, żeby odpowiadała roli, którą chcemy dać danemu użytkownikowi.

Reklamy