使用文档
存储配置

阿里云 OSS 配置

创建私有桶、最小范围访问账号、CORS,并完成第一次保存验证

1. 准备账号和私有桶

登录阿里云控制台,开通 OSS。创建用于自己密码库的 Bucket,选择合适地域,保持私有读写。记录准确的 Bucket 名称与地域,例如 oss-cn-beijing

不要使用本官网图片下载的资源桶来存个人密码,也不要使用公共演示环境保存真实账号

2. 创建专用访问凭据

在 RAM 中创建专用子用户,启用程序访问并保存 AccessKey ID 与 AccessKey Secret。只授予专用密码桶必要对象范围的权限,避免使用主账号 AccessKey 或全账号管理权限

当前密码与设置主要使用 password-xl/store.jsonpassword-xl/setting.json。客户端会读写对象、查询 ETag,并在相应清理操作中删除对象,因此需要 GET、PUT、HEAD、DELETE 对应能力

下面是对象前缀限定的策略示例;将 YOUR_PRIVATE_BUCKET 替换为自己的专用桶,按实际云策略校验结果保存:

{
  "Version": "1",
  "Statement": [
    {
      "Effect": "Allow",
      "Action": ["oss:GetObject", "oss:PutObject", "oss:DeleteObject"],
      "Resource": ["acs:oss:*:*:YOUR_PRIVATE_BUCKET/password-xl/*"]
    }
  ]
}

HEAD 对象读取通常由 GetObject 权限覆盖。若控制台或 SDK 具体操作报告缺少额外权限,先依据失败请求定位所需动作,不直接扩展为全桶或全账号管理权限

3. 配置跨域 CORS

在 Bucket 权限管理的跨域规则中允许实际使用的 Web 来源:

字段示例
来源https://password-xl.cn,以及自己的前端域名
方法GET、PUT、HEAD、DELETE
允许请求头*,或经实际请求验证的签名请求头集合
暴露响应头ETag
缓存预检时间可按控制台默认或适当短时配置

来源要包含协议和端口,不包含路径。开发环境如 http://localhost:5173 是另一个来源。CORS 只允许浏览器读取跨域响应,不能替代访问权限策略,也无需把 Bucket 改成公共读写

4. 在 password-XL 登录

选择“阿里云 OSS”,输入地域、Bucket、AccessKey ID 和 Secret,按页面要求填写。不要把 CDN 域名当成 OSS 地域,也不要把 ARN/资源路径当成 Bucket 名

登录后创建主密码,保存一条虚构测试记录。重新连接并解锁,确认记录存在。再在另一设备使用同一 Bucket 与主密码读取,验证跨设备访问

5. 备份与轮换

定期导出 JSON,保留设置和云配置的独立备份。需要轮换 AccessKey 时先创建新的最小权限凭据,在一台客户端验证读写,再更新其他设备,最后停用旧凭据

故障排查

错误检查方向
AccessDenied / 403RAM 策略、对象前缀、Bucket 所属账号、密钥是否启用
SignatureDoesNotMatchID/Secret 是否配对、输入是否多空格、系统时间与地域
CORS / Failed to fetch真实来源、请求方法、请求头、暴露 ETag、网络
能读不能保存PutObject 权限、存储空间与请求错误,不是主密码问题
切换设备为空Bucket、地域、对象前缀、主密码是否与原环境一致

云厂商控制台可能调整菜单,权限字段以OSS 官方文档为准