对象存储 OBS 入门:桶、对象与权限策略怎么理解

举报
yd_219600272 发表于 2026/10/26 09:53:36 2026/10/26
【摘要】 在云上保存图片、视频、日志和备份文件时,经常会遇到对象存储这个概念。本文从最基本的概念讲起,帮助新手建立一个清晰的理解框架:对象存储到底是什么,桶和对象是什么关系,不同存储类别该怎么选,程序又该通过哪些方式访问它,以及权限为什么要分成几种策略来管。一、什么是对象存储:与块存储、文件存储的区别对象存储把数据保存为一个个独立的对象。每个对象由数据本身、描述它的元数据和一个全局唯一的标识组成,访问...

在云上保存图片、视频、日志和备份文件时,经常会遇到对象存储这个概念。本文从最基本的概念讲起,帮助新手建立一个清晰的理解框架:对象存储到底是什么,桶和对象是什么关系,不同存储类别该怎么选,程序又该通过哪些方式访问它,以及权限为什么要分成几种策略来管。

一、什么是对象存储:与块存储、文件存储的区别
对象存储把数据保存为一个个独立的对象。每个对象由数据本身、描述它的元数据和一个全局唯一的标识组成,访问时不是按磁盘扇区定位,也不是沿着目录树一层层找文件,而是直接用标识找到这个对象。
块存储更像一块裸硬盘,它按固定大小分块,提供低延迟的随机读写能力,适合作为虚拟机系统盘或数据库的数据盘,但它本身不直接提供文件语义,扩展和跨机器共享也相对复杂。
文件存储则按目录和文件组织数据,支持多人按路径共享和协作,适合需要像本地文件夹一样操作的场景,但在大规模海量文件和高并发访问下,目录结构和元数据管理会成为瓶颈。
对象存储的优势在于海量扩展、按对象访问和成本结构灵活,适合静态网站资源、图片视频、日志归档和备份。但它不适合频繁修改文件中间某一段内容,也不适合依赖传统文件锁和目录遍历的程序。

二、桶与对象:先理解两个基本单位
桶是存放对象的容器,可以理解为对象存储里的顶层命名空间。创建桶时通常需要选择区域,区域决定了数据存放的位置和访问延迟,也影响合规与成本。桶名在同一区域内需要保持唯一,命名时要使用合法字符并避免敏感信息。
对象是桶里真正保存的内容。每个对象都有一个键,键看起来像路径,例如 images/2026/logo.png,但它本质上是一个扁平命名空间里的完整标识,而不是真正的文件夹。所谓文件夹,多数只是控制台为了方便展示而做的分组效果。
对象的元数据可以记录内容类型、自定义标记和版本信息。开启版本控制后,同一键的不同版本会被保留,误删或覆盖后仍有机会找回历史版本,这对重要数据是一种常见保护手段。

三、存储类别:标准、低频访问与归档怎么选
标准存储适合需要频繁读取的数据,例如网站图片、应用静态资源和经常被下载的文件。它的访问延迟低,使用方式最直观,但单位存储成本通常最高。
低频访问存储适合访问次数明显减少,但偶尔仍需要较快读取的数据,例如月度报表、历史图片和不常打开的项目资料。它的存储成本更低,但取回时可能产生取回费用,适合访问频率低但不能接受很长等待的场景。
归档存储适合长期保存、极少访问的冷数据,例如合规备份、历史日志和长期留存资料。它的存储成本最低,但取回需要等待一段时间,不能当作随时在线的热数据使用。
选择类别时,不要只看单价,要同时看访问频率、取回延迟、最小存储时长和取回费用。把热数据放进归档会因为取回等待影响业务,把冷数据长期放在标准存储里则会白白多付存储费用。

四、访问方式:控制台、API、SDK 与预签名 URL
控制台适合人工操作和学习,例如创建桶、上传少量文件、查看对象列表和临时调整配置。它的操作直观,但不适合批量和自动化场景。
API 适合程序直接调用,上传、下载、列举和删除都可以通过接口完成。程序需要携带身份凭证并按签名规则请求,适合把对象存储集成到已有系统里。
SDK 是对 API 的封装,常见语言都有对应版本,可以减少签名、重试和分片上传等重复工作。上传大文件时,分片上传可以把文件切成多个部分并行上传,失败后只需重传失败的分片。
预签名 URL 适合临时分享单个对象。服务端生成一个带过期时间的链接,收到链接的人在有效期内可以直接访问,不需要拿到账号的长期凭证。过期后链接失效,这是一种比直接公开对象更安全的临时分享方式。

五、权限三件套:IAM 策略、桶策略与 ACL 的区别
IAM 策略站在账号和用户的角度,规定某个用户或角色能对哪些资源执行哪些操作。它适合管理团队成员的权限,例如只给某位协作者某个桶的只读权限,或者只允许某个角色上传到指定前缀。
桶策略站在桶的角度,规定这个桶允许谁、在什么条件下访问。它适合跨账号共享、限定来源网络或只允许加密上传等场景。桶策略写在桶上,规则一旦生效就会影响该桶的整体访问。
ACL 是更早期的访问控制方式,粒度可以细到单个对象,主要用于简单的授权场景。它的表达能力有限,规则分散在对象上,维护起来不如前两种策略直观,新的项目一般应优先使用 IAM 策略和桶策略。
最小权限原则是贯穿三者的核心:只给完成任务所必需的权限,只开放必需的桶和前缀,只在必需的时间内有效。权限宁可先给小一点,再根据实际需要逐步放开,也不要一开始就给全部操作权限。

六、新手常见误区
第一,桶权限公开读写风险。把桶或对象设为公开读,意味着任何拿到链接的人都能访问;设为公开写,则可能被写入无关甚至有害内容。公开访问只应在明确需要公开分发静态资源的场景下使用,并定期检查权限配置。
第二,把对象存储当作网盘同步盘使用。对象存储没有本地文件夹那样的实时双向同步、文件锁和增量合并能力,频繁的小文件修改、直接在对象上编辑文档或多人同时改写同一对象,都容易出现覆盖和版本混乱。需要同步盘体验时,应使用专门的同步工具或应用层逻辑。
第三,忽视归档取回延迟。归档数据不是立即可以下载的,取回需要等待,紧急恢复时可能来不及。把可能需要快速恢复的备份放进归档之前,一定要确认业务能接受的恢复时间,并提前演练取回流程。

结语
理解对象存储,可以记住一条主线:桶是容器,对象是内容,存储类别决定成本与取回速度,访问方式决定谁能通过什么途径拿到数据,权限策略决定这些访问是否合法。先把这条主线理清,再结合具体场景选择类别和权限,就能避免把对象存储用成公开网盘,也能避免把冷热数据放错位置。

【声明】本内容来自华为云开发者社区博主,不代表华为云及华为云开发者社区的观点和立场。转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息,否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0)

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。