CephCeph

ceph rgw:acl鉴权

2018-08-24  本文已影响0人  chnmagnus

rgw支持s3的acl机制,可以通过GetAcl PutAcl获取和设置Object和Bucket级别的acl,见https://docs.aws.amazon.com/AmazonS3/latest/dev/acl-overview.html

Bucket级别的acl信息是存储在Bucket Instance对象的attr中的;
Object级别的acl是存储在Object Header对象的attr中的。

Put ACL和Get ACL操作就是简单将acl信息存入上述位置或从上述位置读取返回ACL信息给用户。

某操作的acl的鉴权,很简单,在操作之前从Bucket或Object的attr中读取acl到内存对象,然后判断该操作是否能通过acl鉴权,通过后才能继续执行请求。其读取和鉴权流程如下。

在rgw的I/O路径一文中我有写过,rgw的请求入口是process_request函数的,然后调用rgw_process_authenticated函数进行各种鉴权、校验和请求执行操作。而acl的读取和鉴权也是在这里。

上一篇 下一篇

猜你喜欢

热点阅读