前言

  • 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.相关推荐

  1. 开发工具篇第八讲:阿里云OSS对象存储服务

    本文是开发工具篇第八讲:阿里云对象存储服务(Object Storage Service,简称 OSS),具有与平台无关的RESTful API接口,您可以在任何应用.任何时间.任何地点存储和访问任意 ...

  2. 【宝塔】【cloudreve】挂载阿里云OSS到ECS服务器内网上

    problem 安装Cloudreve时,直接将OSS的外网endpoint作为上传策略,导致额外的流量费用.而将Cloudreve的仪表盘中更改为内网endpoint,结果就是上传文件出现http错 ...

  3. ThinkPHP5整合阿里云oss

    [分享]ThinkPHP5整合阿里云oss 浏览:11716 发布日期:2016/12/24 分类:ThinkPHP5专区 关键字: thinkphp5 OSS 整合 社区推荐: 阿里云3月采购季活动 ...

  4. go 使用 gin 上传文件到 阿里云oss存储

    本文使用 go 版本是: go version go1.13 linux/amd64 阿里云oss go sdk版本:v2.0.4  官网可以下载 linux版本是:Linux version 3.1 ...

  5. oss客户端工具_阿里云服务器ECS上使用ossfs工具挂载阿里云OSS存储

    介绍:阿里云对象存储服务(Object Storage Service,简称OSS)可以提供基于网络的数据存取服务.使用OSS,可以通过网络随时存储和调用包括文本.图片.音频和视频等在内的各种非结构化 ...

  6. cloudreve 使用阿里云 oss 和 cdn 加速

    我们已经介绍过 如何在一台Linux服务器上部署Cloudreve程序 ,以及 如何部署阿里云的OSS以及配套的CDN 现在我们尝试将两者结合起来,将阿里的OSS挂载到cloudreve上,并且使用C ...

  7. 使用阿里云OSS服务搭建私人图床

    阿里云OSS服务搭建私人图床 由于Gitee搭建图床的不确定性,笔者开始使用云服务提供商的对象存储服务搭建私人图床.相比于免费的Gitee,一年平均10元的花费也不算贵,并且得到了更为优秀的体验,有兴 ...

  8. 小书匠绑定阿里云oss+阿里云oss图片url永久有效设置--菜鸟小回

    小书匠绑定阿里云oss+阿里云oss图片url永久有效设置 一.开通阿里云oss服务阿里云oss服务 二.创建Bucket 三.文件管理创建image/ 目录 四.进入小书匠绑定 访问入口:如图位置复 ...

  9. 阿里云OSS文件上传下载,拿来即用

    什么是OSS 我们可以理解为就是一个资源服务器,在这之前我也尝试过Nginx当静态资源服务器,但效果比较一般,为什么选择阿里云OSS,只是因为最近刚好公司用到了,所以就接入了,还有其他的比如七牛云,腾 ...

最新文章

  1. Windows内存管理学习笔记(三)—— 无处不在的缺页异常
  2. echarts在.Net中使用实例(一) 简单的Demo
  3. 51 nod 1097 拼成最小的数 思路:字符串排序
  4. android 怎么调用js项目_APP逆向神器之Frida【Android初级篇】
  5. error LNK2019 无法解析的外部符号 _WinMain@16,该符号在函数 “int __cdecl invoke_main(void)“
  6. Vijos P2010 回文日期【回文+日期计算】
  7. 1.12 Linux查看用户信息
  8. c语言程序从源代码到二进制机器码,C语言源代码转变为可执行程序的过程
  9. js 实现通过身份证获取年龄
  10. Hutool 导出excel并合并单元格
  11. 麦克风阵列概述与波束形成—(1) 麦克风阵列概述
  12. 无法处理文件 Snoop\Forms\BindingMap.resx,因为它位于 Internet 或受限区域中,或者文件上具有 Web 标记。要想处理这些文件,请删除 Web 标记。
  13. 【中医学】10 针灸-1
  14. Android 集成环信客服云
  15. php linux unoconv,Linux-CentOS 安装 Unoconv
  16. Ubuntu16.04安装ftp配置
  17. 服务器网卡支持万兆单模么,万兆网卡可以用网线吗
  18. 报告!优维科技EasyOps®️全栈运维平台又一大波新功能上线
  19. 计算机 无法进入pe,电脑无法进入pe系统_电脑无法进入pe界面
  20. 干货 | 双曲空间度量学习在情绪识别中的应用

热门文章

  1. 支持断线重连、永久watcher、递归操作并且能跨平台(.NET Core)的ZooKeeper异步客户端...
  2. Windows切换网段脚本
  3. JQ 实现点击按钮显示弹窗,点击非弹窗和按钮区域隐藏弹窗
  4. Linux系统优势六大方面
  5. Django——2 路由分配设置 re_path正则匹配 include总路由 url传参 name使用 模板渲染render方法 模板渲染方法...
  6. php 7.2 安装 mcrypt 扩展(亲测)
  7. 单机运行环境搭建之 --CentOS-6.4安装MySQL 5.6.10并修改MySQL的root用户密码
  8. PHP提示Deprecated: mysql_connect(): The mysql extension is deprecated的解决方法
  9. Go创建赋值channel
  10. c语言输出参数是out,关于C语言中的输出输入流