OSS返回403錯誤的原因和解決方案。
AbnormalBucketOwnerStatus
當目標Bucket的所屬使用者賬戶狀態異常時,會返回此錯誤。
The status of the bucket owner is abnormal
問題原因:暫未向目標Bucket的所屬使用者提供服務。
解決方案:檢查使用者的阿里雲帳號是否已登出或因安全等原因被管控,確認是否因欠費原因被電訊廠商暫停服務。
AccessDenied
當使用者沒有執行特定操作的許可權時,會返回此錯誤。
Access denied by authorizer's policy
Access denied by bucket policy
問題原因:通過Bucket Policy的授權訪問被拒絕。
解決方案:根據不同使用情境靈活配置Bucket Policy。詳情請參見通過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
問題原因:匿名使用者沒有該操作的對應許可權。
解決方案:通過Bucket Policy授權匿名使用者存取目標Bucket中的指定資源。詳情請參見通過Bucket Policy授權使用者訪問指定資源。
Anonymous user has no right to access this bucket
問題原因:匿名使用者無權訪問此Bucket。
解決方案:通過Bucket Policy授權匿名使用者存取目標Bucket。詳情請參見通過Bucket Policy授權使用者訪問指定資源。
Anonymous user has no right to access this object
問題原因:匿名使用者無權訪問此Object。
解決方案:通過Bucket Policy授權匿名使用者存取目標Bucket中的指定資源。詳情請參見通過Bucket Policy授權使用者訪問指定資源。
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
問題原因:請求已到期。
解決方案:根據實際使用情境,設定合理的Expires。關於在上傳檔案時如何設定Expires,請參見PutObject、PostObject、AppendObject和InitiateMultipartUpload。
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
問題原因:RAM使用者無權訪問此Object。
解決方案:確認RAM使用者是否擁有Object相關操作許可權。根據使用情境設定不同存取權限的詳情,請參見教程樣本:使用RAM Policy控制OSS的存取權限。
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
問題原因:沒有配置CORS或CORS配置錯誤。
解決方案:參見設定跨域資源共用進行排查。
AccessKeyIdAndSecurityTokenNotMatch
當提供的AccessKey ID和安全性權杖不匹配時,會返回此錯誤。
The OSS access key id and security token you provided does not match
問題原因:使用者提供的AccessKey和臨時訪問憑證不匹配。
解決方案:參見使用STS臨時訪問憑證訪問OSS進行排查。
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
問題原因:臨時訪問憑證無效。
解決方案:請參見使用STS臨時訪問憑證訪問OSS進行排查。
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.com和oss-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表示裝置系統時區是東八區。

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服務端進行身份認證。如果伺服器返回如上所示的響應,說明請求中提供的簽名與服務端計算的不一致,導致請求被拒絕。
解決方案:請參考以下步驟進行排查。
確認簽名所用的AccessKey ID與AccessKey Secret是否填寫正確。
可以使用AccessKey ID與AccessKey Secret登入ossbrowser來驗證正確性。具體步驟,請參見安裝ossbrowser 1.0。
檢查簽名演算法是否正確。
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發起請求概述。
比對響應體中的
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
問題原因:合規保留原則鎖定後試圖刪除策略。
解決方案:保留原則已提交鎖定後,不允許刪除此策略,且無法縮短策略保護周期,僅可以延長保護周期。詳情請參見保留原則。

