Le Restriction Rules consentono di definire delle regole per cui un gruppo di utenti non sarà in grado di vedere una porzione più o meno grande di record. 

Quando si definisce una Restriction Rule, gli utenti non saranno in grado di vedere i record in: ListViews, Lookups, Related Lists, Reports, Search, SOQL, SOSL ecc. 

Si tratta quindi di un vero e proprio meccanismo di sicurezza e visibilità dei dati.


Come si crea una Restriction Rule?

Per creare una Restriction Rule:

  1. Navigare Setup | Object Manager | Custom Object | Restriction Rules.
  1. Click on create a “New Rule”.
  1. Inserire le informazioni di dettaglio e verificare che la regola sia attiva.
  1. Quando definiamo la Restriction Rule dobbiamo tenere in considerazione due tipi di criteri:
    1. A quali gruppo di utenti si applicherà la regola (sezione User Criteria).
    2. Quali record il gruppo di utenti dovrà vedere (Sezione Record Criteria).
  1. Una volta salvato, la regola si attiverà e gli utenti vedranno solo i record definiti nella sezione “Record Criteria”.

Come interagiscono le Restriction Rules con gli altri meccanismi che definiscono l’insieme di record che un utente può vedere?

Fino a qualche release fa, l’immagine di visibilità dei record era mostrata molto spesso utilizzando un triangolo rettangolo in cui alla base si aveva l’OWD e poi salendo tutti gli altri meccanismi che consentivano di aprire la visibilità:

A questo visualizzazione ora bisogna integrare l’effetto che hanno le Restriction Rules, ed ecco che l’immagine sopra si trasforma come segue:

Dove la sezione in blu scuro rappresenta tutti i record che non saranno visibili dopo l’applicazione delle Restriction Rules. 

Questo significa che le Restriction Rules sono in grado di diminuire la visibilità di record per cui la visibilità è garantita da altri meccanismi. 

Un esempio

Per l’oggetto Custom Object ho un OWD “public readonly” ma ho una Restriction Rule che consente  agli utenti EMEA Sales Rep di vedere soltanto i record di Custom Object che hanno come zone EMEA.
Il numero di record di tipo di Custom Object che l’utente potrà vedere sono solo quelli che hanno con zone EMEA.

Attenzione anche a come interagiscono la Role Hierarchy e le Sharing Rules, altrimenti alcuni utenti non vedranno record che in realtà dovrebbero vedere.

Dall’immagine si evince che le Restriction Rules filtrano tutti i record che l’utente vede grazie a OWD, Hierarchy, Sharing rules, Teams e manual sharing e da questo insieme toglierà i record che l’utente non potrà vedere con l’applicazione di Restriction Rule.

Considerazioni finali 

L’introduzione delle Restriction Rules cambia drasticamente il Data Access Model di Salesforce in quanto modifica una delle verità fondamentali valide fino a qualche tempo fa ovvero che l’OWD rappresenta il livello minimo di record che un utente può vedere.

Come creare un modello di data access coerente e non troppo confusionario utilizzando anche le Restriction Rules? 

È necessario cambiare il modo in cui si vede il modello di accesso dei dati e, quando si pianifica tenere in conto quello che si può fare con le Restriction Rules e se, per ogni requisito di visibilità è più semplice utilizzare una Restriction Rules oppure per esempio, una Sharing Rule.

Quello che si deve evitare è iniziare a creare sharing rules “a caso” solo perchè si ha un nuovo requisito di visibilità.

 Soprattutto per i modelli esistenti da molto tempo e consolidati, bisogna fare attenzione a che esso resti consistente e scalabile.


0 commenti

Lascia un commento

Segnaposto per l'avatar

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *