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

数据脱敏

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

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

背景信息

常见脱敏场景包括手机号、银行卡号、邮箱、IP、AK、身份证号、网址、字符串等敏感信息脱敏。在SLS数据加工服务中,常见的脱敏方法是正则表达式函数regex_replace。

场景1:手机号脱敏

  • 脱敏方法

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

  • 子场景1:展示手机号的前三位和后四位,中间隐藏。

    • 原始日志

      message:{"data":{"receivePhoneNo":"yourPhoneNo"}}
    • SPL编排规则

      * | extend message1 = regexp_replace(message, 'receivePhoneNo":\s*"([\+86]*1[3-9]{1}\d{1})\d{4}(\d{4,11})','receivePhoneNo":"\1****\2"')
    • 加工结果

      message1:{"data":{"receivePhoneNo":"138****5678""}}
  • 子场景2:港澳地区展示手机号的前两位和后两位,中间隐藏。

    • 原始日志

      message:{"data":{"receivePhoneNo":"yourPhoneNo"}}
    • SPL编排规则

      * | extend message1 = regexp_replace(message, 'receivePhoneNo":\s*"(5|6|7|8|9)(\d{1})(\d{4})(\d{2})\"','receivePhoneNo":"\1\2****\4"')
    • 加工结果

      message1:{"data":{"receivePhoneNo":"59****19"}}
  • 子场景3:台湾地区展示手机号的前两位和后两位,中间隐藏。

    • 原始日志

      message:{"data":{"receivePhoneNo":"yourPhoneNo"}}
    • SPL编排规则

      * | extend message1 = regexp_replace(message, 'receivePhoneNo":\s*"(0[2-9])(\d{5,6})(\d{2})\"','receivePhoneNo":"\1******\3"')
    • 加工结果

      message1:{"data":{"receivePhoneNo":"02******98"}}

场景2:银行卡信息脱敏

  • 脱敏方法

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

  • 示例

    • 原始日志

      content: bank number is yourBankNo and credit card number is yourCreditCardNo
    • SPL编排规则

      * | extend bank_number=regexp_replace(content, '([1-9]{1})(\d{11}|\d{13}|\d{14})(\d{4})', '****\3')
    • 加工结果

      bank_number: bank number is ****978312 and credit card number is ***9780

场景3:邮箱地址脱敏

  • 脱敏方法

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

  • 子场景1:隐藏邮箱前缀。

    • 原始日志

      content: email is user@example.com
    • SPL规则编排

      * | extend email_encrypt=regexp_replace(content, '[A-Za-z\d]+([-_.][A-Za-z\d]+)*(@([A-Za-z\d]+[-.])+[A-Za-z\d]{2,4})', '****\2')
    • 处理后数据

      email_encrypt: email is ****@example.com
  • 子场景2:@前小于三个字符,后缀固定的邮箱脱敏。

    • 原始日志

      message:{"data":{"email":"tt@example.com","icon":"ee@2.png"}}
    • SPL规则编排

      * | extend message1 = regexp_replace(message,'":\s*"([A-Za-z0-9._%+-]{1,2})(@\w+\.)(com|net|org)\"','":"\1**\2\3"')
    • 处理后数据

      message1:{"data":{"email":"tt**@example.com","icon":"ee@2.png"}}
  • 子场景3:@前大于三个字符的邮箱脱敏。

    • 原始日志

      message:{"data":{"email":"user@example.com","icon":"esdse@2.png"}}
    • SPL规则编排

      * | extend message1 = regexp_replace(message, 'email":\s*"([A-Za-z0-9._%+-]{3})([A-Za-z0-9._%+-]*)(@)(\w+\.\w+)"','email":"\1**\3\4"')
    • 处理后数据

      message1:{"data":{"email":"use**@example.com","icon":"esdse@2.png"}}

场景4:AK脱敏

  • 脱敏方法

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

  • 示例

    • 原始日志

      content: ak id is yourAccessKeyID and ak key is yourAccessKeySecret
    • SPL编排规则

      * | extend akid_encrypt=regexp_replace(content, '([a-zA-Z0-9]{4})(([a-zA-Z0-9]{26})|([a-zA-Z0-9]{12}))', '\1****')
    • 加工结果

      akid_encrypt: ak id is LTAI**** and ak key is XQr1****

场景5:IP地址脱敏

  • 脱敏方法

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

  • 示例

    • 原始日志

      content: ip is 192.168.1.1
    • SPL编排规则

      * | extend ip_encrypt=regexp_replace(content, '(\w+\s+\w+\s+)\d{1,3}.\d{1,3}.\d{1,3}.\d{1,3}', '\1****')
    • 加工结果

      ip_encrypt: ip is ****

场景6:身份证脱敏

  • 脱敏方法

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

  • 子场景1:展示身份证前六位,后面隐藏。

    • 原始日志

      content: Id card is yourIdCardNo
    • SPL编排规则

      * | extend id_encrypt=regexp_replace(content, '([\d]{4})[\d]{11}([\d]{2}[\d|Xx])', '\1****')
    • 加工结果

      id_encrypt: Id card is 110105****
  • 子场景2:展示身份证前四位和后三位,中间隐藏。

    • 原始日志

      message:{"data":{"cardNumber":"yourIdCardNo","cardNumber":"yourPassportNo","receivePhoneNo":"yourPhoneNo"}}
    • SPL编排规则

      * | extend message1 = regexp_replace(message, 'cardNumber":\s*"([\d]{4})[\d]{11}([\d]{2}[\d|Xx])\"','cardNumber":"\1****\2"')
    • 加工结果

      message1:{"data":{"cardNumber":"4101****234","cardNumber":"yourPassportNo","receivePhoneNo":"yourPhoneNo"}}
  • 子场景3:展示护照首字母和最后三位数字,中间隐藏。

    • 原始日志

      message:{"data":{"cardNumber":"yourIdCardNo","cardNumber":"yourPassportNo","receivePhoneNo":"yourPhoneNo"}}
    • SPL编排规则

      * | extend message1 = regexp_replace(message, 'cardNumber":\s*"([G|E|H|M|P|B|D])\d{6}(\d{3})\"','cardNumber":"\1****\2"')
    • 加工结果

      message1:{"data":{"cardNumber":"yourIdCardNo","cardNumber":"E****451","receivePhoneNo":"yourPhoneNo"}}
  • 子场景4:展示港澳通行证第五位至第八位,前面隐藏。

    • 原始日志

      message:{"data":{"cardNumber":"yourCardNo","cardNumber":"yourPassportNo","receivePhoneNo":"yourPhoneNo"}}
    • SPL编排规则

      * | extend message1 = regexp_replace(message, 'cardNumber":\s*"([\d]{4})([\d]{4})\"','cardNumber":"****\2"')
    • 加工结果

      message1:{"data":{"cardNumber":"****0902","cardNumber":"yourPassportNo","receivePhoneNo":"yourPhoneNo"}}
  • 子场景5:仅展示前两位和后两位,中间隐藏。

    • 原始日志

      message:{"data":{"cardNumber":"yourCardNo","cardNumber":"yourPassportNo","receivePhoneNo":"yourPhoneNo"}}
    • SPL编排规则

      * | extend message1 = regexp_replace(message, 'cardNumber":\s*"([A-Z])(\d{1})([\d]{6})([\d]{2})\"','cardNumber":"\1\2******\4"')
    • 加工结果

      message1:{"data":{"cardNumber":"yourCardNo","cardNumber":"E1******51","receivePhoneNo":"yourPhoneNo"}}

场景7:网址脱敏

  • 脱敏方法

    对日志内容中的网址做脱敏处理,可运用url_encode编码函数,对网址进行转码。

  • 示例

    • 原始日志

      url: https://www.aliyun.com/sls?logstore
    • SPL编排规则

      * | extend encode_url=url_encode(url)
    • 加工结果

      encode_url: https%3A%2F%2Fwww.aliyun.com%2Fsls%3Flogstore

场景8:订单号脱敏

  • 脱敏方法

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

  • 示例

    • 原始日志

      orderId: 15121412314
    • 加工规则

      * | extend md5_orderId=to_hex(md5(to_utf8(orderId)))
    • 加工结果

      md5_orderId: 852751F9AA48303A5691B0D020E52A0A

场景9:姓名脱敏

  • 脱敏方法

    日志中包含姓名,可采用正则表达式,应用regex_replace函数。

  • 子场景1:三字姓名隐藏在中间。

    • 原始日志

      message:{"data":{"name":"卫小明"}}
    • SPL编排规则

      * | extend message1 = regexp_replace(message, 'name":\s*"([\x{4e00}-\x{9fa5}])([\x{4e00}-\x{9fa5}])([\x{4e00}-\x{9fa5}])\"','name":"\1*\3"')
    • 加工结果

      message1:{"data":{"name":"卫*明"}}
  • 子场景2:二字姓名仅展示末尾。

    • 原始日志

      message:{"data":{"name":"卫明"}}
    • SPL编排规则

      * | extend message1 = regexp_replace(message, 'name":\s*"[\x{4e00}-\x{9fa5}]([\x{4e00}-\x{9fa5}])\"','name":"*\1"')
    • 加工结果

      message1:{"data":{"name":"*明"}}
  • 子场景3:英文名字仅展示首字母。

    • 原始日志

      message:{"data":{"name":"Sam Alice"}}
    • SPL编排规则

      * | extend message1 = regexp_replace(message, 'name":\s*"([a-zA-Z])[a-zA-Z]+\s+([a-zA-Z])[a-zA-Z]+','name":"\1**** \2****"')
    • 加工结果

      message1:{"data":{"name":"S**** A****""}}

场景10:家庭地址脱敏

  • 脱敏方法

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

  • 示例

    • 原始日志

      message:{"data":{"address":"上海市徐汇区漕河泾开发区文景路90号"}}
    • SPL编排规则

      * | extend message1 = regexp_replace(message, 'address":\s*"(.*(省|市|自治区|特别行政区|地区|县|区|市辖区))?(.*(区))(.*)\"','address":"\1\3**"')
    • 加工结果

      message1:{"data":{"address":"上海市徐汇区**"}}
相关文章

数据过滤与清洗 2025-04-22 10:55

您可以通过SPL指令和SQL函数过滤与清洗您所采集的海量日志数据,实现数据格式标准化。本文介绍过滤与清洗数据的常见场景和相关操作。 场景1:过滤日志(where指令) 您可以使用where指令过滤日志。常用规则如下所示:

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

处理日期时间,将方便您对日志后续查询与可视化展示。本文向您介绍使用转换函数进行日期时间数据类型转换。 概念解释 SLS SPL语法中的日期时间处理主要涉及三种数据类型:日期

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

数据脱敏可以有效地减少敏感数据在加工、传输、使用等环节中的暴露,降低敏感数据泄露的风险,保护用户权益。本文介绍日志服务数据加工(新版)过程中常见的脱敏场景、对应的脱敏方法及示例。 背景信息 常见脱敏场景包括手机号、银行卡号、邮箱、IP、AK、身份证号、网址、字符串等

解析CSV格式日志 2025-04-22 10:55

本文档介绍正常形式的CVS格式日志和非正常形式的CVS格式日志如何解析。 正常形式的CSV格式日志

使用SPL的正则表达式解析Nginx日志 2025-04-22 10:55

Nginx访问日志记录了用户访问的详细信息,解析Nginx访问日志对业务运维具有重要意义。本文介绍如何使用正则表达式函数解析Nginx访问日志。 日志服务支持通过SPL的正则表达式解析Nginx日志。现以一条Nginx成功访问日志为例,介绍如何使用正则表达式解析Nginx成功访问日志。

解析Java报错日志 2025-04-22 10:55

在大数据、高并发场景下的Java应用中,分析Java报错日志并提供运维指导,可降低运营维护成本。日志服务支持采集各云产品的Java报错日志,本文介绍使用新版数据加工解析Java报错日志。 前提条件 已采集各SLS、OSS、SLB、RDS的Java错误日志到cloud_product_error_lo

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