全部產品
Search
文件中心

Object Storage Service:通過Bucket Policy限制公網訪問OSS

更新時間:Jun 19, 2024

Bucket Policy是阿里雲Object Storage Service推出的針對儲存空間(Bucket)的授權策略,您可以通過Bucket Policy禁止指定的RAM使用者通過公網訪問您指定的OSS資源。

情境描述

企業A在華東1(杭州)地區建立了名為examplebucket的儲存空間,examplebucket的目錄examplefolder下存放了大量的企業內部資料。企業A不希望指定的夥伴以RAM使用者的方式通過公網訪問examplefolder下的資源。

為滿足企業A的以上需求,您可以通過策略文法的方式配置Bucket Policy。

操作方式

  1. 登入OSS管理主控台

  2. 單擊Bucket 列表,然後單擊examplebucket

  3. 在左側導覽列,選擇許可權控制 > Bucket 授權策略

  4. Bucket 授權策略頁面的按文法策略添加頁簽,單擊編輯

  5. 在文法策略輸入框中,輸入以下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-*"
                    ]
                }
            }
        }]
    }
  6. 單擊保存後,在彈出的對話方塊,單擊確定

相關文檔

  • 企業不同部門或專案之間需要共用資料。如果您希望其他部門的使用者可以下載本部分的共用資料,禁止寫入和刪除資料,以降低共用資料被誤刪、篡改的風險,請參見基於Bucket Policy實現跨部門資料共用的教程樣本進行配置。

  • 如果您需要對同帳號以及跨帳號下的RAM使用者,或者匿名使用者等授予訪問或管理Bucket資源的不同許可權,例如唯讀、讀寫權限等,請參見Bucket Policy常見樣本進行配置。