用 Blob0 连接阿里云 OSS

从创建私有阿里云 OSS Bucket、配置仅限该桶的 RAM 权限,到在 Mac 版 Blob0 填写正确的 S3 Endpoint 与 Region 并测试连接。

本教程使用 Blob0 0.3.1 的连接表单,以华北 2(北京)地域的 OSS Bucket 为例。截图来自阿里云中文控制台;存储量和请求仍按你的阿里云账户计费。

下载 Mac 版 Blob0

1. 创建私有 OSS Bucket

  1. 打开阿里云 OSS 控制台,点击创建 Bucket。填写全局唯一的名称,并按数据存放需求选择地域。Bucket 名称和地域创建后不能修改。

    阿里云创建 Bucket 表单:标准存储、本地冗余和阻止公共访问
  2. 普通文件库可选标准存储。示例使用本地冗余;如果需要更高可用性,可以按实际需求选择费用更高的同城冗余。保持“阻止公共访问”开启,并将“读写权限”设为“私有”。

    阿里云 OSS 创建成功页:北京地域、私有读写权限
  3. 创建后核对 Bucket 名称、地域和私有设置。新 Bucket 的文件列表为空属于正常情况。控制台显示的 OSS Endpoint 与 Blob0 需要的 S3 兼容 Endpoint 有一个前缀差异,见下文。

    新建私有 Bucket 的空文件列表

Blob0 通过 S3 API 鉴权连接。管理私有 Bucket 不需要开启公共读、公开域名,也不需要关闭“阻止公共访问”。

2. 创建最小权限 RAM 用户

  1. 在 RAM → 用户中创建专供程序访问的用户。勾选“使用永久 AccessKey 访问”,不要开启控制台访问。不要使用主账号 AccessKey,它的权限远超当前 Bucket。
  2. 在 RAM → 权限策略中用“脚本编辑”创建自定义策略。将下方两处 your-bucket 都替换为准确的 Bucket 名称,再把策略授予该 RAM 用户。桶级资源用于列出根目录,对象级资源用于文件读写和分片清理。
  3. 创建用户时保存 AccessKey ID 和 AccessKey Secret。Secret 只显示一次。配置 Blob0 期间可暂存于密码管理器,不要写入截图、Issue 或代码仓库。

以下是仅限单个 Bucket 的 RAM 策略示例:允许文件操作,不授予建桶、删桶或访问其他 Bucket 的权限。实际功能需要额外操作时,再按需增加权限。

{
  "Version": "1",
  "Statement": [
    {
      "Effect": "Allow",
      "Action": ["oss:ListObjects", "oss:GetBucketInfo"],
      "Resource": "acs:oss:*:*:your-bucket"
    },
    {
      "Effect": "Allow",
      "Action": [
        "oss:GetObject", "oss:PutObject", "oss:DeleteObject",
        "oss:AbortMultipartUpload", "oss:ListParts"
      ],
      "Resource": "acs:oss:*:*:your-bucket/*"
    }
  ]
}

3. 在 Blob0 填写连接

打开 Settings → Connections → Add connection,点击“改用访问密钥”,在“服务商”中选择 Alibaba Cloud OSS。首次启动时,也可以从连接页进入手动密钥配置。

OSS 控制台显示的原生 Endpoint 例如 oss-cn-beijing.aliyuncs.com;Blob0 的 S3 兼容预设要增加 s3. 前缀,填写 https://s3.oss-cn-beijing.aliyuncs.com。其他地域要同时改 Endpoint 和 Region。该预设使用 virtual-hosted 寻址。

Blob0 阿里云 OSS 连接表单,填有北京 S3 Endpoint 与 Region,密钥字段为空
截图使用独立的空演示 Bucket;画面已裁掉账户信息及其他 Bucket,所有图片都没有 AccessKey 或 Secret。
3. 在 Blob0 填写连接
字段填写内容
服务商Alibaba Cloud OSS
连接名称Mac 上的本地名称,例如 Alibaba OSS Guide
S3 API Endpoint北京 Bucket 填 https://s3.oss-cn-beijing.aliyuncs.com
存储桶准确的 Bucket 名称,不带 oss://、Endpoint 或文件夹路径
区域北京 Bucket 填 cn-beijing;其他地域填实际 Region ID
Access Key ID专用 RAM 用户的 AccessKey ID
Secret Access Key同一组密钥的 Secret,由 Blob0 保存在 macOS 钥匙串
公开域名 / 自定义域名私有 Bucket 留空;这里不是 S3 API Endpoint

4. 测试并保存连接

  1. 点击“测试连接”。出现 Connected 表示 Blob0 能列出 Bucket 根目录;新 Bucket 显示 0 items 是正常结果。此测试不证明上传、下载、删除权限可用。
  2. 点击“添加连接”保存配置并打开 Bucket。Secret 存在 macOS 钥匙串,连接配置文件只保存非敏感元数据。
  3. 如需写入能力,可上传一个可丢弃的小文件,下载并核对内容,最后只删除这个测试对象。正式存放文件前应确认各项操作都可用。
Blob0 已连接私有 OSS Bucket,一份临时文件的上传和下载均已完成
2026 年 10 月 30 日使用 Blob0 实测:临时文件上传、下载成功,下载内容与原文件逐字节一致。截图不含密钥。

故障排查

AccessDenied / 403
核对 RAM 策略是否授予了 AccessKey 所属用户。ListObjects 应作用于 Bucket 资源,文件操作应作用于 bucket/*;不需要关闭“阻止公共访问”。
SignatureDoesNotMatch
确认 AccessKey ID 与 Secret 配套,Endpoint 以 s3.oss- 开头且地域正确,并检查 Mac 系统时间。
NoSuchBucket / 404
核对准确桶名,以及 Region 和 Endpoint 是否与 Bucket 地域一致。OSS 的 S3 请求不会自动跨地域重定向。
PublicEndpointForbidden
2025 年 3 月 20 日及之后新开通 OSS 的用户,在中国内地地域调用默认公网域名的数据 API 会受到限制,可能需要服务商的自定义域名。用于 Blob0 前应另行验证该域名的 S3 兼容性;把 Bucket 改为公开不能解决此限制。
分片上传失败
检查 PutObject 和 AbortMultipartUpload 权限。OSS 将分片初始化、上传和完成映射到 PutObject,清理分片需要 AbortMultipartUpload。

联系支持时可提供 Blob0 版本、Bucket 地域、操作和错误代码;截图或日志中应遮盖 AccessKey、账户 ID 和带签名的分享链接。如果密钥泄露,请轮换。

联系 Blob0 支持

官方文档

浏览全部对象存储指南