Bucket Policy是阿里云对象存储OSS推出的针对存储空间(Bucket)的授权策略,您可以通过Bucket Policy限制通过公网访问您指定的OSS资源。
场景描述
企业A在华东1(杭州)地域创建了名为examplebucket的存储空间,examplebucket的目录examplefolder下存放了大量的企业内部资料。企业A不希望指定的合作伙伴以RAM用户的方式通过公网访问examplefolder下的资源。
为满足企业A的以上需求,您可以通过策略语法的方式配置Bucket Policy。
操作方式
- 登录OSS管理控制台。
- 单击Bucket列表,然后单击examplebucket。
- 单击文件管理页签,然后单击授权。
- 在策略语法页面,单击编辑,然后输入以下Policy。
{
"Version": "1",
"Statement": [{
"Effect": "Deny",
"Action": [
"oss:RestoreObject",
"oss:ListObjects",
"oss:AbortMultipartUpload",
"oss:PutObjectAcl",
"oss:GetObjectAcl",
"oss:ListParts",
"oss:DeleteObject",
"oss:PutObject",
"oss:GetObject",
"oss:GetVodPlaylist",
"oss:PostVodPlaylist",
"oss:PublishRtmpStream",
"oss:ListObjectVersions",
"oss:GetObjectVersion",
"oss:GetObjectVersionAcl",
"oss:RestoreObjectVersion"
],
"Principal": [
<! --以下为RAM用户的UID。-->
"26642223584287****",
"27658173539067****",
"24430533117653****"
],
"Resource": [
<! --137918634953****为examplebucket拥有者的UID。-->
"acs:oss:*:137918634953****:examplebucket/examplefolder/*"
],
"Condition": {
"StringNotEquals": {
"acs:SourceVpc": [
"vpc-*"
]
}
}
}, {
"Effect": "Deny",
"Action": [
"oss:ListObjects",
"oss:GetObject"
],
"Principal": [
"26642223584287****",
"27658173539067****",
"24430533117653****"
],
"Resource": [
"acs:oss:*:137918634953****:examplebucket"
],
"Condition": {
"StringLike": {
"oss:Prefix": [
"examplefolder/*"
]
},
"StringNotEquals": {
"acs:SourceVpc": [
"vpc-*"
]
}
}
}]
}
- 单击保存。