Salesforce 欄位級安全(FLS):細節與策略
歡迎來到安全系列的又一期。今天,我們將深入探討 Salesforce 欄位級安全(FLS)這一概念。當你已經授予了對某個物件的存取權限,但又想控制該物件中特定欄位的可見性時,這項功能必不可少。
1. 引言
欄位級安全是關於控制誰可以看到物件上的某些欄位。設想一個物件上有一個存放機密資料的欄位。我們如何確保只有特定的使用者能看到這些資料?
2. 場景
為了說明,我們用一個關於「飛行員 Paul」的假設例子。我們有一個名為「Airport」的物件。在這個物件中,有一個叫「Security Status」的欄位。我們的目標是隻允許 Paul 存取這個欄位,並限制其他人。

3. 授予存取權限
首先,在「Airport」的物件管理員中,我們建立一個新欄位。在我們的例子中,它是一個名為「Security Status」的挑選清單,選項有「Normal」、「Elevated」和「Lockdown」。
不要在設定檔層面授予存取權限,而是轉向權限集層面的安全。唯一的例外是系統管理員,他仍然可以擁有設定檔層面的存取權限。
因此,預設情況下,只有系統管理員能看到這個新欄位。
4. 權限集
要給 Paul 授予存取權限:
- 進入權限集。
- 檢視 Paul 的權限集群組。在裡面,你會找到一個名為「Airport View」的組(這是在之前的一次演示中建立的)。
- 調整這個組中的物件設定,提供對「Security Status」欄位的讀取權限(使用標準的欄位級安全)。
按照這些步驟操作後,Paul 以及任何擁有「Airport View」權限集的人,現在都能在他們有權存取的任何機場記錄上看到安全狀態了。
5. 用動態表單有條件地顯示欄位
[caption id="" align=“alignnone” width=“3002”]
可以在單個欄位層面新增一個篩選條件 [/caption]
如果你想有條件地顯示這個欄位:
- 進入 Lightning 頁面生成器。
- 升級為使用動態表單。
- 給「Security Status」欄位新增一個篩選條件。例如,只在機場類型為「Large」時才顯示這個欄位。
請記住,這種方法只會在使用者介面上隱藏欄位,但這個欄位仍然可以在清單檢視、報表、儀表板和全域搜尋中被存取。所以,這並不是一種能確保資料絕對保密的萬無一失的方法。
6. 用 Lightning Web 元件(LWC)實現更高階的安全
如果確實需要嚴格的欄位級安全:
不要授予標準的欄位級安全。因為如果使用者對這個欄位擁有 FLS(欄位級安全)存取權限,他們就可能通過其他途徑存取它,比如:
- 清單檢視
- 報表
- 搜尋

設計一個在系統上下文中執行的 Lightning Web 元件(LWC),有條件地顯示這個欄位。
雖然 LWC 在顯示資料方面很強大,但在新建或編輯時可能會帶來挑戰。這可能需要在 LWC 中做一個自訂的編輯介面。
結論
保護 Salesforce 中的欄位至關重要。根據所需的安全級別,Salesforce 提供了多種選擇:
- 只通過權限集授予存取權限。
- 使用條件欄位可見性,但它有其固有的侷限。
- 對於高安全要求,設計一個 Lightning Web 元件。
謝謝
感謝收看。請記住,安全至關重要,而理解欄位級安全能確保你的 Salesforce 資料保持機密、掌握在正確的人手中。
請繼續關注 www.SteveTechArc.com 和 YouTube 頻道 @SteveTechArc (opens in a new tab)。
與架構師同行以及正走在架構師之路上的人分享有趣的想法,一起改變世界!
STA 4.5