需求: 云平台面板上需要支持为不同的用户创建不同的RGW 的AK/SK用户秘钥,以完成对象存储的用户隔离,并可以管理bucket和查看bucket容量信息。

分析:查阅CEPH官网文档 S3 API 没有用户管理的功能,而Admin Ops API有这个用户管理功能。 根据文档管理API的鉴权方式和S3的鉴权方式一致。

         而使用Admin Ops API的要点是要创建一个admin用户并赋予user管理的相关权限,这是文档中没有描述的,经过深入思考和分析,我才得到这个秘诀。

实现:

1. 创建admin用户,得到AK/SK。

 命令: radosgw-admin user create --uid admin --display_name admin

2. 赋予admin用户 user usage bucket 读写权限,这样就可以

   命令:radosgw-admin caps add --uid=admin --caps="users=read, write; usage=read,write;buckets=read, write"

3. 使用S3提供的sdk 如java sdk/python sdk中的鉴权方法和步骤1中的AK/SK 调用Admin Ops API

https://github.com/aws/aws-sdk-java/tree/master/aws-java-sdk-s3

可以参考如下2个语言的SDK实现,实现java/其他语言的 rgw admin的接口。

python rgwadmin sdk:    https://pypi.python.org/pypi/rgwadmin/1.1.5

node js  rgwadmin sdk:  https://github.com/tobilg/ceph-admin-ops-client

最新文章

  1. emacs 新手笔记(三) —— 为 emacs 做一点简单的定制
  2. CSS语法
  3. SQL同列合并
  4. 读取STL模型
  5. 自定义Notification
  6. Oracle导入中文乱码解决办法
  7. .net 安卓IOS跨平台des加解密双向的(可以互相加解密)
  8. RFC 文档(中文与英文)
  9. 【高级】C++中虚函数机制的实现原理
  10. jquery在元素上收购事件
  11. Failed to load the JNI shared library "XXXXXXX"
  12. ( 转 ) WebApiTestClient 的使用
  13. ethtool确定网卡对应的物理网口
  14. 【手记】解决EXCEL跑SQL遇“查询无法运行或数据库表无法打开...”
  15. 学习笔记—MySQL基础
  16. memset memcmp memcpy memmove 自己实现
  17. centos 7.2 64位安装redis
  18. Nowcoder | [题解-N165]牛客网NOIP赛前集训营-普及组(第二场)
  19. Node入门教程(8)第六章:path 模块详解
  20. MYSQL + MHA +keepalive + VIP安装配置(三)--keepalived安装配置

热门文章

  1. xpose修改手机imei码,注入广告
  2. bzoj2006: [NOI2010]超级钢琴(堆+RMQ)
  3. python基础----多态与多态性、super函数用法、继承原理
  4. dorado重置按钮事件
  5. 用dtree实现树形菜单 dtree使用说明
  6. Spring MVC 向前台页面传值-ModelAndView
  7. 洛谷P1821 [USACO07FEB]银牛派对Silver Cow Party
  8. 小程序navigatorTo缺点和修正方法
  9. openstack配置模块
  10. OpenCV---图像加载与保存