此文字已使用 Salesforce 的自動翻譯系統進行翻譯。參閱我們的 調查以提供此內容的回饋意見,並告訴我們您接下來想要查看的內容。
Note
簡介
Salesforce 共用模式是貴組織提供安全應用程式資料存取權的必要元素。因此,正確建立共用模式,以符合您目前和未來資料存取需求十分重要。在此文件中,我們將檢閱資料無障礙元件、共用模型使用個案和實際客戶共用解決方案,並提供一些疑難排解原則。
預期受眾與先決條件
此文件適用於進階系統管理員和結構設計師。若要瞭解這些概念,您必須具備 Salesforce 安全性和共用模式的實際 Knowledge。此指南的先決條件為:
不涵蓋資料存取權
本指南著重於用來控制標準和自訂物件記錄級存取權的主要功能。本指南未涵蓋的主題包括:
- 資料夾存取權
- 內容存取權
- Chatter 存取權
- Knowledge 庫存取權
- 計畫、問題/回答存取權
- 行動資料無障礙
資料存取類型
記錄級安全性可讓您將某些物件記錄的存取權授與使用者,但不授與其他物件記錄的存取權。如同大多數應用程式,資料存取從使用者開始。應用程式必須先知道使用者是誰,才能提供存取權。針對 Salesforce,使用者類型不同,且有時存取層級會因類型而有所不同。我們不會檢閱每個授權類型的每個屬性,而是將在此專注於對資料存取有顯著影響的感興趣屬性。記錄擁有權與完整存取權為同義詞且可互換,為使用者提供記錄的最高層級存取權。
使用者與授權
大量使用者
大量使用者 (包括具有「客戶社群」、「大量客戶入口網頁」和「已驗證的網站」授權類型的使用者) 不會利用共用模式,因為其授權類型不支援角色。這些授權擁有自己的共用模式,可依外部索引鍵比對使用者 (持有授權) 和帳戶和連絡人對應的資料。管理員可以建立共用集或共用群組,以授與大量使用者記錄的存取權。
Chatter Free 與 Chatter External 授權
Chatter Free 和 Chatter External 授權不遵循標準共用模式。這些授權沒有 CRM 記錄 (標準或自訂物件) 和「內容」功能的存取權,且不支援角色,因此沒有共用。
針對此文件的其餘部分,我們假設 Salesforce 使用者類型使用完整共用模式。請參閱「使用者授權」,以取得每個可用授權類型的詳細資訊。
元件

設定檔和權限集
設定檔和權限集透過決定使用者可看見的資料類型,以及他們是否可以編輯、建立或刪除記錄,來提供物件級安全性。針對每個物件,「檢視所有」和「修改所有」權限會忽略共用規則和設定,讓管理員能夠快速將存取權授與整個組織中與指定物件相關聯的記錄。這些權限通常是「檢視所有資料」和「修改所有資料」管理權限的偏好替代項目,允許使用者檢視或修改所有應用程式和資料。
設定檔和權限集也會控制欄位級安全性,這會決定使用者可存取之每個物件中的欄位。例如,物件可以有 20 個欄位,但可設定欄位級安全性,以防止使用者看見 20 個欄位中的五個。
強烈建議您使用權限集和權限集群組,而非設定檔來管理使用者的物件權限。由於您可以重複使用較小的權限集建構區塊,因此您可以避免為每個使用者和工作功能建立數十個甚至數百個設定檔。
記錄擁有權與排隊
每個記錄都必須是由單一使用者或某列人的擁有。擁有者可根據擁有者設定檔的「物件設定」來存取記錄。例如,如果擁有者的設定檔具有物件的「建立」和「讀取」權限,但沒有「編輯」或「刪除」權限,則擁有者可以為物件建立記錄,並查看新記錄。不過,擁有者將無法編輯或刪除記錄。階層較高的使用者 (角色或區域範圍) 會繼承與其標準物件下屬相同的資料存取權。如果下屬擁有唯讀存取權,則角色階層中位於其上層的使用者也會如此。此存取權適用於使用者擁有的記錄,以及與其共用的記錄。
查詢可協助您排定優先順序、分配記錄,並將其指派給共用工作負載的小組。在角色階層中較高層級的排行榜成員和使用者可以從清單檢視存取排行榜,並取得列中記錄的擁有權。
如果單一使用者擁有 10,000 筆以上的記錄,最佳作法是:
-
擁有者的使用者記錄不應在角色階層中保留角色。
-
如果擁有者的使用者記錄必須保留角色,請將角色置於角色階層本身分支中的階層頂端。
請 參閱 Salesforce 結構良好 - 可靠以 取得詳細資訊。
組織範圍預設值
組織範圍共用設定指定使用者對每個其他記錄擁有的預設存取層級。您可以使用組織範圍共用設定將資料鎖定至限制最嚴格的層級。使用其他記錄級安全性和共用工具來選擇性地將存取權授與其他使用者。例如,使用者擁有讀取和編輯機會的物件級權限,且組織範圍共用設定為「唯讀」。依預設,這些使用者可以讀取所有機會記錄,但無法編輯任何記錄,除非他們擁有記錄或獲授與其他權限。
您可以將組織範圍預設設定從一個設定變更為另一個設定 (「私人」變更為「由父系控制」,再變更為「私人」)。不過,這些變更需要共用重新計算,且視量而定,可能會造成較長的處理時間。
僅針對自訂物件,您可以設定「使用階層賦予存取權」設定。如果未勾選 (預設值已勾選),則在角色階層中較高的使用者無法繼承存取權。此設定可在組織範圍預設設定中找到。
角色階層
角色階層代表使用者或一組使用者需要的資料存取層級。角色階層可確保管理員一律可存取與其員工相同的資料,無論組織範圍預設設定為何。角色階層不必完全符合您的組織圖表。相反地,階層中的每個角色應呈現使用者或使用者群組需要的資料存取層級。
在 Spring ’21 或更新版本中建立的 Salesforce 組織中,您最多可以建立 5,000 個角色。在 Spring ’21 之前建立的組織中,您最多可以建立 500 個角色,也可以連絡 Salesforce 客戶支援以增加此限制。最佳作法是將內部角色數目保持在 25,000 個,並將外部角色數目保持在 100,000 個。
最佳作法是將角色階層保持在階層中不超過 10 個層級的分支。
當使用者的角色變更時,系統會評估任何相關的共用規則,以視需要更正存取權。位於相同角色的對等者並不保證他們可存取彼此的資料。
建模角色階層從瞭解組織的結構開始。這通常是從從頂端開始,從瞭解經理的範圍建立。CEO 監督整個公司。CEO 通常擁有直接報告,然後可依業務單位 (銷售或支援) 或地理區域 (EMEA、APAC) 分段。接著該人員會擁有可進一步區隔的直接報告等等。雖然這聽起來很像 HR 組織圖表,但建模資料存取時,請專注於資料存取設定,並考量 HR 報告。
重疊一律是階層中的困難部分。如果他們在自己的分行中,則需要共用規則、小組或區域範圍管理才能取得所需的存取權。如果它們折疊至階層,可能會產生報告影響。
花時間設定角色階層是很重要的,因為它是共用模式的基礎層面之一。
| 角色階層使用個案 |
|---|
| 管理存取權—經理能夠看見和執行其下屬可以看見和執行的任何動作。 |
| 管理報告—報告以階層方式累計的能力,讓階層中較高層級的人員看見的資料比位於其下層的人員多。 |
| 組織分行之間的區隔 - 不同的業務單位不需要看見彼此的資料;在階層中,您可以定義個別分行,讓您可以區隔業務單位內的可視性,同時將可視性向上滾動至這些單位之上的主管層級。 |
| 角色內的區隔 - 在許多組織/應用程式中,所有扮演相同角色的使用者不一定會看見彼此的資料。擁有階層角色可讓您定義「分葉」節點,其中所有資料都基本為專用,且仍可將該資料累計至可全部查看的父系角色。 |
公用群組
公用群組是個別使用者、角色、區域範圍等的集合,所有使用者皆具有共同功能。公用群組可包含:
- 使用者
- 客戶入口網頁使用者
- 合作夥伴使用者
- 角色
- 角色和內部下屬
- 角色、內部和入口網頁下屬
- 入口網頁角色
- 入口網頁角色和下屬
- 區域範圍
- 區域範圍和下屬
- 其他公用群組 (巢狀群組)
群組可以嵌套 (將群組 A 嵌套至群組 B),但無法嵌套超過五個層級。巢狀會因為群組成員資格計算而影響群組維護和績效。最佳作法是將組織的公用群組總數保持在 100,000 個。
| 公用群組使用個案 |
|---|
| 當您需要將存取權提供給任意的人員群組時,您可以建立公用群組來收集他們,然後使用其他共用工具將必要的存取權授與群組。僅群組成員資格不會提供資料存取權。 |
| 群組也可以在彼此內部嵌套,因此可讓巢狀群組取得與其所包含群組相同的存取權。這可建立較小的臨時階層,這些階層不一定會與角色或區域範圍階層互動。如果「群組 A」是「群組 B」的成員,則「群組 A」的成員將擁有與「群組 B」成員相同存取層級的存取權,以存取與「群組 B」成員共用的資料。 |
| 群組也能夠保護在群組中共用的資料,使其無法供在群組成員之上的角色階層的人員存取。這項動作 (以及處理記錄擁有者及其管理階層的存取權) 允許建立可共用高度機密資訊的群組—資料只會供群組成員存取,而組織中的其他人則無法存取。這可透過使用「使用階層賦予存取權」設定來完成。 |
擁有者共用規則
以擁有者為基礎的共用規則允許組織範圍預設設定和角色階層的例外,讓其他使用者能夠存取他們不擁有的記錄。擁有者共用規則僅以記錄擁有者為基礎。
以連絡人擁有者為基礎的共用規則不適用於私人連絡人,或與帳戶無關聯的連絡人。
每個物件的共用規則總數限制為 300。
| 擁有者共用規則使用個案 |
|---|
| 以角色為基礎的矩陣管理或重疊情況:服務中的人員必須能夠看見某些「銷售」資料,但他們居住在階層的不同分支中,因此您可以建立規則來在不同分支的角色之間共用資料。 |
| 將資料存取權提供給擁有相同角色或區域範圍的對等者。 |
| 將資料存取權提供給其他使用者群組 (公用群組、入口網頁、角色、區域範圍)。擁有記錄的分組成員可以與其他分組的成員共用。 |
條件式共用規則
條件式共用規則會根據記錄的欄位值 (條件) 提供記錄的存取權。如果符合條件 (一或多個欄位值),則會為規則建立共用記錄。記錄擁有權並非考量事項。
每個物件的條件式與來賓使用者共用規則限制為 50。
| 條件式共用規則使用個案 |
|---|
| 根據記錄上的欄位值,將資料存取權提供給使用者或群組。 |
來賓使用者共用規則
來賓使用者共用規則是條件式共用規則的特殊類型,用於將記錄存取權授與未經驗證的來賓使用者。每個物件的條件式與來賓使用者共用規則限制為 50。
**警告:**來賓使用者共用規則類型會將存取權授與沒有登入認證的來賓使用者。透過建立來賓使用者共用規則,您可將所有符合共用規則條件之記錄的立即且無限制存取權授與任何人。若要保護 Salesforce 資料的安全,並授與來賓使用者其所需的存取權,請考量建立此類共用規則的所有使用個案和涵義。實作您認為適用於資料敏感性的安全性控制。針對根據預設設定的此變更,將資料向未經驗證的使用者公開時,Salesforce 概不負責。
| 來賓使用者共用規則使用個案 |
|---|
| 將資料存取權提供給未經驗證的來賓使用者。 |
手動共用
有時候,無法定義需要特定記錄集存取權的一致使用者群組。記錄擁有者或具有足夠權限的其他使用者 (例如系統管理員) 可以使用手動共用,將讀取與編輯權限授與沒有其他存取權的使用者。手動共用並非自動化,例如組織範圍共用設定、角色階層或共用規則。但這可讓記錄擁有者與必須看見記錄的使用者彈性共用記錄。
當記錄擁有者變更,或當授與的共用存取權未授與物件其組織範圍共用預設存取層級以外的額外存取權時,系統會移除手動共用。這也適用於以程式設計的方式建立的手動共用。
手動共用記錄會定義為將列原因設為手動共用的共用記錄。
所有具有設定為 手動共用的列原因的共用記錄 (標準和自訂物件) 都可以透過物件版面配置上的 **共用**按鈕編輯和刪除,即使共用記錄是以程式設計的方式建立。
| 手動共用使用個案 |
|---|
| 讓使用者能夠將目前記錄的存取權 (唯讀或讀/寫) 授與其他使用者、群組或角色。 |
小組
小組是使用者群組,可共同處理帳戶、銷售機會或個案。記錄擁有者可以為其擁有的每個記錄建立小組。記錄擁有者會新增小組成員,並指定每個小組成員對於記錄的存取層級。某些小組成員可以擁有唯讀存取權,而其他小組成員則擁有讀/寫存取權。
只有擁有者、階層較高的人員和管理員可以新增小組成員,並為成員提供更多存取權。具有讀/寫存取權的小組成員可以新增已擁有與小組相關聯記錄存取權的其他成員。小組成員無法為其提供額外存取權。
在應用程式中建立小組成員會建立兩個記錄:小組記錄和相關聯的共用記錄。如果您以程式設計的方式建立小組成員,則必須同時管理小組記錄和相關聯的共用記錄。每個記錄僅有一個小組 (帳戶、機會或個案)。如果需要多個小組,請根據您的特定需求考慮區域範圍管理或程式設計共用
| 小組使用個案 |
|---|
| 讓使用者能夠將存取權 (唯讀或讀/寫) 授與單一使用者群組 (小組)。 |
| 如果小組是由外部管理,例如透過外部佣金或區域範圍管理系統,則整合可以用來管理帳戶小組。外部系統中的區域範圍管理可以與 Salesforce 中的小組解決方案一致的狀況。 |
| 帳戶小組可以管理帳戶的多個擁有者。 |
| 單一使用者群組 (小組) 需要機會記錄的唯讀或讀/寫存取權。(機會小組) |
區域範圍階層
使用「企業區域範圍管理」時,您可以設定區域範圍階層,以顯示模型的區域範圍結構,並作為其主要互動點。如果已啟用企業區域範圍管理,您必須管理角色階層與區域範圍階層。如需詳細資訊,請參閱 Salesforce 說明中的 企業區域範圍管理。
Apex 受管理共用
當資料存取需求無法以任何其他方式達成時,Apex 受管理共用 (也稱為程式設計共用) 可讓您使用程式碼建立精密且動態的共用設定。
如果您以程式設計的方式建立共用記錄,且使用立即可用的列原因 (手動共用),則您可以在應用程式中使用「 共用 」按鈕來維護此共用記錄。共用記錄受限於具有手動共用列原因 (例如在擁有者轉移時刪除) 的所有規則。
您也可以為自訂物件建立自己的 Apex 共用原因,以追蹤使用者或使用者群組的記錄原因,並簡化共用記錄的更新與刪除所需的編碼。
如需詳細資訊,請先檢閱使用 Apex 共用記錄,再考慮使用程式設計共用。
| Apex 受管理共用使用個案 |
|---|
| 沒有其他共用方法 (宣告) 符合資料存取需求。 |
| 使用者存取指派的現有外部事實系統將持續推動存取並與 Salesforce 整合。 |
| 使用原生共用元件的效能不佳。(通常適用於非常大的資料量) |
| 自訂物件的小組功能。 |
限制規則
在您的資料存取組態中,您可能會想要防止使用者看見可能包含敏感資料或只是對其工作沒有必要的記錄。您可以使用限制規則來允許使用者僅存取符合您所指定條件的記錄。當限制規則套用至使用者時,會根據您指定的條件篩選透過組織範圍預設值、共用規則和其他共用機制授與使用者存取權的記錄。限制規則的運作方式與此主題中討論的共用元件相反;而不是向使用者開放存取權,而是進一步限制。
限制規則適用於自訂物件、外部物件、契約、事件、工作、時間表和時間表項目。您可以在 Enterprise 和 Developer Edition 中為每個物件建立最多兩個啟用中的限制規則,在 Performance 和 Unlimited Edition 中為每個物件建立最多五個啟用中的限制規則。限制規則適用於下列 Salesforce 功能:
- 清單檢視
- 對應
- 相關清單
- 報告
- 搜尋
- SOQL
- SOSL
| 限制規則使用個案 |
|---|
| 您想讓特定使用者僅看見特定記錄集。 |
| 簡化使用敏感或機密資訊控制記錄存取權。 |
| 若要讓契約、工作和事件的存取權真正為私人,因為使用組織範圍預設值可能難以達成。 |
隱含共用
隱含共用會自動執行。您無法將其關閉或開啟,這是應用程式的原生功能。換句話說,隱含共用並非可設定的設定,但對於任何結構設計師而言,此設定十分重要。當使用者可存取該帳戶的子系機會、個案或連絡人時,父系隱含共用會提供父系記錄 (僅限帳戶) 的存取權。Salesforce 擁有資料存取原則,此原則會指出使用者是否可以看見連絡人 (或機會、個案或訂單),則使用者會隱含地看見相關聯的帳戶。子系隱含共用是將帳戶子系記錄的存取權提供給帳戶擁有者。此存取權是在角色階層中擁有者的角色中定義的。子系隱含共用僅適用於連絡人、機會和個案物件 (帳戶的子系)。建立角色時,可為每個子物件提供的存取層級為「檢視」、「編輯」和「無」存取權。透過設定為「檢視」,帳戶擁有者可以隱含地查看相關聯的物件記錄 (連絡人、機會或個案)。透過設定為「編輯」,帳戶擁有者可以隱含地修改相關聯的物件 (連絡人、機會或個案)。
隱含共用不適用於自訂物件。
客戶實作實例
沒有適合所有 Salesforce 組織的共用模式。嘗試建構最佳共用模式時,每個組織都有不同的需求和挑戰。使用最適當的資料存取元件以符合組織的共用需求十分重要。下列情況是嘗試建構共用模式時常見的挑戰。
透過客戶主要系統在外部管理小組指派
| 需求或挑戰 | 解決方案 |
|---|---|
| 立即可用的兩個項目:一個地理涵蓋範圍區的銷售經理也想要存取另一個地理涵蓋範圍區來協助。 | 擁有者共用規則:此處適用擁有者共用規則,因為這些是邊緣個案,而非規則。如果擁有者共用規則提供的存取權超過實際需要,也可接受,因為這是一位經理,即受信任的個人。 |
| 以國家為基礎的營運使用者需要存取所有國家銷售資料。 | 擁有者共用規則:共用規則的常見用途是在不同部門 (銷售以外) 需要銷售資料的存取權時。 |
| 帳戶上有至少 80% 的「核心 4」小組 (帳戶主管、內部銷售代表、銷售顧問、技術銷售代表)。帳戶小組指派的記錄系統為外部。帳戶一律只有一個小組。 | 小組:由於每個帳戶一律只有一個小組,即使有許多具有不同角色的不同成員,帳戶小組功能仍能滿足此需求。 |
| 小組管理員的存取權必須與其下屬相同。 | 角色階層:角色階層可允許經理存取其下屬的資料,藉此解決此需求。 |
| 指派的帳戶小組不可修改。 | 小組:此需求實際上未透過帳戶小組功能完成。不過,也不應防止您繼續使用帳戶小組。不過,有許多方法可以鎖定小組。針對此個案,會使用移除帳戶小組版面配置。 |
| 必須有「好友」功能,讓當某人病退或休假時,可以在休假期間存取並涵蓋沒有帳戶或機會標準存取權的人員。 | 小組:「好友」可以只是在完成此需求的小組中扮演的角色。然而,挑戰來自先前的需求,其中「小組」不能為可修改。唯一的解決方案是擁有一組可以修改小組的人員,以在必要時建立好友角色。 |
| 當交易需要自訂解決方案時,其他人員 (不一定屬於銷售組織) 必須擁有交易的存取權。 | 小組:「機會小組」的標準使用方式,透過手動將新成員新增至「機會小組」(透過相關清單完成)。如果您一律知道應新增的人員,也可以透過觸發完成。在此個案中,這是依機會的機會。 |
立即可用的區域範圍管理
| 需求或挑戰 | 解決方案 |
|---|---|
| 來自兩個不同業務單位 (零售銷售和再行銷) 的兩個不同機會小組需要相同帳戶記錄的存取權。他們必須共用連絡人並掌握帳戶上的所有活動。這兩個業務單位擁有自己的階層和累計。 | 區域範圍管理:思考此需求的最佳方法是具有階層的兩個分支,其結構可能不同。區域範圍管理的理由是,這兩個不同分行的兩個層級 (兩個層級具有成員 = 該業務單位的機會小組) 都需要帳戶的存取權。雖然您可以使用「小組」概念完成此需求,但這太細微了。銷售區隔不是在帳戶層級,而是在階層中。 |
| 有個別的業務開發人員群組已獲指派,且需要存取特定機會小組 (區域範圍) 的特定帳戶。業務開發人員是機會小組的共用資源,這表示可將每個業務開發人員指派給一或多個機會小組的一個或多個帳戶。 | 區域範圍管理:由於這是一群使用者 (或小組),且每個業務開發小組可能因帳戶而有所不同,且由於需要其他原因管理區域範圍,因此最有可能的方法是建立代表這些業務開發小組的子區域範圍或個別分支。 |
| 有一些非佣金型銷售支援角色需要一次性存取帳戶。 | 小組:需求的關鍵部分為「一次性」。這表示會根據帳戶在帳戶基礎上完成,因此帳戶小組會原生提供。 |
| 信用部門需要指定業務單位所有帳戶的存取權。 | 擁有者共用規則:這是針對指定業務單位,一組使用者在整個板上都必須看見所有內容的情況。此需求可透過群組所屬角色的共用規則、群組所屬角色階層的分支 (角色和下屬),甚至是公用群組來完成。區域範圍管理:您也可以將信用部門建模為具有指定業務單位相同邏輯的區域範圍來完成此需求。 |
| 管理員必須擁有與其下屬相同的存取權。 | 角色階層:角色階層可允許經理存取其下屬的資料,藉此解決此需求。 |
考量事項
企業區域範圍管理實作考量事項
-
角色階層會發生什麼狀況?
-
如果您同時使用區域範圍階層,則角色階層不會有任何影響。不過,如果您同時使用以區域範圍為基礎的預測和以角色為基礎的預測,則必須管理兩個階層。在此情況下,建議您使用角色階層來建模 HR 報告結構,然後使用區域範圍階層來建模實際的銷售階層。區域範圍階層最適用於建模矩陣報告結構,其中有人可以向多個經理報告。
如果您未同時使用以區域範圍為基礎的預測和以角色為基礎的預測,則只能使用區域範圍階層作為銷售階層。在此情節下,最好盡可能簡化或壓平階層。
我們不建議讓角色階層與區域範圍階層相同,因為這會造成不必要的共用活動。
-
-
您是否仍可使用小組?
- 是。不過,如果您可以滿足區域範圍階層內的存取需求 (例如重疊),則最好在其中執行,而非使用小組。您已經維護多個階層 (角色和區域範圍),因此在嘗試盡可能保持簡單時,請僅在沒有其他現有共用元件符合需求時實作小組。
其他考量事項
-
重新對齊和重新指派
- 有兩種變更會發生—角色、小組或區域範圍的成員資格,以及階層的結構。成員資格變更通常會每日發生,甚至每小時發生一次。階層結構 (重新對齊) 變更通常較不常見 (每季、每半年或每年),且可能需要資源。必須考量變更量,以及每個變更會造成的串聯變更數目。根據基本規則,請讓結構變更不會超過每季發生一次,且所有大量變更 (大量或大量變更) 都會經過良好規劃、測試和協調。
-
大量資料
-
無論您是為初始首展建立模型,或是計畫重新對齊方式變更,您都必須嚴重考量資料量。效能可能會變成因素的某些值,因此強烈建議在生產之前在 Sandbox 中測試您的變更。此測試也會提供您變更所需時間的基準。
如果您擁有超過 2 百萬個帳戶,且已實作小組或「企業區域範圍管理」,則特別必須注意績效。這些是複雜的共用模式元件,可產生大量共用記錄,進而長時間執行交易。
-
-
延後共用計算
- 如果您有使用共用且具有大量記錄的物件 (例如超過 2 百萬個帳戶),且您必須進行大量變更 (例如需要階層變更的每季重新對齊),則 Salesforce 客戶支援可以啟用功能來延後自動共用計算。原生而言,對於角色階層、區域範圍階層、群組、共用規則、使用者角色、小組成員資格或記錄擁有權的每個個人變更都會起始自動共用計算。進行大量變更時,會造成數個自動共用重新計算開始。透過暫時暫停這些重新計算,您便能夠進行變更,然後一次完成所有共用計算。此方法通常更有效率且更能執行大量變更。
-
資料和擁有權概觀
-
資料誤差定義為具有許多子系記錄的一些父系記錄。當少數帳戶擁有許多連絡人、機會或個案時,這些偏差可能會對您造成傷害。我們開始看見績效降級的比率為 1:10,000。最佳作法是盡可能將比率保持在其上 (偏好較低)。
擁有權誤差與資料誤差類似,但我們指的是擁有物件多個記錄的單一使用者、角色或群組。如同資料誤差,這也會導致長時間執行交易,進而在發生變更時導致效能降低。擁有者與記錄數的建議比率也為 1:10,000。
如果單一使用者擁有 10,000 筆以上的記錄,最佳作法是:
-
擁有者的使用者記錄不應在角色階層中保留角色。
-
如果擁有者的使用者記錄必須保留角色,請將角色置於角色階層本身分支中的階層頂端。
-
-
-
帳戶階層對資料存取權的影響
- 許多人在實作帳戶階層時會做出不良假設。他們假設可存取父系帳戶的使用者也可以存取子系帳戶。兩個記錄之間只有一個父系/子系關係的簡單事實並不會驅動存取。雖然角色階層與區域範圍階層會以此方式運作,但帳戶階層則不會。
疑難排解
完成共用模型結構後,您可能會受到使用者看見或看不見記錄的原因的挑戰。通常,您不會聽到使用者何時可以看到他們不應該看到的內容,但如果需要,您可以看到每個具有記錄存取權的使用者以及其原因。
更困難且可能更常見的挑戰是使用者看不見記錄的原因。您建立的安全性層級會決定您從何處開始。如果您熟悉共用模式,則您可能會知道哪個元件應提供存取權,且可以從中開始。但如果您對共用模式較不熟悉,請從角色階層開始,並將每個圖層取回,以決定哪些圖層應提供存取權。以下是疑難排解流程。
- 確認使用者具有存取物件的權限。
- 識別看不到記錄的使用者角色並記下。
- 識別記錄角色的擁有者並記下。
- 檢閱角色階層,並確認這兩個角色位於兩個不同的分支中 (應該是)。
- 現在您必須檢閱物件的共用規則,並確定沒有授與使用者存取權的規則。視需要也可在公用群組中尋找。使用者可能已排除在共用規則的群組之外,或者建立新共用規則以授與使用者存取權是否合理?此選擇取決於您嘗試維護的結構,並適用於擁有者共用規則與條件式共用規則。
- 如果您使用小組,該使用者是否應在該記錄的小組中?如何維護小組,以及缺口如何發生?
- 如果使用手動共用,則使用者可能因為記錄擁有者變更而失去存取權。手動共用會在擁有權變更時遭到捨棄。手動共用也可使用「**共用」**按鈕移除。
- 如果您使用的是企業區域範圍管理,使用者是否缺少其中一個區域範圍?維護區域範圍成員資格的位置為何,以及缺口如何發生?或者,可能不會將記錄指派至使用者所屬的區域範圍。
- 如果您要建立程式設計共用,且有條件可在程式碼中建立共用,請檢閱程式碼以瞭解為何忽略此使用者。
