赛尔校园公共服务平台 Logo
平台使用
阿里云
百度云
移动云
智算服务
教育生态
登录 →
赛尔校园公共服务平台 Logo
平台使用 阿里云 百度云 移动云 智算服务 教育生态
登录
  1. 首页
  2. 阿里云
  3. 日志服务
  4. 操作指南
  5. 数据加工
  6. 数据加工(旧版)
  7. 最佳实践
  8. 数据脱敏

数据脱敏

  • 最佳实践
  • 发布于 2025-04-22
  • 0 次阅读
文档编辑
文档编辑

数据脱敏可以有效地减少敏感数据在加工、传输、使用等环节中的暴露,降低敏感数据泄露的风险,保护用户权益。本文介绍日志服务数据加工过程中常见的脱敏场景、对应的脱敏方法及示例。

背景信息

使用敏感数据包括手机号、银行卡号、邮箱、IP地址、AK、身份证号、网址、订单号、字符串等场景中,您需要为敏感数据进行脱敏操作。在日志服务数据加工服务中,常见的脱敏方法有正则表达式替换(关键函数regex_replace)、Base64转码(关键函数base64_encoding)、MD5编码(关键函数md5_encoding)、str_translate映射(关键函数str_translate)、GROK捕获(关键函数grok)等。更多信息,请参见正则表达式函数、GROK函数和编码解码函数。

场景1:手机号脱敏

  • 脱敏方法

    日志中包含不希望被暴露的手机号,可采用正则表达式,运用regex_replace函数脱敏。

  • 示例

    • 原始日志

      iphone: 13900001234
    • 加工规则

      e_set(
          "sec_iphone",
          regex_replace(v("iphone"), r"(\d{0,3})\d{4}(\d{4})", replace=r"\1****\2"),
      )
    • 加工结果

      iphone: 13900001234
      sec_iphone: 139****1234

场景2:银行卡信息脱敏

  • 脱敏方法

    日志中包含银行卡或者信用卡信息,可采用正则表达式,运用regex_replace函数脱敏。

  • 示例

    • 原始日志

      content: bank number is 491648411333978312 and credit card number is 4916484113339780
    • 加工规则

      e_set(
          "bank_number",
          regex_replace(
              v("content"), r"([1-9]{1})(\d{14}|\d{13}|\d{11})(\d{4})", replace=r"****\3"
          ),
      )
    • 加工结果

      content: bank number is 491648411333978312 and credit card number is 4916484113339780 
      bank_number: bank number is ****8312 and credit card number is ****9780

场景3:邮箱地址脱敏

  • 脱敏方法

    日志中包含邮箱信息,可采用正则表达式,运用regex_replace函数脱敏。

  • 示例

    • 原始日志

      content: email is username@example.com
    • 加工规则

      e_set(
          "email_encrypt",
          regex_replace(
              v("content"),
              r"[A-Za-z\d]+([-_.][A-Za-z\d]+)*(@([A-Za-z\d]+[-.])+[A-Za-z\d]{2,4})",
              replace=r"****\2",
          ),
      )                            
    • 处理后数据

      content: email is username@example.com
      email_encrypt: email is ****@example.com

场景4:AK脱敏

  • 脱敏方法

    日志中包含AccessKey信息,可采用正则表达式,应用regex_replace函数。

  • 示例

    • 原始日志

      content: ak id is <testAccessKey ID> and ak key is <testAccessKey Secret>
    • 加工规则

      e_set(
          "akid_encrypt",
          regex_replace(
              v("content"),
              r"([a-zA-Z0-9]{4})(([a-zA-Z0-9]{26})|([a-zA-Z0-9]{12}))",
              replace=r"\1****",
          ),
      )
    • 加工结果

      content: ak id is <testAccessKey ID> and ak key is <testAccessKey Secret>
      akid_encrypt: ak id is rDhc**** and ak key is XQr1****

场景5:IP地址脱敏

  • 脱敏方法

    日志中包含IP地址信息,可同时运用regex_replace函数和grok函数,对IP地址进行正则捕获后而脱敏。

  • 示例

    • 原始日志

      content: ip is 192.0.2.10
    • 加工规则

      e_set("ip_encrypt",regex_replace(v('content'), grok('(%{IP})'), replace=r"****"))
    • 加工结果

      content: ip is 192.0.2.10
      ip_encrypt: ip is ****

场景6:身份证脱敏

  • 脱敏方法

    日志中包含身份证信息,可同时运用regex_replace函数和grok函数,对身份证号进行正则捕获后而脱敏。

  • 示例

    • 原始日志

      content: Id card is 111222190002309999
    • 加工规则

      e_set(
          "id_encrypt", regex_replace(v("content"), grok("(%{CHINAID})"), replace=r"\1****")
      )
    • 加工结果

      content: Id card is 111222190002309999
      id_encrypt: Id card is 111222****

场景7:网址脱敏

  • 脱敏方法

    对日志内容中的网址做脱敏处理,并且将脱敏的数据转成明文格式,可运用Base64编码解码函数,对网址进行转码。

  • 示例

    • 原始日志

      url: https://www.aliyun.com/sls?logstore
    • 加工规则

      e_set("base64_url",base64_encoding(v("url")))
    • 加工结果

      url: https://www.aliyun.com/sls?logstore
      base64_url: aHR0cHM6Ly93d3cuYWxpeXVuLmNvbS9zbHM/bG9nc3RvcmU=
      说明

      如果想对base64_url进行解码,可以使用base64_decoding(v("base64_url"))DSL语法规则。

场景8:订单号脱敏

  • 脱敏方法

    对日志内容中的订单号做脱敏处理,同时不希望其他人能够解码,可运用MD5编码函数,对订单号进行编码。

  • 示例

    • 原始日志

      orderId: 20210101123456
    • 加工规则

      e_set("md5_orderId",md5_encoding(v("orderId")))
    • 加工结果

      orderId: 20210101123456
      md5_orderId: 9c0ab8e4d9f4eb6fbd5c508bbca05951

场景9:字符串脱敏

  • 脱敏方法

    您希望日志中的关键字符串不被暴露,可通过str_translate函数制定映射规则,对关键字符或字符串进行映射脱敏。

  • 示例

    • 原始日志

      data: message level is info_
    • 加工规则

      e_set("data_translate", str_translate(v("data"),"aeiou","12345"))
    • 加工结果

      data: message level is info
      data_translate: m2ss1g2 l2v2l 3s 3nf4
相关文章

调用函数清洗数据 2025-04-22 10:54

您可以通过日志服务数据加工函数清洗您所采集的海量日志数据,实现数据格式标准化。本文介绍调用函数清洗数据的常见场景和相关操作。 场景1:过滤日志(e_keep函数和e_drop函数)

事件判断 2025-04-22 10:54

通过事件判断可以更好地对符合特定条件的数据进行相应操作,让加工逻辑更可靠。本文主要介绍使用函数进行事件判断的常见场景和最佳方案示例。 场景1:判断字段是否存在

处理日期时间 2025-04-22 10:54

处理日期时间,将方便您对日志后续查询与可视化展示。本文档主要介绍使用函数进行日期时间数据类型转换和日期时间偏移。 概念解释

数据脱敏 2025-04-22 10:54

数据脱敏可以有效地减少敏感数据在加工、传输、使用等环节中的暴露,降低敏感数据泄露的风险,保护用户权益。本文介绍日志服务数据加工过程中常见的脱敏场景、对应的脱敏方法及示例。 背景信息

加工历史数据 2025-04-22 10:54

日志服务支持加工历史数据,本文介绍加工历史数据的操作步骤及相关问题。 前提条件

解析Syslog标准格式数据 2025-04-22 10:54

Syslog是一种行业标准的协议,可用来记录设备的日志。常见的应用场景是网络管理工具、安全管理系统、日志审计系统。本文档介绍如何使用SLS DSL中的GROK函数高效快捷地解析不同格式的Syslog日志。 概况

目录
Copyright © 2025 your company All Rights Reserved. Powered by 赛尔网络.
京ICP备14022346号-15
gongan beian 京公网安备11010802041014号