🪣 S3 — AWS兼容对象存储管理
v1.0.0指导如何安全地使用S3兼容对象存储,包括安全策略、生命周期管理、访问模式和成本优化等最佳实践。
2· 1,400·13 当前·13 累计
安全扫描
OpenClaw
安全
high confidence此技能仅提供指南,不请求凭据、安装代码或执行超出范围的操作,适用于S3兼容对象存储的最佳实践。
评估建议
该技能为只读的最佳实践文档(无代码、无安装、无秘密请求),看起来安全。使用时,请遵循最小权限、在非生产环境测试生命周期/复制规则,并谨慎生成/共享预签名URL。...详细分析 ▾
✓ 用途与能力
SKILL.md 内容(生命周期、预签名URL、版本控制、CORS、成本、提供商差异)与名称和描述匹配,无不相关的能力或请求。
✓ 指令范围
指令为建议,专注于S3概念和运营建议,不指示代理读取文件、访问环境变量、调用外部端点或执行系统操作。
✓ 安装机制
无安装规格或代码文件(仅指令),因此安装时不会写入磁盘或获取内容。
✓ 凭证需求
技能未声明任何必需的环境变量、凭据或配置路径,适合仅提供指导的文档风格技能。
✓ 持久化与权限
always 为 false,技能不请求持久存在或修改系统/其他技能设置;允许自主调用(平台默认),但由于技能为只读指南,不增加风险。
安全有层次,运行前请审查代码。
运行时依赖
🖥️ OSLinux · macOS · Windows
版本
latestv1.0.02026/2/10
初始发布
● 无害
安装命令 点击复制
官方npx clawhub@latest install s3
镜像加速npx clawhub@latest install s3 --registry https://cn.clawhub-mirror.com
技能文档
公共访问控制
- 默认拒绝公共访问——仅在需要时开放(静态主机)
- 存储桶策略 vs IAM:跨账号/公共使用存储桶策略,同账号角色使用IAM
- 检查存储桶级和账号级块设置——账号设置可覆盖存储桶设置
- 对于Web资产, предпочтение CDN 前置存储桶而非直接公共访问
预签名URL
- 设置实际使用的最短过期时间——几分钟用于即时使用,不是几天
- URL 是承载令牌——任何拥有它的人都有访问权限;将其视为秘密
- 在签名中指定HTTP方法——下载使用GET,上传使用PUT
- 上传时包含Content-Type——签名和请求的不匹配会导致403错误
- 服务器端生成,从不在客户端暴露凭据
生命周期规则
- 将不频繁访问的对象转移到更便宜的层——但检查最小存储时长罚款
- 自动删除临时文件、日志、旧版本——防止存储无限增长
- 清除不完整的多部分上传——它们会不可见地积累;设置中止规则(通常7天)
- 版本化存储桶:为当前和非当前版本分开规则
版本行为
- 在需要之前启用版本控制——没有版本控制无法恢复删除的对象
- “删除”创建删除标记——对象被隐藏但版本仍然存在;存储仍然被消耗
- 永久删除需要明确的版本ID——没有它,只会添加标记
- 非当前版本过期是必需的——否则旧版本将永远积累
多部分上传
- 大于5GB时必需,建议大于100MB时使用——单个PUT有大小限制
- 不完整的上传在正常列表中不可见——静默消耗存储
- 通过生命周期或手动使用
list-multipart-uploads中止不完整的上传 - 并行部分上传以提高速度——部分可以并发上传
浏览器访问的CORS
- JavaScript直接上传/下载所必需——没有CORS头会被阻止
- 指定确切的来源——对认证请求避免使用通配符
* - 暴露JavaScript需要读取的头——Content-Length、ETag、自定义头
- AllowedMethods:下载使用GET,上传使用PUT,如果需要使用DELETE
键命名
- 使用前缀,如目录:
users/123/avatar.jpg——但S3是平的,不是层次结构的 - 避免高吞吐量的顺序前缀——
2024-01-01/file1可能导致热点 - 写入密集型存储桶使用随机前缀或哈希——分布在分区中
- 无前导斜杠——
/images/file.jpg创建空字符串前缀
成本意识
- 请求量很重要——许多小文件比少量大文件更昂贵
- 出站流量通常很昂贵——CDN通过边缘缓存减少出站流量
- 不同层的最小存储时长不同——提前删除仍然会收取全期费用
- 生命周期转换有每对象成本——数百万个小文件转换成本高
复制
- 跨区域用于灾难恢复,同区域用于合规性副本
- 源和目标存储桶都需要版本控制
- 仅新对象复制——现有对象需要手动复制或批量操作
- 删除标记默认不复制——如果需要,请明确启用
提供商差异
- AWS S3:完整功能集,大多数工具假设AWS行为
- Cloudflare R2:无出站费,功能子集
- Backblaze B2:S3兼容API,不同的定价模型
- MinIO:自托管,完整的S3 API兼容性
- 检查预签名URL兼容性——一些提供商有怪癖
数据来源:ClawHub ↗ · 中文优化:龙虾技能库
OpenClaw 技能定制 / 插件定制 / 私有工作流定制
免费技能或插件可能存在安全风险,如需更匹配、更安全的方案,建议联系付费定制