成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

Sentry 企業級數據安全解決方案-Relay PII 和數據清理

開發 前端
本文檔描述了一種我們希望最終對用戶隱藏的配置格式。該頁面仍然存在的唯一原因是當前 Relay 接受這種格式以替代常規數據清理設置。

本文檔描述了一種我們希望最終對用戶隱藏的配置格式。該頁面仍然存在的唯一原因是當前 Relay 接受這種格式以替代常規數據清理設置。

以下文檔探討了 Relay 使用和執行的高級數據清理配置的語法和語義。有時,這也稱為 PII 清理。

一個基本的例子

假設您有一條異常消息,不幸的是,其中包含不應該存在的 IP 地址。你會寫:

  1.   "applications": { 
  2.     "$string": ["@ip:replace"
  3.   } 

它讀作 “替換所有字符串中的所有 IP 地址”,或 "將 @ip:replace 應用于所有 $string 字段"。

@ip:replace 稱為規則,$string 稱為選擇器。

  • https://develop.sentry.dev/pii/selectors/

內置規則

默認存在以下規則:

  • @ip:replace 和 @ip:hash 用于替換 IP 地址。
  • @imei:replace 和 @imei:hash 用于替換 IMEI。
  • @mac:replace、@mac:mask 和 @mac:hash 用于匹配 MAC 地址。
  • @email:mask、@email:replace 和 @email:hash 用于匹配 email 地址。
  • @creditcard:mask、@creditcard:replace 和 @creditcard:hash 用于匹配信用卡號碼。
  • @userpath:replace 和 @userpath:hash 用于匹配本地路徑(例如 C:/Users/foo/)。
  • @password:remove 用于刪除密碼。在這種情況下,我們對字段的 key 進行 pattern 匹配,無論它是否包含 password、credentials 或類似的字符串。
  • @anything:remove、@anything:replace 和 @anything:hash 用于刪除、替換或 hash 任何值。它本質上等同于通配符正則表達式,但它也比字符串匹配得多。

編寫自己的規則

規則一般由兩部分組成:

  • 規則類型 描述要匹配的內容。有關詳盡列表,請參閱PII 規則類型。
    • https://develop.sentry.dev/pii/types/
  • 規則編輯方法 描述了如何處理匹配。有關列表,請參閱PII 編輯方法。
    • https://develop.sentry.dev/pii/methods/

每個頁面都帶有示例。通過將這些示例粘貼到 Piinguin 的 “PII 配置” 列并單擊字段以獲取建議來嘗試這些示例。

  • https://getsentry.github.io/piinguin/

交互式編輯

解決此問題的最簡單方法是,如果您已經擁有來自某個 SDK 的原始 JSON payload。轉到我們的 PII 配置編輯器 Piinguin,然后:

  • 粘貼到原始事件中
  • 點擊你想要消除的數據
  • 粘貼其他有效負載并查看它們是否正常,如有必要,請轉到步驟 2。

在對配置進行迭代后,將其粘貼回位于 .relay/projects/ .json 的項目配置中

例如:

  1.   "publicKeys": [ 
  2.     { 
  3.       "publicKey""___PUBLIC_KEY___"
  4.       "isEnabled"true 
  5.     } 
  6.   ], 
  7.   "config": { 
  8.     "allowedDomains": ["*"], 
  9.     "piiConfig": { 
  10.       "rules": { 
  11.         "device_id": { 
  12.           "type""pattern"
  13.           "pattern""d/[a-f0-9]{12}"
  14.           "redaction": { 
  15.             "method""hash" 
  16.           } 
  17.         } 
  18.       }, 
  19.       "applications": { 
  20.         "freeform": ["device_id"
  21.       } 
  22.     } 
  23.   } 

PII 規則類型

pattern

  1.   "rules": { 
  2.     "hash_device_id": { 
  3.       "type""pattern"
  4.       "pattern""d/[a-f0-9]{12}"
  5.       "redaction": { 
  6.         "method""hash" 
  7.       } 
  8.     } 
  9.   }, 
  10.   "applications": { 
  11.     "$string": ["hash_device_id"
  12.   } 

imei

: 匹配 IMEI 或 IMEISV。

  1.   "rules": { 
  2.     "hash_imei": { 
  3.       "type""imei"
  4.       "redaction": { 
  5.         "method""hash" 
  6.       } 
  7.     } 
  8.   }, 
  9.   "applications": { 
  10.     "$string": ["hash_imei"
  11.   } 

mac

: 匹配一個 MAC 地址。

  1.   "rules": { 
  2.     "hash_mac": { 
  3.       "type""mac"
  4.       "redaction": { 
  5.         "method""hash" 
  6.       } 
  7.     } 
  8.   }, 
  9.   "applications": { 
  10.     "$string": ["hash_mac"
  11.   } 

:ip

匹配任何 IP 地址。

  1.   "rules": { 
  2.     "hash_ip": { 
  3.       "type""ip"
  4.       "redaction": { 
  5.         "method""hash" 
  6.       } 
  7.     } 
  8.   }, 
  9.   "applications": { 
  10.     "$string": ["hash_ip"
  11.   } 

creditcard

: 匹配信用卡號。

  1.   "rules": { 
  2.     "hash_cc": { 
  3.       "type""creditcard"
  4.       "redaction": { 
  5.         "method""hash" 
  6.       } 
  7.     } 
  8.   }, 
  9.   "applications": { 
  10.     "$string": ["hash_cc"
  11.   } 

userpath

: 匹配本地路徑(例如C:/Users/foo/)。

  1.   "rules": { 
  2.     "hash_userpath": { 
  3.       "type""userpath"
  4.       "redaction": { 
  5.         "method""hash" 
  6.       } 
  7.     } 
  8.   }, 
  9.   "applications": { 
  10.     "$string": ["hash_userpath"
  11.   } 

anything

: 匹配任何值。這基本上等同于通配符正則表達式。

例如,要刪除所有字符串:

  1.   "rules": { 
  2.     "remove_everything": { 
  3.       "type""anything"
  4.       "redaction": { 
  5.         "method""remove" 
  6.       } 
  7.     } 
  8.   }, 
  9.   "applications": { 
  10.     "$string": ["remove_everything"
  11.   } 

multiple

: 將多個規則合二為一。這是一個析取 (OR):有問題的字段必須只匹配一個規則來匹配組合規則,而不是全部。

  1.   "rules": { 
  2.     "remove_ips_and_macs": { 
  3.       "type""multiple"
  4.       "rules": [ 
  5.         "@ip"
  6.         "@mac" 
  7.       ], 
  8.       "hide_rule"false,  // Hide the inner rules when showing which rules have been applied. Defaults to false
  9.       "redaction": { 
  10.         "method""remove" 
  11.       } 
  12.     } 
  13.   }, 
  14.   "applications": { 
  15.     "$string": ["remove_ips_and_macs"
  16.   } 

alias

: 別名一個規則到另一個。這與 multiple 相同,只是您只能包裝一個規則。

  1.   "rules": { 
  2.     "remove_ips": { 
  3.       "type""multiple"
  4.       "rule""@ip"
  5.       "hide_rule"false,  // Hide the inner rule when showing which rules have been applied. Defaults to false
  6.       "redaction": { 
  7.         "method""remove" 
  8.       } 
  9.     } 
  10.   }, 
  11.   "applications": { 
  12.     "$string": ["remove_ips"
  13.   } 

PII 編輯方法

remove

: 刪除整個字段。Relay 可以選擇將其設置為 null 或完全刪除它。

  1.   "rules": { 
  2.     "remove_ip": { 
  3.       "type""ip"
  4.       "redaction": { 
  5.         "method""remove" 
  6.       } 
  7.     } 
  8.   }, 
  9.   "applications": { 
  10.     "$string": ["remove_ip"
  11.   } 

replace

 

: 用 static string 替換 key。

  1.   "rules": { 
  2.     "replace_ip": { 
  3.       "type""ip"
  4.       "redaction": { 
  5.         "method""replace"
  6.         "text": [censored]" 
  7.       } 
  8.     } 
  9.   }, 
  10.   "applications": { 
  11.     "$string": ["replace_ip"
  12.   } 

mask

: 用 "masking(掩碼)" 字符 * 替換匹配字符串的每個字符。與 replace 相比,它保留了原始字符串的長度。

  1.   "rules": { 
  2.     "mask_ip": { 
  3.       "type""ip"
  4.       "redaction": { 
  5.         "method""mask" 
  6.       } 
  7.     } 
  8.   }, 
  9.   "applications": { 
  10.     "$string": ["mask_ip"
  11.   } 

hash

: 用它自己的 hash 版本替換字符串。相等的字符串將產生相同的 hash 值,因此,例如,如果您決定對用戶 ID 進行散列處理而不是替換或刪除它,您仍將獲得受影響用戶的準確計數。

  1.   "rules": { 
  2.     "hash_ip": { 
  3.       "type""ip"
  4.       "redaction": { 
  5.         "method""hash" 
  6.       } 
  7.     } 
  8.   } 
  9.   "applications": { 
  10.     "$string": ["mask_ip"
  11.   } 

PII 選擇器

選擇器允許您將規則限制在事件的某些部分。這對于按變量/字段名稱從事件中無條件刪除某些數據很有用,但也可用于對真實數據進行保守的測試規則。

數據清理始終適用于原始事件負載。請記住,UI 中的某些字段在 JSON schema 中的調用方式可能不同。在查看事件時,應該始終存在一個名為 "JSON" 的鏈接,可讓您查看數據清理器看到的內容。

例如,在 UI 中稱為 "Additional Data" 的內容在事件負載中稱為 extra。要刪除名為 foo 的特定 key,您可以編寫:

  1. [Remove] [Anything] from [extra.foo] 

另一個例子。Sentry 知道兩種錯誤消息:異常消息和頂級日志消息。以下是由 SDK 發送的此類事件負載(可從 UI 下載)的示例:

  1.   "logentry": { 
  2.     "formatted""Failed to roll out the dinglebop" 
  3.   }, 
  4.   "exceptions": { 
  5.     "values": [ 
  6.       { 
  7.         "type""ZeroDivisionError"
  8.         "value""integer division or modulo by zero" 
  9.       } 
  10.     ] 
  11.   } 

由于 "error message" 取自 exception 的 value, 而 "message" 取自 logentry,因此我們必須編寫以下內容以將兩者從事件中刪除:

  1. [Remove] [Anything] from [exception.value] 
  2. [Remove] [Anything] from [logentry.formatted] 

布爾邏輯

您可以使用布爾邏輯組合選擇器。

  • 以 ! 為前綴來反轉選擇器。foo 匹配 JSON key foo,而 !foo 匹配除 foo 之外的所有內容。
  • 使用 && 構建連詞 (AND),例如:foo && !extra.foo 以匹配 key foo,除非在 extra 內部。
  • 使用 || 構建析取 (OR),例如:foo || bar 匹配 foo 或 bar。

通配符

  • ** 匹配所有子路徑,因此 foo.** 匹配 foo 中的所有 JSON 鍵。
  • * 匹配單個路徑項,因此 foo.* 匹配比 foo 低一級的所有 JSON 鍵。

值類型

使用以下內容按 JSON-type 選擇子節:

  • $string 匹配任何字符串值
  • $number 匹配任何整數或浮點值
  • $datetime 匹配事件中代表時間戳的任何字段
  • $array 匹配任何 JSON 數組值
  • $object 匹配任何 JSON 對象

使用以下方法選擇 schema 的已知部分:

  • $exception 匹配 {"exception": {"values": [...]}} 中的單個異常實例
  • $stacktrace 匹配一個堆棧跟蹤實例
  • $frame 匹配一個幀
  • $request 匹配事件的 HTTP 請求上下文
  • $user 匹配事件的用戶上下文
  • $logentry(也適用于 message 屬性)
  • $thread 匹配 {"threads": {"values": [...]}} 中的單個線程實例
  • $breadcrumb 匹配 {"breadcrumbs": [...]} 中的單個面包屑
  • $span 匹配一個 trace span
  • https://docs.sentry.io/product/sentry-basics/tracing/distributed-tracing/
  • $sdk 匹配 {"sdk": ...} 中的 SDK 上下文

示例

  • 刪除 event.user:
  1. [Remove] [Anything] from [$user
  • 刪除所有幀局部變量:
  1. [Remove] [Anything] from [$frame.vars] 

轉義特殊字符

如果要匹配的對象 key 包含空格或特殊字符,可以使用引號將其轉義:

  1. [Remove] [Anything] from [extra.'my special value'

這與 附加數據 中的 key my special value 相匹配。

要在引號內轉義 '(單引號),請將其替換為 ''(兩個引號):

  1. [Remove] [Anything] from [extra.'my special '' value'

 

這與 附加數據 中的key my special ' value 值相匹配。

 

責任編輯:武曉燕 來源: 黑客下午茶
相關推薦

2022-01-04 20:34:00

數據安全Relay

2022-01-05 20:16:52

Sentry Relay 數據安全

2022-01-08 15:08:17

項目配置Sentry

2022-01-09 21:46:22

安全數據Sentry

2022-01-06 20:00:39

數據企業安全

2022-01-07 18:07:16

數據安全監控

2009-03-19 09:49:00

華為數據備份賽門鐵克

2025-03-10 00:13:00

數據庫脫敏日志脫敏出脫敏

2009-04-27 17:12:11

數據保護EDPSafeNet

2012-09-22 15:13:31

2021-04-22 07:21:55

Hive數據傾斜

2011-10-14 10:50:02

2013-03-01 16:45:27

2015-06-24 16:38:24

2012-03-05 12:33:18

2009-04-22 08:44:36

2009-07-17 09:17:41

IT運維SiteView游龍科技

2012-12-18 17:11:58

2023-01-31 11:42:36

點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 亚洲乱码一区二区三区在线观看 | 91亚洲精品在线观看 | 亚洲精品免费视频 | 成人国产精品免费观看 | 日本久久久久久久久 | 在线观看av网站 | 国产精品国产三级国产aⅴ浪潮 | 欧美日韩一区二区在线观看 | av一区在线 | 亚州中文字幕 | 亚洲一区二区 | 久久综合色综合 | 久久精品国产一区二区电影 | 在线精品国产 | 久久久夜色精品亚洲 | 国产一二区视频 | 中文字幕一区在线 | 精品久久久999 | 日韩免费看片 | av中文字幕在线 | 国产精品99久久久久久久vr | 视频在线观看一区 | 瑞克和莫蒂第五季在线观看 | 一区二区三区亚洲 | 欧美高清免费 | 免费精品在线视频 | 午夜精品久久久久久久星辰影院 | 亚洲国产精品视频一区 | 亚洲精品一区二区二区 | 中文字幕在线一区 | 欧美v免费| 欧美日韩三区 | 日韩理论电影在线观看 | 男女羞羞视频免费 | 老熟女毛片| 日韩在线观看中文字幕 | 日韩一区二区三区视频在线播放 | 国产亚洲精品91 | 日本精品在线播放 | 色综合一区 | 一级黄色片在线免费观看 |