ebpf-cache-for-redis
ebpf-cache-for-redis copied to clipboard
支持多租户隔离与鉴权
鉴权
我们可以复用用户态AUTH的语意,然后把用户本身和五元组做一个绑定,在AUTH的时候做映射,在读请求来的时候拒绝没有AUTH的五元组,写请求直接pass到用户态就可以。
多租户隔离
多租户隔离对于数据库的实际的运行成本来说是非常重要的,可以说数据隔离的粒度决定相关产品技术栈的深度,经典的隔离粒度有database隔离,schema隔离,partition隔离,partition共享等。
我们希望做到在内核中可以做到多租户之间不可见(其实从隔离粒度来讲就是partition共享),但是首先需要标识用户这个概念,目前ebpf-cache-for-redis是没有连接这个概念的,只是在TC ingress/egress 中捕获语句而已。
我们可以结合鉴权,捕获AUTH命令(注意AUTH命令的两种格式)做一个五元组到用户的映射,并在每一个数据项上标识用户,在数据读操作时做判断(原因是读操作会直接在内核处理返回,写操作都是pass到用户态的),看数据是否属于该用户。
未实现。