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

子用户已经被授权了某Bucket权限,为什么登录OSS控制台访问时提示没有操作权限

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

假设您已经授权某个子用户对某个Bucket(比如myphotos)拥有读取数据对象的操作权限:

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

但是子用户登录OSS控制台仍然报错“没有相应操作权限”,这是为何呢?

因为当用户登录OSS控制台时,OSS控制台为以当前登录用户的授权身份去访问OSS服务。为了获得更好的交互体验,OSS控制台会额外调用ListBuckets操作,以及GetBucketAcl和GetObjectAcl操作(因为要确定bucket属性是公开或私有)。

所以,为了支持通过OSS控制台操作某个Bucket,相应的授权Policy如下所示:

  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. }
本文导读目录