【阿里云OSS】403错误,AccessDenied:The bucket you access does not belong to you.
生活随笔
收集整理的這篇文章主要介紹了
【阿里云OSS】403错误,AccessDenied:The bucket you access does not belong to you.
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
前言
- Browser.js 6.x
Browser.js
官方文檔:https://help.aliyun.com/document_detail/64040.html
GITHUB地址:https://gitee.com/mirrors/ali-oss
GITEE鏡像地址:https://github.com/ali-sdk/ali-oss
示例:列出所有對象(測試bucket,對象數量較少)
<html> <head> </head> <body></body><!-- Introducing online resources --><script src="aliyun-oss-sdk.min.js"></script><script type="text/javascript">const client = new OSS({region: 'oss-cn-beijing',accessKeyId: 'STS.NTbFYrajjBxfz9zTKxxxxxxx',accessKeySecret: 'GcvcZfGkkEd4fJfQu9gVDMjxvXxxxxxxxxxxxx',stsToken: 'CAISgAJ1q6Ft5B2yfSjIr5fXDePGjLVL9bqNeB/LsEsdfxxxxxxxxxxxxxxxxxxxx...xxxxxxx=',refreshSTSToken: async () => {const info = await fetch('you sts server');return {accessKeyId: info.accessKeyId,accessKeySecret: info.accessKeySecret,stsToken: info.stsToken}},refreshSTSTokenInterval: 300000,bucket: 'bucket name'});client.list().then((result) => {console.log('object list : ', result.objects);}); </script> </html>遇到錯誤
執行示例后,遇到403錯誤:AccessDenied:The bucket you access does not belong to you.
分析
現象1
- 使用 accessKeyId、accessKeySecret 執行示例,沒有錯誤。
- 使用STS生成的accessKeyId、accessKeySecret、stsToken執行示例,出現403錯誤。
可以判定錯誤與STS相關。
現象2
- 403錯誤:AccessDenied:The bucket you access does not belong to you.
經過查找,找到2個相關的文檔:
- 阿里云 The bucket you access does not belong to you
- 訪問OSS時出現403狀態碼的排查方法
可以判定錯誤為:沒有權限訪問此bucket。
綜合現象1和現象2,可以判定錯誤為:使用STS方式時,沒有權限訪問此bucket。
錯誤原因
- 與STS方式相關的說明略(可參考這里)。
- 使用STS方式時,需要創建RAM用戶,再創建RAM角色。
- 使用STS方式創建授權時,對于Policy:如果指定該權限策略,則STS Token最終的權限策略取RAM角色權限策略與該權限策略的交集;如果不指定該權限策略,則STS Token最終的權限策略取RAM角色的權限策略。
本次錯誤因RAM角色的權限策略引起:RAM用戶具備操作bucket的權限,RAM角色不具備操作bucket的權限。
解決辦法
為RAM角色添加操作bucket的權限(AliyunOSSFullAccess)。
總結
以上是生活随笔為你收集整理的【阿里云OSS】403错误,AccessDenied:The bucket you access does not belong to you.的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 漫威电影《X 战警》全系列上线B站
- 下一篇: 【CSDN】设置图片大小