全部产品
存储与CDN 数据库 域名与网站(万网) 应用服务 数加·人工智能 数加·大数据基础服务 互联网中间件 视频服务 开发者工具 解决方案 物联网 钉钉智能硬件
访问控制

怎样授权一个子用户列出并读取一个Bucket中的资源

更新时间:2017-06-07 13:26:11

如果您需要授权一个子用户(eg, 代表您的某个应用程序)通过OSS SDK或OSS CMD列出并读取一个Bucket中的资源,那么您需要创建一条自定义授权策略来完成。

假设您的Bucket名称为”myphotos”,那么创建的授权策略样例如下:

  1. {
  2. "Version": "1",
  3. "Statement": [
  4. {
  5. "Effect": "Allow",
  6. "Action": "oss:ListObjects",
  7. "Resource": "acs:oss:*:*:myphotos"
  8. },
  9. {
  10. "Effect": "Allow",
  11. "Action": "oss:GetObject",
  12. "Resource": "acs:oss:*:*:myphotos/*"
  13. }
  14. ]
  15. }

如果您希望被授权的子用户能够通过OSS控制台进行操作,那么授权策略中还需要添加GetBucketAcl以及GetObjectAcl权限(控制台为了操作体验的优化需要额外调用OSS的部分API)。允许子用户通过OSS控制台操作的授权策略样例如下:

  1. {
  2. "Version": "1",
  3. "Statement": [
  4. {
  5. "Effect": "Allow",
  6. "Action": "oss:ListBuckets",
  7. "Resource": "acs:oss:*:*:*"
  8. },
  9. {
  10. "Effect": "Allow",
  11. "Action": [
  12. "oss:ListObjects",
  13. "oss:GetBucketAcl"
  14. ],
  15. "Resource": "acs:oss:*:*:myphotos"
  16. },
  17. {
  18. "Effect": "Allow",
  19. "Action": [
  20. "oss:GetObject",
  21. "oss:GetObjectAcl"
  22. ],
  23. "Resource": "acs:oss:*:*:myphotos/*"
  24. }
  25. ]
  26. }
本文导读目录