本文主要介绍日志服务数据防篡改原理。
SLS使用Append Only的模式存储数据,以防止数据被篡改。 具体原理流程如下:
用户通过SDK或者Logtail将数据发送至SLS 网关
SLS网关收到数据,进行签名校验、 权限认证通过后, 将数据发送至后端worker
SLS 后端worker将数据以AppendOnly的方式,写入到阿里云分布式文件系统(盘古)做持久化, 有如下特征:
每个Logstore的文件相关独立, 相互不干扰。
原始数据写入后不再修改,直到TTL过期后被删除。
使用的分布式文件系统Append Only类型文件, 不支持文件修改。
可以对Logstore开启加密功能, 数据可以以密文形式写入分布式文件系统。
数据写入是多副本,并有CRC校验,无法绕过文件系统对数据进行直接操作 。
数据持久化成功后,worker返回给SLS网关,再返回给用户。