Bucket Policy是阿里雲Object Storage Service推出的針對儲存空間(Bucket)的授權策略,您可以通過Bucket Policy禁止指定的RAM使用者通過公網訪問您指定的OSS資源。
情境描述
企業A在華東1(杭州)地區建立了名為examplebucket的儲存空間,examplebucket的目錄examplefolder下存放了大量的企業內部資料。企業A不希望指定的夥伴以RAM使用者的方式通過公網訪問examplefolder下的資源。
為滿足企業A的以上需求,您可以通過策略文法的方式配置Bucket Policy。
操作方式
登入OSS管理主控台。
單擊Bucket 列表,然後單擊examplebucket。
在左側導覽列,選擇 。
在Bucket 授權策略頁面的按文法策略添加頁簽,單擊編輯。
在文法策略輸入框中,輸入以下Policy。
以下授權策略中,137918634953xxxx為examplebucket擁有者的UID,Principal元素下包含的UID為RAM使用者的UID。
{ "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": [ "26642223584287xxxx", "27658173539067xxxx", "24430533117653xxxx" ], "Resource": [ "acs:oss:*:137918634953xxxx:examplebucket/examplefolder/*" ], "Condition": { "StringNotLike": { "acs:SourceVpc": [ "vpc-*" ] } } }, { "Effect": "Deny", "Action": [ "oss:ListObjects", "oss:GetObject" ], "Principal": [ "26642223584287xxxx", "27658173539067xxxx", "24430533117653xxxx" ], "Resource": [ "acs:oss:*:137918634953xxxx:examplebucket" ], "Condition": { "StringLike": { "oss:Prefix": [ "examplefolder/*" ] }, "StringNotLike": { "acs:SourceVpc": [ "vpc-*" ] } } }] }
單擊保存後,在彈出的對話方塊,單擊確定。
相關文檔
企業不同部門或專案之間需要共用資料。如果您希望其他部門的使用者可以下載本部分的共用資料,禁止寫入和刪除資料,以降低共用資料被誤刪、篡改的風險,請參見基於Bucket Policy實現跨部門資料共用的教程樣本進行配置。
如果您需要對同帳號以及跨帳號下的RAM使用者,或者匿名使用者等授予訪問或管理Bucket資源的不同許可權,例如唯讀、讀寫權限等,請參見Bucket Policy常見樣本進行配置。