全部產品
Search
文件中心

Object Storage Service:HTTP 403 錯誤

更新時間:Dec 19, 2025

OSS返回403錯誤的原因和解決方案。

AbnormalBucketOwnerStatus

當目標Bucket的所屬使用者賬戶狀態異常時,會返回此錯誤。

The status of the bucket owner is abnormal

  • 問題原因:暫未向目標Bucket的所屬使用者提供服務。

  • 解決方案:檢查使用者的阿里雲帳號是否已登出或因安全等原因被管控,確認是否因欠費原因被電訊廠商暫停服務。

AccessDenied

當使用者沒有執行特定操作的許可權時,會返回此錯誤。

Access denied by authorizer's policy

  • 問題原因:無許可權執行相關操作。

  • 解決方案:臨時訪問憑證最終擷取的許可權是步驟四設定的角色許可權和步驟五中Policy設定許可權的交集。通過以下樣本檢查在這兩個步驟中設定的許可權交集。

    • 樣本1

      如下圖所示,A代表RAM角色的許可權,B代表通過policy參數設定的許可權,C代表臨時訪問憑證最終的許可權。

      1.jpg

    • 樣本2

      如下圖所示,A代表RAM角色許可權,B代表通過policy參數設定的許可權,且policy參數設定的許可權是RAM角色許可權的子集。因此,B代表臨時訪問憑證的最終許可權。

      2.jpg

Access denied by bucket policy

Access denied by VPC endpoint policy

  • 問題原因:用戶端所在VPC添加了Policy授權策略,導致未授權的Bucket無法在VPC環境內訪問。

  • 解決方案:檢查用戶端所在VPC配置的Policy授權策略。

AccessDenied

  • 問題原因:沒有相應的存取權限。

  • 解決方案:

    • 確認使用了正確的AccessKey ID和AccessKey Secret。詳情請參見建立AccessKey

    • 確認RAM使用者是否擁有Bucket或Object相關操作許可權。

Anonymous access is forbidden for this operation

Anonymous user has no right to access this bucket

Anonymous user has no right to access this object

Hierarchical namespace is disabled

  • 問題原因:Bucket未開啟階層命名空間。

  • 解決方案:在建立Bucket時開啟階層命名空間,然後對目錄或檔案進行重新命名操作。關於階層命名空間支援的地區以及使用情境等更多資訊,請參見開啟階層命名空間

Invalid according to Policy: Policy Condition failed: " + RelatedUnit; //XXX

  • 問題原因:Policy表單域中指定的Conditions無效。

  • 解決方案:確保在Policy表單域中指定有效Conditions。關於Policy表單域中支援的Conditions以及Conditions匹配方式詳情,請參見附錄:Post Policy

Invalid according to Policy: Policy Condition failed: ["eq", "$Content-Type", "image/png"]

  • 問題原因:上傳的檔案類型與指定的Content-Type類型不符。

  • 解決方案:Policy中的Content-Type用於限制表單上傳時的檔案類型。如果Content-Type限制為image/png,則僅支援上傳image/png類型的檔案。如需上傳其他類型的檔案,添加對應的Content-Type類型。關於常見的Content-Type類型列表,請參見如何設定Content-Type(MIME)?

Invalid according to Policy: Policy expired

  • 問題原因:PostObject中的Policy表單域無效。

  • 解決方案:Post請求的Policy表單域用於驗證請求的合法性。Policy為一段經過UTF-8和Base64編碼的JSON文本,聲明了Post請求必須滿足的條件。Post Policy格式如下:

    { 
      "expiration": "2014-12-01T12:00:00.000Z",
      "conditions": [
        {"bucket": "johnsmith" },
        ["starts-with", "$key", "user/eric/"]
      ]
    }

    關於Policy中支援的Conditions詳情,請參見附錄:Post Policy

Invalid date (should be seconds since epoch)

  • 問題原因:請求的時間戳記無效。

  • 解決方案:Expires參數的值是一個Unix time(自UTC時間1970年1月1號開始的秒數),用於標識該URL的逾時時間。

Query string authentication requires the Signature, Expires and OSSAccessKeyId parameters

  • 問題原因:URL簽名缺少必要參數。

  • 解決方案:URL簽名必須至少包含Signature、Expires和OSSAccessKeyId參數。URL簽名樣本為http://oss-example.oss-cn-hangzhou.aliyuncs.com/oss-api.pdf?OSSAccessKeyId=nz2pc56s936**9l&Expires=1141889120&Signature=vjbyPxybdZaNmGa%2ByT272YEAiv****。關於URL簽名的詳情,請參見在URL中包含簽名

Request has expired

Target object does not reside in the same data center as source object

  • 問題原因:不支援跨地區拷貝檔案。

  • 解決方案:僅支援拷貝同一地區下相同或不同儲存空間(Bucket)之間的檔案(Object)。詳情請參見CopyObject

The bucket you are attempting to access must be addressed using the specified endpoint. Please send all future requests to this endpoint

  • 問題原因:訪問Bucket時使用的Endpoint不正確。

  • 解決方案:確保使用正確的Endpoint訪問Bucket。例如Bucket所在地區為oss-cn-hangzhou,則外網Endpoint為oss-cn-hangzhou.aliyuncs.com。關於Endpoint的更多資訊,請參見通過IPv6協議訪問OSS

This request is forbidden by kms

  • 問題原因:沒有KMS使用許可權。

  • 解決方案:確保對指定的CMK ID具有使用許可權。詳情請參見服務端加密

You are denied by bucket referer policy

  • 問題原因:防盜鏈校正失敗。

  • 解決方案:通過設定Referer白名單以及是否允許空Referer,限制僅白名單中的網域名稱可以訪問Bucket內的資源。詳情請參見設定防盜鏈

You do not have read acl permission on this object

  • 問題原因:沒有該Object的ACL讀取許可權。

  • 解決方案:聯絡Object擁有者授予GetObjectACL的許可權。

You do not have read permission on this object

  • 問題原因:沒有該Object的讀取許可權。

  • 解決方案:聯絡Object擁有者授予對Object的讀取許可權。

You do not have write acl permission on this object

  • 問題原因:沒有該Object的ACL寫入許可權。

  • 解決方案:聯絡Object擁有者授予PutObjectACL的許可權。

You do not have write permission on this object

  • 問題原因:沒有該Object的寫入許可權。

  • 解決方案:聯絡Object擁有者授予對Object的寫入許可權。

You have no right to access this object

You have no right to access this object because of bucket acl

  • 問題原因:沒有該Object的存取權限。

  • 解決方案:授予訪問者OSS相關存取權限,例如PutObject、GetObject、AppendObject等。詳情請參見RAM Policy常見樣本

AccessForbidden

當CORS請求不被允許或其他訪問限制時,會返回此錯誤。

CORSResponse: This CORS request is not allowed. This is usually because the evalution of Origin, request method / Access-Control-Request-Method or Access-Control-Requet-Headers are not whitelisted by the resource's CORS spec

AccessKeyIdAndSecurityTokenNotMatch

當提供的AccessKey ID和安全性權杖不匹配時,會返回此錯誤。

The OSS access key id and security token you provided does not match

BucketDisable

當Bucket因安全原因被禁用時,會返回此錯誤。

BucketDisable

  • 問題原因:Bucket因安全原因被禁用。

  • 解決方案:檢查帳號是否已欠費,或聯絡支援人員進行安全受限核查。

BucketNotBelongTo

當使用者嘗試訪問不屬於自己的Bucket時,會返回此錯誤。

The bucket you access does not belong to you

  • 問題原因:目前使用者不是目標Bucket的擁有者。

  • 解決方案:僅Bucket擁有者有許可權執行此操作。

CnameDenied

當網域名稱綁定操作被拒絕時,會返回此錯誤。

The cname belongs to another user

  • 問題原因:該網域名稱已綁定至其他Bucket。

  • 解決方案:更換網域名稱或通過驗證網域名稱所有權強制綁定網域名稱,驗證網域名稱所有權會解除網域名稱與其他Bucket的綁定關係。請參見綁定自訂網域名進行排查。

ImageDamage

當上傳或處理的圖片檔案損壞無法正常識別時,會返回此錯誤。

The image file may be damaged

  • 問題原因:圖片檔案存在部分資訊丟失或損壞,導致系統無法正常識別或處理。

  • 解決方案:確保源檔案完整性,如發現檔案損壞請重新上傳本地檔案。

InvalidAccessKeyId

當提供的AccessKey ID格式不正確、不存在或處于禁用狀態時,會返回此錯誤。

The OSS Access Key Id contains non-acceptable characters, which accepts only alphanumeric characters[0-9a-zA-Z] and several special characters[._=]

  • 問題原因:輸入的AccessKey ID包含不支援的字元。

  • 解決方案:重新輸入RAM使用者或阿里雲帳號的正確AccessKey ID。更多資訊,請參見建立AccessKey

The OSS Access Key Id you provided does not exist in our records

  • 問題原因:臨時訪問憑證已到期並自動失效。

  • 解決方案:使用臨時存取金鑰(AccessKeyId和AccessKeySecret)向App伺服器申請新的臨時訪問憑證。具體操作,請參見擷取臨時訪問憑證

The OSS Access Key Id you provided is disabled

  • 問題原因:AccessKey ID處于禁用狀態。

  • 解決方案:重新啟用AccessKey。

InvalidObjectState

當Object處於不支援當前操作的狀態時,會返回此錯誤。

The operation is not valid for the object's state

  • 問題原因:下載歸檔類型Object時,以下兩種情況會導致Object狀態無效錯誤。

    • 未提交RestoreObject請求或上一次提交RestoreObject已逾時。

    • 已提交RestoreObject請求,但資料恢複操作尚未完成。

  • 解決方案:請參見RestoreObject進行排查。

InvalidSecurityToken

當提供的安全性權杖無效時,會返回此錯誤。

The security token you provided is invalid

KmsInDebt

當阿里雲賬戶處於欠費狀態導致KMS服務訪問被拒絕時,會返回此錯誤。

Current user is indebted

  • 問題原因:阿里雲賬戶進入欠費狀態時,對Key Management Service(Key Management Service)的訪問會被拒絕。

  • 解決方案:確保阿里雲賬戶不欠費以正常使用KMS服務。

KmsInDebtOverdue

當KMS服務欠費已逾期時,會返回此錯誤。

Current user is indebted Overdue

  • 問題原因:KMS服務欠費已逾期。

  • 解決方案:及時續約以正常使用KMS服務。

KmsUbsmsInvalidBid

當要求者未開通KMS服務時,會返回此錯誤。

Your account partner does not have KMS Service

  • 問題原因:要求者未開通KMS服務。

  • 解決方案:使用SSE-KMS對OSS資料進行加密前,請先開通KMS服務。詳情請參見開通Key Management Service

NonStandardHostForbidden

當使用的Host不符合OSS標準網域名稱格式時,會返回此錯誤。

Your host is invalid. Please use Open Storage Service standard host

  • 問題原因:Host格式錯誤。

  • 解決方案:使用標準的網域名稱格式訪問OSS資源。詳情請參見通過IPv6協議訪問OSS

PermanentRedirect

當訪問Bucket時使用的Endpoint與Bucket實際所在地區的Endpoint不一致時,會返回此錯誤。

The bucket you are attempting to access must be addressed using the specified endpoint. Please send all future requests to this endpoint

  • 問題原因:通過SDK訪問OSS中的Bucket時,未指定Endpoint或指定的Endpoint有誤。例如建立的Bucket位於青島地區,使用了預設配置的oss-cn-hangzhou.aliyuncs.com的Endpoint地址發起請求,則出現該報錯。

  • 解決方案:確認請求的Endpoint地址與Bucket實際的Endpoint地址一致。例如需要訪問青島和杭州兩個節點的Bucket,建議建立多個ossclient,並在ossclient中添加oss-cn-hangzhou.aliyuncs.comoss-cn-qingdao.aliyuncs.com兩個Endpoint。

RequestTimeTooSkewed

當請求發起時間與OSS伺服器目前時間相差過大時,會返回此錯誤。

The difference between the request time and the current time is too large

  • 問題原因:請求發起的時間超過OSS伺服器目前時間15分鐘。

  • 解決方案:檢查發送請求裝置的系統時間,並根據時區調整到正確時間。

    發送請求的機器或裝置的系統時間,調整標準如下:

    • OSS的系統時間採用GMT時間,裝置的系統時間需要調整到GMT時間,或與其相對應的時區時間。GMT是零時區的區時,即世界標準時間。

      • Windows系統查看時區的方法:單擊控制台 > 時鐘、語言和地區 > 設定日期和時間

        例如,時區欄的+08:00表示裝置系統時區是東八區。

      • Linux或Unix系統查看時區的方法:執行date -R查看時間和時區。

        下圖中的+0800表示裝置系統時區是東八區。

        +0800

    • OSS支援在多個地區使用。每個地區都使用GMT時間,發送請求的裝置系統時間也是GMT時間。

SecondLevelDomainForbidden

當使用次層網域訪問OSS或網域名稱格式不正確時,會返回此錯誤。

Please use virtual hosted style to access

  • 問題原因:Host格式錯誤。

  • 解決方案:通過外網訪問OSS服務時,以URL的形式表示訪問的OSS資源。OSS的URL結構為<Schema>://<Bucket>.<外網Endpoint>/<Object> 。其中Schema包含HTTP或者HTTPS,Bucket表示儲存空間名稱,外網Endpoint為Bucket所在資料中心供外網訪問的Endpoint,Object填寫上傳到OSS上的檔案的訪問路徑。

    例如Region為華東1(杭州),Bucket名稱為examplebucket,Object訪問路徑為destfolder/example.txt,則外網訪問地址為https://examplebucket.oss-cn-hangzhou.aliyuncs.com/destfolder/example.txt

The bucket you are attempting to access must be addressed using OSS third level domain

  • 問題原因:Bucket的請求網域名稱不為第三層網域名。

  • 解決方案:針對OSS的網路請求,除了GetService (ListBuckets)API以外,其他所有請求的網域名稱均由帶有指定Bucket資訊的第三層網域名組成。其中,訪問網域名稱結構為BucketName.Endpoint,BucketName為儲存空間名稱,Endpoint為儲存空間對應的地區網域名稱。例如https://examplebucket.oss-cn-hangzhou.aliyuncs.com

SecurityTokenExpired

當提供的安全性權杖已到期時,會返回此錯誤。

The security token you provided has expired

  • 問題原因:臨時訪問憑證已到期。

  • 解決方案:重新請求STS服務擷取臨時訪問憑證。

SecurityTokenNotSupported

當在不支援STS Token的地區或介面中使用安全性權杖時,會返回此錯誤。

Security token is not supported in this region

  • 問題原因:當前地區暫不支援使用STS Token。

  • 解決方案:關於哪些地區支援使用STS Token的詳情,請參見接入地址

This interface does not support security token

  • 問題原因:當前介面暫不允許通過臨時訪問憑證許可權進行調用。

  • 解決方案:STS Token僅適用於臨時授權給特定使用者訪問OSS資源。如需將Bucket開放給他人訪問,請參見存取控制概述選擇適用的授權機制。

SignatureDoesNotMatch

當用戶端提供的簽名與服務端計算的簽名不一致時,會返回此錯誤。

The request signature we calculated does not match the signature you provided

  • 問題原因:使用API介面或SDK訪問OSS時,用戶端需要攜帶簽名資訊以供OSS服務端進行身份認證。如果伺服器返回如上所示的響應,說明請求中提供的簽名與服務端計算的不一致,導致請求被拒絕。

  • 解決方案:請參考以下步驟進行排查。

    1. 確認簽名所用的AccessKey ID與AccessKey Secret是否填寫正確。

      可以使用AccessKey ID與AccessKey Secret登入ossbrowser來驗證正確性。具體步驟,請參見安裝ossbrowser 1.0

    2. 檢查簽名演算法是否正確。

      OSS提供兩種攜帶簽名的請求方式,分別為在Header中包含簽名在URL中包含簽名。關於這兩種簽名方式的演算法說明如下:

      • 在Header中包含簽名

        StringToSign = VERB + "\n"
                      + Content-MD5 + "\n" 
                      + Content-Type + "\n" 
                      + Date + "\n" 
                      + CanonicalizedOSSHeaders
                      + CanonicalizedResource
        Signature = base64(hmac-sha1(AccessKeySecret, StringToSign)
      • 在URL中包含簽名

        StringToSign = VERB + "\n" 
                      + CONTENT-MD5 + "\n" 
                      + CONTENT-TYPE + "\n" 
                      + EXPIRES + "\n" 
                      + CanonicalizedOSSHeaders
                      + CanonicalizedResource
        Signature = urlencode(base64(hmac-sha1(AccessKeySecret, StringToSign)))

      如果業務情境允許,推薦使用SDK訪問OSS,免去手動計算簽名的過程。具體步驟,請參見使用阿里雲SDK發起請求概述

    3. 比對響應體中的StringToSign欄位與發起請求的內容是否存在差異。

      StringToSign欄位表示待簽字串,即簽名演算法中需要使用AccessKey Secret進行加密的內容。

      請求樣本如下:

      PUT /bucket/abc?acl
      Date: Wed, 24 May 2023 02:12:30 GMT
      Authorization: OSS qn6q**************:77Dv****************
      x-oss-abc: mymeta

      以上請求計算得到的待簽字串應為:

      PUT\n\n\nWed, 24 May 2023 02:12:30 GMT\nx-oss-abc:mymeta\n/bucket/abc?acl

TransferAccelerationDisabled

當在不支援傳輸加速功能的地區使用傳輸加速時,會返回此錯誤。

Transfer acceleration is disabled

  • 問題原因:當前地區不支援傳輸加速功能。

  • 解決方案:請聯絡支援人員解決該問題。

UserDisable

當使用者帳號被禁用或未開通OSS服務時,會返回此錯誤。

UserDisable

  • 問題原因:

    • 帳號欠費或者由於安全原因,帳號被禁用。

    • 未開通OSS服務。

  • 解決方案:

    • 檢查帳號是否已欠費,或聯絡支援人員進行安全受限核查。

    • 開通OSS服務。

WORMConfigurationLocked

當合規保留原則鎖定後嘗試刪除策略時,會返回此錯誤。

The WORM Configuration is locked

  • 問題原因:合規保留原則鎖定後試圖刪除策略。

  • 解決方案:保留原則已提交鎖定後,不允許刪除此策略,且無法縮短策略保護周期,僅可以延長保護周期。詳情請參見保留原則