Salesforce學習之路(五)role hierarchy & sharing


1. Role Hierarchy

在私有或者混合模型中,如果在organization-wide defaults設置某個對象為Private,那么對象的記錄只有擁有者可以查看。但是,role hierarchy可以讓該條記錄擁有者的上司有權限訪問該條記錄。

前提:Case在Organization-wide Defaults中被設為Private.

如圖片中所說,如果US Sales Rep為Case A的擁有者,則US Sales Director,VP of Global Sales以及CEO都擁有訪問Case A的權限。

注意,這里的權限繼承是單向的。例如:US Sales Director為Case B的擁有者,那么VP Sales Director和CEO擁有Case B的訪問權限,而US Sales Rep沒有。

 

2. Orgnazation-Wide Defaults

相當於全局范圍內,sObject的訪問權限設置,一般分為:Private, Public Read Only, Public Read/Write

  • Private: 除了該條記錄的擁有者,其他人無法訪問(可通過其他的手段增加訪問權限)。
  • Public Read Only: 除了該條記錄的擁有者,其他人只有查看權限,沒有修改權限(可通過其他手段增加修改權限)。
  • Public Read/Write: 所有的用戶都可以訪問該對象的所有記錄。

3. Sharing Rules

除了設置全局范圍內默認的權限外,還可針對某個Object,自定義設置Sharing Rules以滿足業務需求。

首先,選擇需要設置規則的對象,點擊New

 

由圖可見,Rule Type有兩種:

  • Based on record owner:當記錄擁有者為某個用戶或某個角色等時,滿足分享條件。
  • Based on criteria:當達到設計的過濾准則時,滿足分享條件

3.1 Based on record owner

當記錄的擁有者的條件:Public groups == Account Share-BALTI 為真時,將該條記錄分享給NGCC-CC Site Manager這個Role以及屬於該Role下的所有用戶。

注意:這里擁有者和被分享者有多種選擇,可以是Group(用戶組), Role(某個用戶或某類用戶),Roles, Internal and Portal Subordinates(某個用戶及該用戶下屬所有用戶)等,這些都可以自定義創建。

3.2 Based on criteria

 

這里的Criteria便是規則,具體內容如下:

  • Field,選擇Lead Record Type字段。
  • Operator,判斷的條件,equal(==),not equal(!=), start with(字符串以什么開始), contains(字符串中包含該字符), does not contain(字符串不包含), less than(<), greater than(>), less or equal(<=), greater or equal(>=), includes(包括), excludes(不包括), within(在什么里)。注意,這里是全量操作,而實際情況下,不同字段屬不同類型,只有部分操作可選擇。例如:less than/greater than則適用於Number類型,start with適用於Text(可理解為String)類型。
  • Value,判斷的值,多個值之間用逗號隔開。

Filter Logic, 不同過濾條件之間的邏輯關系,上述圖中,有三條過濾條件,其過濾邏輯為1 AND (2 OR 3),即(第一個條件為真)並且(第二個條件或第三個條件為真)時,該條規則滿足。

Share with, 當滿足該條規則時,便將該條記錄分享給NGCC-CC Site Manager這個Role以及屬於該Role下的所有用戶。

** Access, 被分享用戶對於該條記錄的權限設置,分為Read Only和Read/Write兩種。

4. Teams

顧名思義,創建一個team,在其中添加多個用戶,然后將記錄分享給整個team成員。

注意:對於Salesfroce來講,目前只有兩個標准對象擁有team概念:Account, Case.

Step 1: Enable Account Team

Step 2: 選擇在哪些Page layout中可以看到Team,並將其添加到用戶的自定義相關列表中,點擊save。

Step 3: 【Setup】-->【Object Manager】-->【Account】-->【Page Layouts】-->【***】(自定義page layout)

選擇Related Lists,在右側找到Account Team后,將其拖至下方,點擊Save按鈕--> Yes,如下圖所示。

Step 4: 點擊九宮格,在All Items下面選擇Account,進入Account導航頁面。

Step 5: Account Team列中添加Team成員,點擊Add Team Members。當然,你也可以創建一個Team,然后在此處直接Add Default Team。

點擊Save按鈕,分享該條記錄至RestrieveCode SP和wu kai用戶。

PS:點擊用戶旁邊的倒三角,可以對該用戶進行編輯和刪除操作。

 

5. Manual Sharing

手動分享,通過sharing按鈕,手動分享該條記錄至指定用戶(群)。但是,該功能目前還沒有合入Lighnting Experience版本,若想使用,可切換至Classic版本。

點擊右上角頭像,選擇Switch to Salesforce Classic

切換至Classic版本,界面如下。

從Recent Items下找到Account Team Sample用戶,點擊Sharing,添加要分享的用戶。

6. 權限控制

對於Salesforce來說,權限是不斷累加的,多種規則權限間表現為並集關系,但對於Salesfroce來說,搜尋不同規則是有先后順序的,具體表現如下圖所示。

用戶訪問某記錄依次查詢:

  1)Organization-Wide Default: Public Read/Write,讀寫權限;Public Read/Only,只讀權限,若想修改,往下查看;Private, 無訪問權限,往下查看。

  2)Role Hierarchy: 用戶為記錄擁有者的領導,有權限訪問(讀寫權限)。

  3)Sharing Rules: 滿足規則,並且屬於被分享者之一,則有訪問權限(讀寫權限可配置)。

  4)Teams and Manual Sharing: 屬於Team成員之一或者屬於Sharing成員之一,則擁有訪問權限(讀寫權限可配置)

上述四條規則依次查詢,滿足操作權限則退出,如不滿足,繼續往下,若皆不滿足則無權限訪問。

 

Okay,上述內容是我對於Data Security的一點理解,如有誤之處,望大佬斧正。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM