全部产品
云市场

授予RAM子账户OSS细粒度的访问权限

更新时间:2019-07-12 15:57:05

概述

授予RAM子账户OSS细粒度的访问权限。

详细信息

基于阿里云OSS管理控制台,可以使用直观的界面进行相应的操作。除了使用阿里云账号,还可以使用子账户RAM用户登录OSS管理控制台。主账号的 Access Key对OSS的Bucket控制权限是所有的权限,所以使用安全性不高,建议使用子账号赋予对于OSS的不同权限,做到对产品的安全使用限制,同时也可实现对OSS的细粒度的访问授权限制。
  1. 登录到RAM控制台,选择用户管理->新建用户,创建RAM用户。具体操作方法请参见RAM用户操作手册中的 创建RAM用户说明
  2. 登录到RAM控制台,选择对应的RAM用户,单击授权,进行授权操作。具体操作方法请参见RAM授权帮助文档
  3. 登录到RAM控制台,单击策略管理。策略管理页面,可通过系统授权策略 自定义授权策略 子页,分别查看已有的系统和自定义策略,点击新建授权策略,进入创建授权策略页面。具体操作方法请参见授权策略管理
  4. 常见的细粒度自定义访问权限的设置。
    • 如果需要授权一个子用户,通过 OSS的SDK或OSS的CMD列出并读取一个Bucket中的资源,那么需要创建一条自定义授权策略。假设Bucket名称为myphotos,那么创建的授权策略样例如下。
      1. {
      2. "Version": "1",
      3. "Statement": [
      4. {
      5. "Effect": "Allow",
      6. "Action": [
      7. "oss:ListBuckets",
      8. "oss:GetBucketStat",
      9. "oss:GetBucketInfo"
      10. ],
      11. "Resource": "acs:oss:*:*:*"
      12. },
      13. {
      14. "Effect": "Allow",
      15. "Action": [
      16. "oss:ListObjects",
      17. "oss:GetBucketAcl"
      18. ],
      19. "Resource": "acs:oss:*:*:myphotos"
      20. },
      21. {
      22. "Effect": "Allow",
      23. "Action": [
      24. "oss:GetObject",
      25. "oss:GetObjectAcl"
      26. ],
      27. "Resource": "acs:oss:*:*:myphotos/*"
      28. }
      29. ]
      30. }
    • 在OSS中使用带IP限制的访问控制。在Allow授权中,使用 IpAddress允许通过特定IP段的访问。在Deny授权中,使用 NotIpAddress拒绝不在特定IP段的访问,比如允许通过 42.X.X.0/24段读取myphotos中的信息,授权策略样例如下。
      1. {
      2. "Version": "1",
      3. "Statement": [
      4. {
      5. "Sid": "允许列出所有Bucket",
      6. "Effect": "Allow",
      7. "Action": [
      8. "oss:ListBuckets",
      9. "oss:GetBucketStat",
      10. "oss:GetBucketInfo",
      11. "oss:GetBucketAcl"
      12. ],
      13. ],
      14. "Resource": [
      15. "acs:oss:*:*:*"
      16. ]
      17. },
      18. {
      19. "Sid": "允许获取myphotos中的信息, 访问源必须在允许的IP段中",
      20. "Effect": "Allow",
      21. "Action": [
      22. "oss:ListObjects",
      23. "oss:GetObject"
      24. ],
      25. "Resource": [
      26. "acs:oss:*:*:myphotos",
      27. "acs:oss:*:*:myphotos/*"
      28. ],
      29. "Condition":{
      30. "IpAddress": {
      31. "acs:SourceIp": ["42.X.X.0/24"]
      32. }
      33. }
      34. }
      35. ]
      36. }
    • 使用OSS的CMD访问目录,需要设置权限到具体的目录 myphotos/hangzhou/2015/,授权策略样例如下。
      1. {
      2. "Version": "1",
      3. "Statement": [
      4. {
      5. "Effect": "Allow",
      6. "Action": [
      7. "oss:GetObject",
      8. "oss:ListBuckets",
      9. "oss:GetBucketStat",
      10. "oss:GetBucketInfo",
      11. "oss:GetBucketAcl"
      12. ],
      13. "Resource": [
      14. "acs:oss:*:*:myphotos/hangzhou/2015/*"
      15. ]
      16. },
      17. {
      18. "Effect": "Allow",
      19. "Action": [
      20. "oss:ListObjects"
      21. ],
      22. "Resource": [
      23. "acs:oss:*:*:myphotos"
      24. ],
      25. "Condition":{
      26. "StringLike":{
      27. "oss:Prefix":"hangzhou/2015/*"
      28. }
      29. }
      30. }
      31. ]
      32. }
      更多的授权设置,请授权策略管理

适用于

  • 对象存储OSS