Salesforce數據安全簡介

數據安全級別

Salesforce中將數據安全分為若干等級:

  • 組織級別:組織級別的安全設定在整個系統內部都有效。這是最廣泛的級別
  • 對象級別:對象級別的安全設定可以限制用戶對於對象的許可權
  • 欄位級別:欄位級別的安全設定可以限制用戶對於欄位的許可權
  • 記錄級別:記錄級別的安全設定可以限制用戶對於記錄的許可權,這是最詳細的級別

數據安全級別的關係

  • 對象級別和欄位級別是相關聯的,當用戶對某欄位有許可權,那麼對該欄位所屬的對象也是有許可權的
  • 記錄級別獨立於對象級別和欄位級別,是用戶對於某條記錄的許可權的單獨設定。但是當此用戶在對象或欄位的許可權中有「查看全部」和「修改全部」許可權時,記錄級別會被忽略,即用戶可以看或修改任何記錄

許可權計算

當用戶需要進入某條記錄、運行報表、進行搜索等操作時,Salesforce會檢查該用戶的許可權。由於Salesforce中有著複雜的許可權設定,Salesforce會在許可權設定更改時立即計算數據記錄的許可權,然後將結果保存起來。這樣,當用戶需要對記錄進行操作時,Salesforce不用在此時進行許可權的計算(因為會使效率變慢),而是根據儲存好的許可權結果直接進行判斷。

資料庫中的許可權相關表格

在資料庫中,Salesforce主要使用三類數據表來管理各種許可權設定:

  • 對象記錄表(Object Record Table):這類表中存儲著數據記錄
  • 對象共享表(Object Sharing Table):這類表中存儲著各個對象的共享許可權,共享許可權包括了各種許可權設定,包括手動共享、角色許可權、共享規則等
  • 用戶組表(Group Maintenance Table):這類表中保存著各個用戶和用戶組的關係

當需要決定某個用戶或用戶組對於某條記錄的許可權時,會執行以下步驟:

  1. 在對象記錄表中找到這條記錄
  2. 在對象共享表中根據這條記錄的ID找到存儲於其中的共享許可權
  3. 在用戶組表中根據用戶或組的ID找到對應的記錄,然後在對象共享表中找到和該用戶或組的ID相對應的共享許可權

以上步驟執行完畢後,Salesforce便得到了該用戶或用戶組對於這條記錄的許可權。

組織級別的安全設定舉例

組織級別的安全設定在整個系統內部都有效。最常用的設定有用戶管理、密碼規則、登陸IP限制等。

用戶管理

用戶管理是典型的組織級別的設定。管理員可以方便的從設置界面對用戶進行管理。

需要注意的一點是:一個用戶賬戶只能被凍結(無法登陸),而不能被直接刪除。

密碼規則設定

管理員可以設定所有用戶都必須遵守的密碼規則。

在設置界面下搜索「密碼策略」,點擊「安全性控制」菜單下的「密碼策略」鏈接,可以進入「密碼策略」的設定界面。

在此界面中,管理員可以設定用戶密碼的有效期、密碼最小長度、密碼複雜性等規則。

使所有密碼到期

管理員可以一次性使所有密碼到期。

在設置界面下搜索「使所有密碼到期」,點擊「安全性控制」菜單下的「使所有密碼到期」鏈接,可以進入「使所有密碼到期」的設定界面。

在此界面中,管理員可以勾選「使所有用戶密碼到期」,點擊「保存」按鈕,從而使所有用戶的密碼都到期,當用戶下次登錄時,必須重新設置密碼。

受信IP範圍

管理員可以設定一個IP範圍,只有IP地址屬於這個範圍內的設備可以登錄。

在設置界面下搜索「網路訪問」,點擊「安全性控制」菜單下的「網路訪問」鏈接,可以進入「網路訪問」的設定界面。

在此界面中,管理員需要輸入開始和結束的IP地址,並保存。

登錄時間和IP限制

Salesforce的用戶都屬於某一個用戶簡檔。用戶簡檔包含了一系列的規則,規定了用戶在整個系統各個方面的許可權。其中一種許可權就是登錄的時間和IP。

在設置界面下搜索「簡檔」,點擊「管理用戶」菜單下的「簡檔」鏈接,進入「簡檔」一覽表界面。

點擊任一簡檔的名字,進入其詳細信息界面。

在簡檔詳細信息的頁面最下方,可以找到「登錄時間」和「登錄 IP 範圍」的部分。管理員可以在此處進行設置,規定屬於該簡檔的用戶可以登錄的時間範圍和IP範圍。在範圍之外的時間或IP的用戶無法登錄。

如果用戶在已經登錄的狀態下進行工作,當超過了登錄時間範圍的時候,用戶會被自動登出,未保存的工作將丟失。

用戶簡檔

用戶簡檔(Profile)是一組規則的集合,規定了用戶對於整個系統各個方面的許可權,也包括對象。

利用用戶簡檔,管理員可以設定屬於該簡檔的用戶對於若干對象的許可權,比如查看、創建、編輯、刪除等。這裡同樣也適用於每個對象的每個欄位。

對象的特殊許可權

在用戶簡檔中,管理員還可以對對象設定兩個特殊許可權:「查看全部」和「修改全部」。這兩個許可權可以使具有此簡檔的用戶忽略其他任何對此對象的安全設定,永遠具有對此對象所有記錄的查看許可權和修改許可權。

許可權組

除了用戶簡檔,管理員還可以設置許可權組。許可權組的內容和用戶簡檔類似,也是一組用戶對於系統各個方面許可權的規則集合。

用戶簡檔和許可權組的功能有重疊的部分,一般來說,每個用戶都必須具有一個用戶簡檔,許可權組可以作為用戶簡檔的補充手段。

用戶簡檔里的規則是統一的。當屬於某用戶簡檔的一部分用戶需要一些特殊許可權的時候,可以將這些特殊許可權設定在某許可權組中,再將該部分用戶加入許可權組裡,這樣,他們就可以在不失去用戶簡檔規定的許可權的同時擁有了許可權組中規定的許可權。

共享設置

在設置界面下搜索「共享設置」,點擊「安全性控制」菜單中的「共享設置」鏈接,即可進入「共享設置」界面。

「共享設置」界面顯示了系統中對於每個對象的許可權設置。「共享設置」界面分為兩部分:「默認共享設置」和「共享規則」。

「共享設置」處於數據安全級別的最底層,如果在用戶簡檔或其他地方對於某些對象有其他的許可權設定,則此處的訪問許可權設定將會被忽略。

默認共享設置

默認共享設置影響的範圍是整個組織,在此可以規定每個對象對於所有用戶的訪問許可權。

共享規則

共享規則是基於每個對象的。一條共享規則包括:

  • 基本屬性:標籤、名字、描述等
  • 規則類型:可以設定是基於記錄的所有人還是基於某些條件
  • 被共享的用戶:可以設定此共享規則對哪些用戶有效。此處的用戶分為三種:公用小組、角色、角色及下屬
  • 被共享用戶的訪問許可權:可以設定被共享的用戶對於此數據有哪些許可權

手動共享記錄

無論是用戶簡檔、許可權組、共享設置,都只能設定對象、欄位共享的規則。如果用戶想共享某一條記錄,那麼就需要手動設置該記錄的共享許可權。

在記錄的詳細頁面上,單擊「共享」按鈕,即可設定共享規則。

當一個對象在「共享設置」的「默認共享設置」中被設為「公用讀/寫」許可權時,此對象的記錄默認被所有用戶共享,則此對象的記錄中沒有「共享」按鈕。

隱式共享

Salesforce中的隱式共享是自動發生的,無法被關閉或消除。隱式共享對自定義對象不起作用。

父關係隱式共享

當某用戶對某條Account記錄的子記錄(機會 Opportunity、聯繫人 Contact、個案 Case)擁有許可權時,該用戶自動對該Account記錄擁有許可權。

子關係隱式共享

當某用戶是某條Account記錄的所有者(Owner)時,該用戶自動對此Account的各個子記錄(機會 Opportunity、聯繫人 Contact、個案 Case)擁有許可權。


推薦閱讀:

在Visualforce頁面中使用Visual Flow

TAG:Salesforce | 云服务 | 数据安全 |