Loading
設定並維護您的 Salesforce 組織
目錄
選取篩選

          沒有結果
          沒有結果
          以下是搜尋小祕訣

          檢查關鍵字的拼字。
          使用較常見的搜尋字詞。
          選取較少篩選條件以擴大您的搜尋。

          搜尋所有 Salesforce 說明
          歸檔 Apex—被遺忘權 (RTBF)

          歸檔 Apex—被遺忘權 (RTBF)

          資料隱私權法規授予個人「被遺忘權」(RTBF),要求組織根據要求安全清除個人資料。封存 Apex 透過從「封存」應用程式中識別和刪除特定資料來實現合規性,確保完全移除,同時保留其他封存資料的完整性。

          RTBF 篩選條件

          若要處理 RTBF 要求,請指定適當的篩選條件。例如:

          條件 範例
          欄位名稱 員工識別碼
          物件 連絡人
          識別碼 123456789011121314

          重要考量事項

          • 提交限制為每天 10,000 個要求,且根記錄搜尋限制為 10,000 個。
          • RTBF 刪除流程會延伸至階層內直接和間接相關的子系記錄。
          • 重疊搜尋結果可能會將某些記錄標記為已在稽核檔案中刪除。
          • 如果已達到搜尋結果限制,則 Apex 活動狀態會顯示具有此錯誤的 200 狀態代碼。

            Request processed. Maximum search results reached. Refine your search or submit a new request.

          • 大多數標準 RTBF 要求都會在 30 分鐘內完成。
          • 為獲得最佳結果,請鎖定根物件。
          • 「物件」與「欄位名稱」篩選條件不區分大小寫。
          • 封存不支援部分刪除。

          已歸檔階層中子系記錄的 RTBF 行為

          在子系記錄上執行 RTBF 要求時,要求會移除與其相關聯的整個已歸檔階層。

          例如,如果您搜尋特定的「個案」記錄並提交「歸檔 RTBF」要求,則要求會移除「個案」及其相關聯的工作,以及其相關的「帳戶」根記錄。由於這些記錄已封存在一起,因此 RTBF 會刪除整個封存階層。

          不過,如果「帳戶」已個別歸檔,則對「個案」記錄執行 RTBF 只會移除「個案」及其「工作」,但不會移除「帳戶」記錄。

          RTBF 的運作方式

          RTBF 流程會以非同步流程的形式執行,並遵循這些序列 API 呼叫。

          • 資料識別—Apex 查詢封存,以找到符合指定篩選條件的所有記錄。
          • 資料刪除—Apex 會將刪除要求傳送至「封存」,移除所有相符記錄。

          流程完成時,RTBF 活動圖示會顯示在「封存主控台」的「活動」索引標籤下方。

          備註
          備註 清除只會查詢歸檔為根物件的物件。RTBF 可以鎖定根物件和子系記錄。

          RTBF 要求範例

          一位前員工 Maria Johnson 提交了 RTBF 要求,要求刪除您系統中的所有個人資料。您的公司會歸檔員工記錄及其電子郵件通訊、客戶互動和專案指派。若要遵循 RTBF 要求,請使用此篩選條件。

          物件 欄位名稱
          連絡人 電子郵件 Maria@own.com
          個案 員工識別碼 987654321
          工作 指派對象 Maria Johnson
          電子郵件 寄件者 Maria@own.com
          文件 擁有者 Maria Johnson

          此要求可確保完整移除 Maria 的資料,包括她的連絡人資訊、她參與的個案、指派給她的工作,以及所有與她連結的電子郵件和文件記錄。此流程有助於維持資料隱私權法規的合規性,同時確保完整且準確地刪除敏感資訊。

          API 方法與回應處理

          備註
          備註 確認「篩選條件」是特定的,以免您無意中移除記錄。

          提交 RTBF 要求之前,建議您先在 Apex 資料查詢上執行查詢來驗證您的條件。

          輸入 輸出 定義
          ArchiverAccessorResponse
          • ArchiverAccessorResponse.getBody();

            包含追蹤 requestId 的字串。

          • ArchiverAccessorResponse.getStatusCode();
          • ArchiverAccessorResponse.getErrorMessage();
          來自「忘記 API」呼叫的回應。使用 getRTBFStatus 方法傳回追蹤要求狀態的 requestId
          Criteria(字串 sObjectName、字串 fieldName、字串 value)    
          forgetArchivedRecords(list<Criteria> inputFilters) ArchiverAccessorResponse 公用方法會建立「要歸檔的忘記」要求,以及要刪除的條件清單。
          getRTBFStatus(string requestId) 包含所有已刪除資訊詳細資料的 CSV 報告。 可讓您追蹤 RTBF 要求的公用方法。

          歸檔 Apex—執行 RTBF 要求

          手動測試「封存 Apex」,並在「封存」應用程式中執行 RTBF 要求。

          1. 按一下「設定」圖示。
          2. 選取「開發人員主控台」。
          3. 若要開啟主控台,請在 Windows 上按下 F12Ctrl+Shift+I,或在 Mac 上按下 Cmd+E
          4. 在主控台中,執行此程式碼以建立條件清單、傳送 RTBF 要求,並從「封存」取得 requestId
            SF_Archive.Criteria criteria1 = new SF_Archive.Criteria('Account', 'Name', 'example name');
            list<SF_Archive.Criteria> lst = new list<SF_Archive.Criteria>();                        
            lst.add(criteria1);                        
            SF_Archive.ArchiverAccessorResponse response =                        
            SF_Archive.ArchiverAccessor.forgetArchivedRecords(lst);                        
            Map<String, String> values = (Map<String,                        
            String>)JSON.deserialize(response.getBody(), Map<String, String>.class);                        
            String requestId = values.get('request_id');                    
            system.debug(requestId);
          5. 按一下「執行」。

            要求隨即開始。完成時,requestId 會儲存在「執行記錄」中。

          檢視 RTBF 要求的狀態

          傳送 RTBF 要求後,您可以檢視要求的狀態。

          1. 在頁面右上方,按一下「設定」圖示。
          2. 選取「開發人員主控台」。
          3. 按下 Command + E
          4. 使用 RTBF 要求的 requestId,執行此程式碼。
            SF_Archive.ArchiverAccessorResponse reportResponse =
            SF_Archive.ArchiverAccessor.getRTBFStatus(requestId);                            
            system.debug(reportResponse.getBody());                        
          5. 按一下「執行」。
            狀態要求隨即開始。完成時,其中一個狀態會顯示在「執行記錄」中。
            • Request failed, please contact support.

              要求失敗且失敗。

            • Request handled, no matching results were found.:

              沒有任何符合指定條件的記錄。

            • Request is open. Scan is still in progress.

              要求仍在進行中。

          當要求成功完成時,您會收到包含所有已刪除資訊詳細資料的 CSV 報告。

          CSV 報告包含以下資訊。

          欄位 描述
          條件記錄 符合要求之刪除條件的記錄欄位。
          條件記錄類型 要求的條件。
          觸發刪除的相關 Salesforce 識別碼 表格中另一個記錄參照的列,也符合條件。
          Salesforce 識別碼 報告列中包含的記錄識別碼。
          狀態 表示記錄是否遭到刪除。

          RTBF 常見錯誤

          條件無效

          • 欄位必須符合物件。
          • 不允許使用多個具有相同物件的條件。
          • 您最多可針對每個要求傳送 10 個條件。

          無結果

          • 值不可為部分。
          • 條件必須屬於已歸檔的記錄類型。

          例如,如果您擁有具有識別碼 X 的帳戶,且已歸檔屬於該識別碼的個案,則必須排除屬於該帳戶的個案。若要達成此目標,請建立此篩選條件。

          Object type: Case, field: AccountId, value: X
          備註
          備註 常見的錯誤是建立此篩選條件。
          Object type: Account, field: Id, value: X
          此條件不會刪除任何內容,因為「封存」沒有相關的「帳戶」。

          歸檔 Apex—RTBF 使用個案實例

          在「封存」應用程式中使用 RTBF 的個案案例。

          情況 1:具有多個物件的 RTBF

          Jane Doe 是 XYZ 銀行的客戶,過去 2 年她在該處擁有帳戶。最近,她決定想要根據一般資料保護規則 (GDPR) 執行其 RTBF。Jane 認為銀行保留其相關不必要的個人資料,並且想要將其從其記錄中刪除。

          Jane 將其 RTBF 要求提交至 XYZ 銀行,並指定她想要清除的個人資料,其中可能包含帳戶資訊、交易歷程記錄,以及銀行持有的任何其他個人資料。銀行會繼續識別並找到 Jane 的個人資料。

          RTBF 要求
          條件 篩選 篩選 篩選 篩選
          物件 帳戶 Transaction_c 個案 電子郵件
          欄位名稱 名稱 交易使用者 客戶名稱 開始
          Jane Doe Jane Doe Jane Doe Jane Doe

          RTBF 要求最多可包含 10 個個別物件。

          結果:

          「封存」會找到 1 個帳戶、2000 個交易、15 個個案作為根目錄,以及 30 封電子郵件。

          情況 2:RTBF 單一物件

          一家製藥公司發行試驗藥物 Eddy's Elixirs 來治療關節炎。然而,導致病患發生嚴重的不良反應。召回藥物後,該公司提交了 RTBF 要求,以移除與 Eddy 的 Elixirs 相關的所有公開記錄和數位內容。

          RTBF 要求
          條件 篩選
          物件 個案
          欄位名稱 藥物名稱
          Eddy 的 Elixir

          結果:

          「封存」會尋找 1,000 個個案作為根目錄,以及 1,000 個在根目錄下封存為子系記錄的病患記錄。它會將其全部移除。

          系統會在「歸檔主控台活動」索引標籤中建立一個「活動」,其中顯示 RTBF 圖示。

          情況 3:找到超過 10,000 筆 RTBF 根記錄

          名為 ConnectWorld 的熱門社交媒體平台一般使用者 Emily Jones 停用了她的帳戶,並要求根據資料保護法規執行其 RTBF。

          RTBF 要求
          物件 篩選 篩選 篩選
          物件 使用者帳戶 連絡人 個案
          欄位名稱 名稱 電話 相關識別碼
          Emily Jones 的帳戶識別碼 Emily 的電話號碼 Emily Jones 的帳戶識別碼

          結果:

          「封存」會尋找 20,000 個根個案記錄、300,000 個連絡人和 10,000 個個案作為根記錄,以及移除子系記錄時在根目錄下封存的 150,000 個連絡人。

          系統會在「歸檔主控台活動」索引標籤中建立一個「活動」,其中顯示 RTBF 圖示。

          getRTBFStatus 會傳回具有錯誤訊息「已處理要求」的狀態代碼 200。已達到的搜尋結果上限。限定搜尋或提交新要求以查看更多記錄」。

          封存只能處理每個 RTBF Apex 要求最多 10,000 個根記錄。若要解決此錯誤,請再次執行查詢,以取回剩餘的記錄。

          封存 Apex—在封存應用程式中匿名化 PII

          在已歸檔記錄中將個人可識別資訊 (PII) 匿名化,而無須刪除記錄本身。匿名化會以無法復原的預留位置取代敏感值,以協助您遵循隱私權法規,同時保留「封存」應用程式的記錄結構。

          匿名化又稱為遮罩,可協助您遵循隱私權要求,例如「被遺忘權」(RTBF)。此流程會對已歸檔記錄執行內嵌更新。不同於永久刪除資料的清除動作,匿名化會以一般文字取代特定的敏感值,例如 redacted@example.com。

          備註
          備註 只有透過封存 Apex 才能使用此功能。無法在 UI 中使用。

          匿名化運作方式

          系統會使用物件中繼資料來偵測 PII 欄位,例如「名稱」、「電子郵件」、「電話」和「地址」。當您提交要求時,系統會以無法復原的預留位置遮蔽原始 PII 值。非 PII 資料 (例如記錄識別碼和時間戳記) 保持不變且可搜尋。

          匿名化是全面的。當您將根記錄匿名化時,匿名化流程會自動串聯至相同已歸檔階層內的所有相關子系記錄。例如,匿名化「連絡人」記錄也會在該記錄的相關「工作」和「事件」中匿名化 PII。

          重要考量事項

          • 匿名化流程是永久的。匿名化後,您無法復原或檢視原始 PII 值。
          • 您只能將記錄匿名化一次。如果您提交匿名化記錄的重複要求,則系統會忽略該記錄。
          • 匿名化共用每個組織每天 10,000 個要求的標準「歸檔 RTBF」率限制。
          • 您無法手動選取要匿名化的欄位。系統會根據「復原」演算法自動識別 PII 欄位。
          • 您無法將合法持有的記錄匿名化。系統會自動排除目前在法律保留或保留鎖定的記錄。

          提交匿名化要求

          使用 SF_Archive.ArchiverAccessor Apex 類別定義您的目標條件並提交匿名化工作。

          請確保您符合下列需求。

          • 執行 Apex 程式碼的使用者具有存取 SF_Archive 命名空間的權限。
          • 存取開發人員主控台或 IDE 以執行「執行匿名 Apex」。
          1. 開啟「開發人員主控台」或您偏好的 Apex 執行工具。
          2. 開啟「執行匿名」視窗。
          3. 若要定義條件並提交要求,請執行此程式碼。此程式碼區塊會將「連絡人」記錄上的電子郵件地址欄位匿名化。
            // 1. Define the criteria for the records to anonymize.
            // Syntax: new Criteria('ObjectAPIName', 'FieldAPIName', 'ValueToMatch');
            List<SF_Archive.Criteria> criteriaList = new List<SF_Archive.Criteria>();
            
            // Example: Anonymize a specific Contact by Email
            criteriaList.add(new SF_Archive.Criteria(
              'Contact',
              'Email',
              'mickey.mouse@example.com'
            ));
            
            // 2. Submit the anonymization request.
            SF_Archive.ArchiverAccessorResponse response = SF_Archive.ArchiverAccessor.maskArchivedRecords(criteriaList);
            
            // 3. Process the response to get the request ID.
            Map<String, String> values = (Map<String, String>)JSON.deserialize(response.getBody(), Map<String, String>.class);
            String requestId = values.get('request_id');
            
            // Output the request ID for tracking.
            System.debug('Anonymization Job Submitted. Request ID: ' + requestId);

          確認匿名化狀態

          使用提交期間產生的要求識別碼,檢查匿名化工作的狀態,並產生稽核報告。

          匿名化是非同步程序。提交要求後,請使用傳回的要求識別碼追蹤其進度並驗證結果。

          1. 若要檢查匿名化工作狀態,請在「執行匿名」視窗中執行此程式碼。
            // Paste the Request ID found in the Debug Log from the anonymization request.
            // Example: String requestId = '0Qn5e000000abcD';
            String requestId = 'YOUR_REQUEST_ID_HERE';
            
            // Check the status.
            String statusResponse = SF_Archive.ArchiverAccessor.getMaskingStatus(requestId);
            
            System.debug('Anonymization Job Status: ' + statusResponse);
          2. 若要在匿名化工作完成後產生稽核報告,請在「執行匿名」視窗中執行此程式碼。
            String requestId = 'YOUR_REQUEST_ID_HERE';
            String report = SF_Archive.ArchiverAccessor.getMaskingReport(requestId);
            System.debug('Anonymization Audit Report: ' + report);

          匿名化結果

          檢閱匿名化程序完成後 PII 欄位的顯示方式。工作狀態為 HANDLED 時,系統會立即更新已歸檔的資料。

          • 使用原始 PII (例如電子郵件地址) 的搜尋不會傳回任何結果。
          • 使用非敏感識別碼 (例如記錄識別碼) 的搜尋會傳回匿名化記錄。
          • 當您透過「搜尋」、「匯出」或「取消封存」檢視記錄時,PII 欄位會顯示預留位置值。
          欄位 原始值 匿名化值
          名稱 Mickey 滑鼠 redacted_first_name
          電子郵件 mickey.mouse@example.com redacted@example.com
          電話 +1-415-555-1234 000-000-0000
          ContactId 003XX0000123AbC 003XX0000123AbC
           
          正在載入
          Salesforce Help | Article