全部產品
Search
文件中心

CDN:OSS私人Bucket回源

更新時間:Dec 12, 2025

如果加速網域名稱的來源站點是阿里雲Object Storage Service,並且OSS的Bucket為私人模式(可以起到訪問鑒權的作用,避免非授權的請求盜刷流量),建議您給加速網域名稱開啟OSS私人Bucket回源功能,通過CDN加速OSS私人Bucket資源。

工作原理與優勢

  • 工作原理:功能開啟後,CDN向您的私人OSS Bucket發起回源請求時,會自動在要求標頭(Header)中添加一個Authorization欄位。該欄位的值是根據您授權的身份資訊(STS臨時令牌或AccessKey)產生的有效簽名,OSS服務會據此對請求進行鑒權。

  • 安全訪問:通過為CDN授予一個受限的唯讀許可權,確保了回源請求的合法性,避免了將私人Bucket設定為公開所帶來的安全風險。

  • 成本最佳化:終端使用者訪問將命中CDN緩衝,其流量費用遠低於直接存取OSS產生的外網流出流量。同時,CDN回源到OSS的流量會計為CDN回源流量,其單價也低於OSS外網流出流量單價,有效降低總體成本。具體請參見CDN加速OSS計費說明

操作步驟

配置過程分為兩步:首先為您的帳號完成一次性授權,然後為指定的加速網域名稱開啟該功能。

  1. 授權CDN訪問OSS。在首次為帳號下網域名稱配置該功能前,您必須先為CDN服務授予訪問OSS的許可權,此為帳號層級的一次性操作。如果您沒有出現授權提示,則直接跳過該步驟。

    (推薦)通過控制台一鍵授權

    1. 登入CDN控制台

    2. 在左側導覽列,單擊域名管理

    3. 域名管理頁面,單擊目標網域名稱對應的管理

    4. 在指定網域名稱的左側導覽列,單擊回源配置

    5. 私有Bucket回源地區,單擊点击授权,在授權確認頁中單擊確認授權

      image

    (備用方案)通過RAM手動授權

    1. 登入RAM控制台

    2. 在左側導覽列,單擊許可權管理權限原則

    3. 權限原則頁面,單擊建立權限原則

    4. 指令碼編輯頁簽,輸入以下策略內容。

    5. {
          "Version": "1",
          "Statement": [
              {
                  "Action": [
                      "oss:List*",
                      "oss:Get*"
                  ],
                  "Resource": "*",
                  "Effect": "Allow"
              }
          ]
      }
    6. 單擊確定,在建立權限原則頁面輸入以下資訊之後單擊確定

    7. 策略名稱稱:AliyunCDNAccessingPrivateOSSRolePolicy

    8. 備忘:用於CDN/DCDN回源私人OSS Bucket角色的授權策略,包含OSS的唯讀許可權。

    在左側導覽列,單擊身份管理角色

    1. 角色頁面,單擊建立角色

    2. 信任主體類型設定為雲帳號信任主體名稱選擇當前雲帳號,單擊確定

    3. 建立角色階段,輸入以下資訊

    4. 角色名稱:AliyunCDNAccessingPrivateOSSRole

    角色建立完成之後,在角色頁面列表中單擊AliyunCDNAccessingPrivateOSSRole,進入角色編輯頁面。

    1. 信任策略頁簽,單擊編輯信任策略,輸入以下資訊之後單擊確定

    2. {
        "Statement": [
          {
            "Action": "sts:AssumeRole",
            "Effect": "Allow",
            "Principal": {
              "Service": [
                "cdn.aliyuncs.com"
              ]
            }
          }
        ],
        "Version": "1"
      }
    3. 切換到許可權管理頁簽,在授權頁簽中,單擊新增授權

    4. 資源範圍:帳號層級

    5. 授權主體:選擇之前建立的AliyunCDNAccessingPrivateOSSRole

    6. 權限原則:選擇定義策略,選擇之前建立的AliyunCDNAccessingPrivateOSSRolePolicy,單擊確認新增授權

    確認新增授權之後,回到CDN控制台的回源配置頁面,可以看到私有Bucket回源功能已經完成授權,

  2. 開啟私有Bucket回源並配置回源類型。

    1. 找到私有Bucket回源地區,開啟其開關。

    2. 在彈出的私有Bucket回源對話方塊中,選擇回源類型,單擊确定

      回源類型

      回源類型

      推薦情境與說明

      同帳號回源

      (推薦) 適用於CDN和OSS Bucket在同一個阿里雲帳號下的情境。系統將自動使用STS臨時安全性權杖進行鑒權,配置簡單,無需管理密鑰,安全性更高。

      跨帳號回源或同帳號回源

      適用於CDN和OSS Bucket分屬不同阿里雲帳號的情境,也支援同帳號。此方式需要您手動提供回源目標OSS私人Bucket所屬阿里雲帳號的AccessKey ID和AccessKey Secret。具體請參見建立AccessKey

      說明
      • 存取範圍說明:開啟後,該加速網域名稱將可以訪問其來源站點私人Bucket內的所有資源,無法在CDN側對Bucket內的部分資源做訪問限制。

      • 簽名衝突說明:為避免OSS鑒權失敗,請確保回源請求的URL參數中不攜帶簽名資訊。單個請求不能同時在Header和URL中攜帶簽名。

      • 功能衝突說明:本功能與OSS的靜態網站託管功能的預設首頁配置存在衝突。如需同時使用,請參考說明文檔

安全強化建議

開啟私人Bucket回源後,您的來源站點資料是安全的,但緩衝在CDN邊緣節點上的資源預設是公開訪問的。為防止CDN流量被盜刷,強烈建議您結合使用CDN提供的其他安全功能:

關閉OSS私人Bucket回源

如果您不希望加速網域名稱能夠訪問您同帳號下的私人Bucket內資源,您可以通過存取控制RAM(Resource Access Management)控制台,取消對應角色名稱的授權,關閉CDN回源OSS私人Bucket的許可權。

  1. 在CDN控制台關閉該功能。

    1. 登入CDN控制台

    2. 在左側導覽列,單擊域名管理

    3. 域名管理頁面,單擊目標網域名稱對應的管理

    4. 在指定網域名稱的左側導覽列,單擊回源配置

    5. 私有Bucket回源地區,關閉私有Bucket回源開關。

  2. 在RAM控制台徹底刪除授權。

    1. 登入RAM控制台

    2. 在左側導覽列,單擊身份管理 > 角色

    3. 角色名稱列表下,單擊AliyunCDNAccessingPrivateOSSRole角色。

      image

    4. 移除角色AliyunCDNAccessingPrivateOSSRole中的所有許可權。

      1. 單擊許可權對應的解除授權

      2. 在移除許可權的確認對話方塊中,單擊解除授權

    5. 返回身份管理 > 角色頁面,刪除AliyunCDNAccessingPrivateOSSRole角色。

      1. 單擊AliyunCDNAccessingPrivateOSSRole角色對應的刪除角色

      2. 刪除角色的確認對話方塊中,單擊刪除角色

    6. 返回許可權管理 > 權限原則頁面,刪除AliyunCDNAccessingPrivateOSSRolePolicy策略。

      1. 單擊AliyunCDNAccessingPrivateOSSRolePolic策略對應的刪除權限原則按鈕。

      2. 刪除權限原則的確認對話方塊中,輸入策略名稱稱,單擊刪除權限原則

常見問題

CDN訪問OSS資源提示This request is forbidden by kms.錯誤如何解決?

如果您的OSS Bucket中使用了Key Management Service(Key Management Service)進行加密,您需要為CDN的回源角色額外授予使用KMS密鑰的許可權,否則CDN將無法解密和訪問這些檔案,出現This request is forbidden by kms.報錯。

  1. 登入RAM控制台

  2. 在左側導覽列,選擇身份管理 > 角色

  3. 角色名稱列表下,找到AliyunCDNAccessingPrivateOSSRole角色。

  4. 單擊新增授權授權主體會自動填入。

  5. 權限原則下選擇系統策略,搜尋AliyunKMSCryptoUserAccess,並單擊AliyunKMSCryptoUserAccess,將其添加到已選擇權限原則地區框中。

  6. 單擊確認新增授權,顯示已完成

  7. 單擊關閉

    image

  8. 使用重新整理資源功能,待重新整理任務完成後,重新訪問資源。

相關文檔

CDN加速OSS資源最佳實務