全部產品
Search
文件中心

Object Storage Service:基於 OSS 存取點與 VPC 網關終端節點構建安全的多租戶私網訪問架構

更新時間:Feb 13, 2026

企業在阿里雲上擁有一個核心 OSS Bucket(如 company-data-lake),儲存全公司不同部門(財務、研發、市場)的資料。希望實現企業級中心化資料湖/倉庫的細粒度隔離訪問,需要滿足以下存取控制需求:

  • 私網訪問:所有資料訪問通過阿里雲 VPC 內部網路完成,禁止公網訪問,不希望通過 NAT Gateway產生公網流量費。

  • 許可權隔離:不同部門 VPC 訪問同一個 Bucket,但需要實現首碼(Prefix)層級的隔離。例如:財務 VPC 只能訪問 finance/ 目錄,研發 VPC 只能訪問 dev/ 目錄。

  • 管理解耦:數百人訪問同一 Bucket,通過存取點將許可權管理分散到各業務方,避免在單一 Bucket Policy 中維護數千行策略。

  • 存取控制:限制特定 VPC 只能通過特定的存取點訪問 Bucket。

方案概覽

通過 OSS 存取點(Access Point)VPC 網關終端節點 配合實現:

  • OSS 存取點:為每個訪問方建立獨立的存取點,通過存取點策略(AP Policy)分別管理各自的許可權,避免在單一 Bucket Policy 中維護複雜的許可權規則。

  • VPC 網關終端節點:在 VPC 中建立指向 OSS 的網關終端節點,將訪問 OSS 內網網域名稱的請求通過阿里雲內網直達 OSS,無需繞行公網。

訪問鏈路

ECS 執行個體 → VPC 路由表 → 網關終端節點 → OSS 內網 → 存取點(AP Policy 鑒權)→ Bucket(Bucket Policy 鑒權)

操作步驟

第一步:建立 VPC 網關終端節點

通過建立網關終端節點,在 VPC 路由表中自動添加指向 OSS 的路由,使 ECS 執行個體可通過內網訪問 OSS。

  1. 登入 Virtual Private Cloud 控制台

  2. 在左側導覽列選擇 終端節點 > 網關終端節點

  3. 單擊建立終端節點

    • 服務類型:選擇阿里雲服務

    • 服務名稱:選擇 com.aliyun.<region>.oss(例如 com.aliyun.cn-hangzhou.oss)。

    • 專用網路:選擇業務所在的 VPC。

    • 路由表:勾選需要訪問 OSS 的 ECS 所在交換器綁定的路由表。

  4. 建立完成後,VPC 路由表中自動增加一條指向 OSS 的路由。

第二步:建立 OSS 存取點

為每個業務方建立獨立的存取點,實現許可權隔離管理。

  1. 登入 OSS 管理主控台

  2. 進入目標 Bucket,在左側菜單選擇存取點 > 建立存取點

  3. 配置存取點參數:

    • 存取點名稱:例如 finance-ap

    • 網路類型:選擇 VPC

    • VPC ID:選擇步驟一中已建立網關終端節點的 VPC ID。

    • 配置存取點策略 :授權該存取點允許操作的資源和使用者等。

  4. 儲存後,系統產生存取點別名和存取點網域名稱。

第三步:配置策略

依次配置存取點策略、Bucket 策略和 VPC 網關終端節點策略,確保訪問鏈路許可權打通。

1. 配置存取點策略

存取點策略定義通過該存取點進入的流量可以執行的操作。以下樣本授予 ACS:RAM:1234567890123456:role/FinanceRole 通過 finance-ap1 存取點執行 GetObjectPutObject 操作:

{
  "Version": "1",
  "Statement": [
    {
      "Effect": "Allow",
      "Principal": [
        "ACS:RAM:1234567890123456:role/FinanceRole" 
      ],
      "Action": [
        "oss:GetObject",
        "oss:PutObject"
      ],
      "Resource": [
        "acs:oss:cn-hangzhou:1234567890123456:accesspoint/finance-ap1"
      ]
    }
  ]
}

2. 配置 Bucket 策略(存取點許可權委派)

建立存取點後,通過 Bucket Policy 設定存取點許可權委派,定義哪些存取點可以訪問 Bucket。

存取點許可權委派提供三種類型:

  • oss:DataAccessPointArn:指定存取點的存取權限委派。

  • oss:DataAccessPointAccount:當前主帳號下所有存取點的存取權限委派。

  • oss:AccessPointNetworkOrigin:指定網路來源的所有存取點存取權限委派。

以下樣本委派財務部門的所有存取點通過 VPC 訪問 Bucket 中 finance/ 首碼下的資料:

{
  "Version": "1",
  "Statement": [{
    "Effect": "Allow",
    "Action": [
      "oss:*"
    ],
    "Principal": "*",
    "Resource": [
      "acs:oss:*:137918634953****:company-data-lake/finance/*"
    ],
    "Condition": {
      "StringEquals": {
        "oss:DataAccessPointArn": [
           "acs:oss:cn-hangzhou:1234567890123456:accesspoint/finance-ap1",
           "acs:oss:cn-hangzhou:1234567890123456:accesspoint/finance-ap2",
           "acs:oss:cn-hangzhou:1234567890123456:accesspoint/finance-ap3"
        ]
      }
    }
  }]
}

更多委派情境的策略配置參見按文法策略添加

3. 配置 VPC 網關終端節點策略(VPC Policy)

在 VPC 網關終端節點策略中,將存取點綁定的 Bucket 設為允許訪問的目標,實現網路層的存取控制。

{
  "Version": "1",
  "Statement": [
    {
      "Effect": "Allow",
      "Action": "oss:*",
      "Principal": [
        "123456789012****"
      ],
      "Resource": [
         "acs:oss:*:*:example-bucket",
         "acs:oss:*:*:example-bucket/*"
      ]
    }
  ]
}

注意事項

  • 網域名稱切換:使用存取點後,SDK 或 CLI 中必須使用存取點網域名稱或存取點別名,而非原始Bucket 網域名稱。

    • 錯誤樣本my-bucket.oss-cn-hangzhou-internal.aliyuncs.com

    • 正確樣本finance-ap-xxxx.oss-cn-hangzhou.oss-accesspoint.aliyuncs.com

  • 地區一致性:VPC 網關終端節點、OSS 存取點和 Bucket 必須處於同一個地區。

  • 許可權疊加原則:使用者必須同時滿足 RAM Policy、存取點 Policy 和 Bucket Policy 的許可權才能成功訪問。

  • Endpoint 類型限制:VPC 網關終端節點僅支援同地區私網訪問。如需跨地區訪問,需使用反向 Proxy或雲企業網(CEN)。

  • 資源限額:單個 UID 可建立的存取點數量有限(1000 個),適用於絕大多數多租戶情境。

相關文檔