題幹與適用場景
兩家公司希望聯合計算重疊使用者、轉化率或歸因指標,卻不能把電子郵件、裝置識別碼或明細事件複製給對方。面試重點是把「資料不出域」落實為執行層約束,而不只是共享協議;還要處理小群體洩露、重複查詢、撤銷同意和跨雲部署。
面試官考察什麼
系統設計面試通常要求候選人先釐清範圍,再深入最難的模型、權限與失敗模式。資料工程面試指南也把系統設計、治理與隱私列為獨立評價面。AWS Clean Rooms 文件強調最小權限、加密和 CloudTrail;Salesforce 架構說明把零複製、身分對齊、最小聚合門檻和不可竄改稽核放在執行邊界。強回答會解釋每條策略由哪個元件強制,以及攻擊者如何被阻擋。
回答前需要釐清的問題
先確認參與方數量、資料是否留在各自雲端帳戶、允許的分析類型與輸出粒度;結果接收者能否看到精確計數;是否需要差分隱私;身分匹配使用雙方提供的 token 還是可信映射服務;同意撤銷要多久生效;區域駐留、金鑰歸屬和稽核保留期是什麼。若只是兩方一次性聚合,可以縮小為受控批次;若要開放 SQL,就必須把查詢語言和隱私預算納入威脅模型。
30 秒回答框架
可以這樣開場:「我把潔淨室分成控制平面、資料連接器、策略編譯器、隔離執行引擎和結果發布器。參與方只註冊中繼資料與允許用途,原始表留在各自儲存;引擎在資料所在邊界執行受限查詢,身分匹配在隔離服務內完成。發布前強制最小聚合門檻、差分隱私預算和結果掃描,所有查詢、策略版本和金鑰操作寫入不可竄改稽核。撤銷授權會阻止新任務並使快取結果失效,執行任務按租戶、區域和金鑰隔離。」
分步驟深入解答
第一步:把協作協議變成策略物件
控制平面保存參與方、資料集、用途、允許的 join 鍵、輸出欄、區域、過期時間和同意版本。策略必須版本化並簽名,提交任務時鎖定版本;不能讓查詢者在執行中修改規則。租戶、角色和服務身分分離,發起者只能看到自己獲授權的中繼資料。
第二步:讓原始資料留在執行邊界
連接器讀取本地表或零複製檢視,只向控制平面回報 schema、統計摘要和資料位置。執行計畫在策略編譯器中降級為允許的 join、篩選和聚合;禁止任意匯出、使用者級排序、自由函式和把原始欄位寫入日誌。跨雲場景使用各自的服務角色與客戶管理金鑰,傳輸全程 TLS,金鑰權限限定到具體協作和中間表。
第三步:安全地完成身分匹配
不要在控制平面儲存原始電子郵件或裝置識別碼。雙方依約定的正規化規則產生 token,或由隔離的映射服務完成匹配並只回傳不可逆的 join 結果。記錄正規化版本、來源和碰撞處理;規則變更時建立新版本,避免同一 token 在不同語義下被錯誤重用。匹配結果只能由執行引擎消費,不能讓參與方下載。
第四步:在執行時套用隱私策略
執行器在回傳前檢查最小群體門檻、欄級允許範圍、查詢次數和隱私預算。差分隱私會向聚合結果加入校準雜訊,並追蹤每次查詢消耗的預算;預算耗盡後阻擋後續查詢。即使開啟差分隱私,也要限制可重複的細分、差集和交叉查詢,否則攻擊者仍能透過組合結果縮小群體。
第五步:發布結果與稽核證據
結果發布器只輸出核准的聚合 schema、品質標記和隱私保護狀態,禁止回傳中間表、原始 token 或失敗列。每次查詢記錄請求者、策略版本、資料集版本、SQL 摘要、預算消耗、結果接收者和金鑰操作;稽核日誌寫入參與方不能刪除的儲存。結果快取必須綁定策略、同意和資料版本,撤銷任一項就失效。
第六步:撤銷、失敗與跨區域復原
撤銷授權先阻止排隊任務,再讓執行器在檢查點重新驗證策略;已發布結果依合約標記為受影響並停止再分發。任務失敗時只重跑具冪等性的分區,不能繞過策略直接讀取暫存表。跨區域部署按資料駐留選擇執行位置,每區域使用獨立金鑰和日誌;控制平面故障時寧可暫停新查詢,也不使用過期策略繼續執行。
高品質示範回答
「我會先建立版本化協作策略,明確用途、可用資料集、join 鍵、輸出欄、區域和過期時間。原始表留在參與方的儲存中,連接器只提供受控檢視和 schema;策略編譯器把請求限制為核准的 join、篩選和聚合,執行引擎在資料邊界內執行。身分匹配在隔離服務中將雙方正規化識別碼轉換成 token,匹配結果不能下載。結果發布前強制最小群體門檻、差分隱私預算和組合查詢檢查,預算耗盡就拒絕。每次操作記錄策略版本、資料版本、請求者、預算、金鑰呼叫和結果接收者,日誌不可竄改。撤銷會阻止新任務、使快取失效並在檢查點重新驗證;區域和金鑰隔離讓故障轉移不越過駐留邊界。」
常見錯誤與改進
- 只靠合約承諾資料不外洩: 在執行器和結果發布器拒絕原始欄位、使用者級結果與未授權函式。
- 把雜湊當成自動匿名化: 正規化、鹽值、金鑰和關聯攻擊都要納入威脅模型;優先使用隔離 token 服務。
- 只設定一次最小群體門檻: 同時限制重複、差集和交叉查詢,並記錄隱私預算。
- 撤銷只改控制台狀態: 排隊、執行、快取和分發各階段都重新檢查策略版本與同意版本。
追問及應對
查詢者不斷改變篩選條件,如何防止差分推斷?
把每個資料集和協作綁定隱私預算,並按查詢消耗預算;同時限制細分維度、結果頻率和相鄰查詢的差集。預算或風險門檻達到上限就拒絕,而不是繼續回傳更少的結果。
兩個參與方使用不同電子郵件正規化規則怎麼辦?
在策略中固定正規化版本,由雙方在隔離匹配服務內轉換並記錄版本。版本不一致時任務失敗並要求重新映射,不能靜默使用可能產生漏匹配或錯誤匹配的 token。
某區域的金鑰服務不可用時能否把任務轉到另一區域?
只有資料駐留和金鑰策略明確允許時才能轉移;否則暫停任務並保留檢查點。跨區域複製應只複製加密的控制中繼資料和稽核記錄,不能複製受限原始資料或可解密中間表。
如何驗證潔淨室真的沒有洩露原始資料?
用策略負向測試嘗試選擇原始欄位、使用者級排序、低於門檻分組、重複差集和日誌注入;審查執行計畫與結果 schema,模擬撤銷和金鑰失效,並核對稽核事件與實際呼叫一致。