Accesso ai recordModello di condivisioneAmministrazione Salesforce

Chi può vedere un record in Salesforce? Come si decide l'accesso

Guida pratica a come Salesforce decide chi può vedere un record: org-wide defaults, gerarchia dei ruoli, sharing rule, condivisioni manuali, team e territori.

AgentForceAccess 4 min di lettura
Pila astratta di livelli traslucidi e luminosi che rappresentano le regole di condivisione di Salesforce

Se amministri un’org Salesforce abbastanza a lungo, prima o poi qualcuno ti chiederà: “Come fa questa persona a vedere quel record?” La risposta onesta è che Salesforce non decide mai la visibilità di un record in un unico punto. Sovrappone più meccanismi uno sull’altro e concede l’unione di tutti.

Questa guida ti accompagna attraverso ogni livello nell’ordine in cui Salesforce lo valuta, così potrai ragionare su qualsiasi domanda del tipo “chi può vedere cosa” partendo dai principi fondamentali.

L’unica regola che spiega tutto

La condivisione in Salesforce è additiva e vince la più permissiva. Si parte dalla base stabilita dagli org-wide defaults, poi ogni altro meccanismo può solo aggiungere accesso. Niente, nel modello di condivisione standard, toglie accesso.

Quindi, quando stai tracciando il motivo per cui un utente può vedere un record, non stai mai cercando la regola che lo consente e una regola che lo blocca. Stai cercando una qualsiasi singola concessione, perché ne basta una.

Se anche un solo meccanismo concede l’accesso, l’utente ha accesso. Punto.

Livello 1 — Le permessi sugli oggetti decidono il se, non il quale

Prima ancora di considerare la condivisione, l’utente ha bisogno dell’accesso a livello di oggetto tramite i suoi profili o permission set:

Se un utente non ha il permesso Read sulle Opportunità, nessuna sharing rule al mondo gli mostrerà un’opportunità. Le permessi sugli oggetti sono il cancello; il modello di condivisione è ciò che accade dopo averlo attraversato.

Livello 2 — Gli org-wide defaults stabiliscono il limite minimo

Gli org-wide defaults (OWD) definiscono la base più restrittiva per ciascun oggetto:

  • Private — solo il proprietario del record (e le persone sopra di lui nella gerarchia dei ruoli) può vederlo.
  • Public Read Only — tutti possono visualizzarlo, solo il proprietario può modificarlo.
  • Public Read/Write — tutti possono visualizzarlo e modificarlo.

Tutto ciò che segue esiste per ampliare l’accesso al di sopra di questo limite minimo per persone specifiche.

Livello 3 — La gerarchia dei ruoli fa risalire l’accesso

Se per l’oggetto è abilitata l’opzione Grant Access Using Hierarchies, chiunque si trovi sopra il proprietario del record nella gerarchia dei ruoli eredita l’accesso del proprietario. È per questo che un sales manager vede le trattative dei suoi rappresentanti senza alcuna regola esplicita, ed è il motivo più comune in assoluto di accessi inaspettati.

Livello 4 — Le sharing rule aprono l’accesso lateralmente

Le sharing rule estendono l’accesso attraverso la gerarchia, verso colleghi e altri rami:

  • Basate sulla proprietà — condividono i record posseduti da un gruppo di utenti con un altro gruppo.
  • Basate su criteri — condividono i record che corrispondono a determinati valori di campo (ad esempio Region = EMEA) con un gruppo, un ruolo o un territorio.

Entrambe concedono l’accesso a un gruppo di utenti in una sola volta, il che rende una regola basata su criteri troppo ampia un colpevole frequente quando “troppe” persone possono vedere qualcosa.

Livello 5 — Condivisioni manuali e implicite

  • Condivisione manuale — il pulsante Share su un record, che concede a uno specifico utente o gruppo l’accesso a quel singolo record.
  • Condivisione implicita — un comportamento integrato, come l’accesso a un account padre che implica un accesso limitato ai suoi case e contatti figli.
  • Apex managed sharing — condivisioni programmatiche create da codice personalizzato, spesso le più difficili da individuare.

Livello 6 — Team e territori

  • I team di Account, Opportunity e Case concedono ai membri elencati l’accesso a quel record.
  • Enterprise Territory Management concede l’accesso in base ai territori a cui appartengono un utente e un record.

Mettere tutto insieme: come tracciare qualsiasi accesso

Per rispondere alla domanda “perché questo utente può vedere questo record”, controlla ogni livello finché non trovi una concessione:

  1. L’utente ha il permesso Read (o View All) sull’oggetto tramite profilo/permission set?
  2. L’OWD è già pubblico per questo oggetto?
  3. Si trova sopra il proprietario nella gerarchia dei ruoli?
  4. C’è qualche sharing rule che lo include?
  5. Esiste una condivisione manuale, implicita o tramite Apex?
  6. Fa parte di un team o di un territorio corrispondente?

Il primo “sì” è la tua risposta, e ricorda che potrebbe essercene più di uno. Per la versione passo passo di questa analisi, vedi un utente vede un record che non dovrebbe; lo stesso modello governa chi può vedere un file, poiché i file ereditano l’accesso del record.

È esattamente il lavoro che AgentForceAccess automatizza: chiedi in linguaggio naturale perché un utente può vedere un record, e lui traccia ogni livello qui sopra e cita la concessione precisa che lo consente.

Domande frequenti

Un System Administrator aggira il modello di condivisione?

Sì. Le autorizzazioni "View All Data" e "Modify All Data" — concesse per impostazione predefinita al profilo System Administrator — aggirano completamente org-wide defaults, sharing rule e gerarchia dei ruoli. Le autorizzazioni "View All" / "Modify All" a livello di oggetto fanno lo stesso per un singolo oggetto.

Se due sharing rule si applicano allo stesso record, quale prevale?

La più permissiva. L'accesso in Salesforce è additivo: concede l'unione di ogni regola applicabile. L'accesso non può mai essere ridotto aggiungendo un'altra regola, ma solo ampliato.

Perché un manager può vedere record che non gli sono mai stati assegnati esplicitamente?

La gerarchia dei ruoli concede ai manager l'accesso ai record posseduti da (o condivisi con) gli utenti che si trovano sotto di loro nella gerarchia, purché per quell'oggetto sia abilitata l'opzione "Grant Access Using Hierarchies".

Le permessi sugli oggetti e le impostazioni di condivisione fanno la stessa cosa?

No. Le permessi sugli oggetti (sui profili e i permission set) decidono se un utente può accedere a un oggetto e cosa può farci. Il modello di condivisione decide quali specifici record di quell'oggetto può vedere.

Provalo sulla tua org

AgentForceAccess spiega, in linguaggio chiaro, perché un utente può vedere un record o un file — attraverso ogni meccanismo di condivisione di Salesforce.

Richiedi accesso anticipato