对象存储服务 OBS-桶策略:桶策略样例

时间:2023-11-13 17:20:19

桶策略样例

  • 示例1:向 IAM 用户授予指定桶中所有对象的指定操作权限

    以下示例策略向帐号b4bf1b36d9ca43d984fbcb9491b6fce9(帐号ID)下的用户ID为71f3901173514e6988115ea2c26d1999的IAM用户授予PutObject和PutObjectAcl权限。

    {
        "Statement":[
        {
          "Sid":"AddCannedAcl",
          "Effect":"Allow",
          "Principal": {"ID": ["domain/b4bf1b36d9ca43d984fbcb9491b6fce9:user/71f3901173514e6988115ea2c26d1999"]},
          "Action":["PutObject","PutObjectAcl"],
          "Resource":["examplebucket/*"]
        }
      ]
    }
  • 示例2:向IAM用户授予指定桶的所有操作权限

    以下示例策略向帐号b4bf1b36d9ca43d984fbcb9491b6fce9(帐号ID)下的用户ID为71f3901173514e6988115ea2c26d1999的IAM用户授予examplebucket的所有操作权限(包含桶操作与对象操作)。

    {
        "Statement":[
        {
          "Sid":"test",
          "Effect":"Allow",
          "Principal": {"ID": ["domain/b4bf1b36d9ca43d984fbcb9491b6fce9:user/71f3901173514e6988115ea2c26d1999"]},
          "Action":["*"],
          "Resource":[
            "examplebucket/*",
            "examplebucket"
          ]
        }
      ]
    }
  • 示例3:向OBS用户授予除删除对象外的所有对象操作权限

    以下示例策略向帐号b4bf1b36d9ca43d984fbcb9491b6fce9(帐号户ID)下的用户ID为71f3901173514e6988115ea2c26d1999的IAM用户授予examplebucket除删除对象外的所有对象操作权限。

    {
        "Statement":[
        {
          "Sid":"test1",
          "Effect":"Allow",
          "Principal": {"ID": ["domain/b4bf1b36d9ca43d984fbcb9491b6fce9:user/71f3901173514e6988115ea2c26d1999"]},
          "Action":["*"],
          "Resource":["examplebucket/*"]
        },
        {
          "Sid":"test2",
          "Effect":"Deny",
          "Principal": {"ID": ["domain/b4bf1b36d9ca43d984fbcb9491b6fce9:user/71f3901173514e6988115ea2c26d1999"]},
          "Action":["DeleteObject"],
          "Resource":["examplebucket/*"]
        }
      ]
    }
  • 示例4:向所有帐号授予指定对象的只读权限

    下面的示例策略向所有帐号授予examplebucket桶中exampleobject的GetObject(下载对象)权限。此权限允许任何人读取对象exampleobject的数据。

    {
        "Statement":[
        {
          "Sid":"AddPerm",
          "Effect":"Allow",
          "Principal": "*",
          "Action":["GetObject"],
          "Resource":["examplebucket/exampleobject"]
        }
      ]
    }
  • 示例5:限制对特定IP地址的访问权限

    以下示例向任何用户授予对指定桶中的对象执行任何OBS操作的权限。但是,请求必须来自条件中指定的IP地址范围。此语句的条件确定允许的IP地址范围为192.168.0.*,只有一个例外:192.168.0.1。

    Condition块使用IpAddress和NotIpAddress条件以及SourceIp条件键(这是OBS范围的条件键)。另请注意SourceIp值使用RFC 4632中描述的CIDR表示法。

    {
      "Statement": [
        {
          "Sid": "IPAllow",
          "Effect": "Allow",
          "Principal": "*",
          "Action": "*",
          "Resource": "examplebucket/*",
          "Condition": {
             "IpAddress": {"SourceIp": "192.168.0.0/24"},
             "NotIpAddress": {"SourceIp": "192.168.0.1/32"} 
          } 
        } 
      ]
    }
support.huaweicloud.com/perms-cfg-obs/obs_40_0004.html