对象存储服务 OBS-桶策略:桶策略样例
桶策略样例
- 示例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"} } } ] }