ebpf-cache-for-redis icon indicating copy to clipboard operation
ebpf-cache-for-redis copied to clipboard

支持多租户隔离与鉴权

Open Super-long opened this issue 3 years ago • 0 comments

鉴权

我们可以复用用户态AUTH的语意,然后把用户本身和五元组做一个绑定,在AUTH的时候做映射,在读请求来的时候拒绝没有AUTH的五元组,写请求直接pass到用户态就可以。

多租户隔离

多租户隔离对于数据库的实际的运行成本来说是非常重要的,可以说数据隔离的粒度决定相关产品技术栈的深度,经典的隔离粒度有database隔离,schema隔离,partition隔离,partition共享等。

我们希望做到在内核中可以做到多租户之间不可见(其实从隔离粒度来讲就是partition共享),但是首先需要标识用户这个概念,目前ebpf-cache-for-redis是没有连接这个概念的,只是在TC ingress/egress 中捕获语句而已。

我们可以结合鉴权,捕获AUTH命令(注意AUTH命令的两种格式)做一个五元组到用户的映射,并在每一个数据项上标识用户,在数据读操作时做判断(原因是读操作会直接在内核处理返回,写操作都是pass到用户态的),看数据是否属于该用户。

未实现。

Super-long avatar Apr 10 '22 03:04 Super-long