WEB安全
00-HTTP协议
01-前端基础【HTML】
02-前端基础【CSS】
03-后端基础【PHP速通】
04-后端基础【PHP面向对象】
05-MySQL基础操作
06-前后端联动【代码练习】
07-SQL注入
08-SQL注入 Labs
09-跨站脚本攻击【XSS】
09-XSS Labs
10-CSRF
11-SSRF
12-XML 外部实体注入【XXE】
13-代码执行漏洞
14-命令执行漏洞
15-文件包含漏洞
16-文件上传漏洞
17-反序列化漏洞
18-业务逻辑漏洞
19-未授权访问漏洞集合
20-跨源资源共享【CORS】
21-SSTI模板注入
22-并发漏洞
23-点击劫持【Clickjacking 】
24-请求走私
25-路径遍历
26-访问控制
27-身份验证漏洞
28-WebSocket
29-Web缓存中毒
30-HTTP 主机头攻击
31-信息泄露漏洞
32-原型污染
33-API概述
34-API分类类型
35-API交换格式
36-API身份验证
37-API常见漏洞
38-crAPI靶场
39-JWT
40-DVGA靶场
41-服务器端参数污染
42-API Labs
43-OAuth Labs
44-GraphQL API Labs
45-JWT Labs
46-小程序抓包
47-云存储
48-对象存储OSS
49-存储桶
50-存储桶漏洞
51-STS访问OSS
-
+
48-对象存储OSS
浏览
1
阿里云对象存储OSS(Object Storage Service)是一款海量、安全、低成本、高可靠的云存储服务,可提供99.9999999999%(12个9)的数据持久性,99.995%的数据可用性。多种存储类型供选择,全面优化存储成本。 OSS具有与平台无关的RESTful API接口,您可以在任何应用、任何时间、任何地点存储和访问任意类型的数据。 使用阿里云提供的API、SDK包或者OSS迁移工具轻松地将海量数据移入或移出阿里云OSS。 数据存储到阿里云OSS以后,可以选择标准存储(Standard)作为移动应用、大型网站、图片分享或热点音视频的主要存储方式,也可以选择成本更低、存储期限更长的低频访问存储(Infrequent Access)、归档存储(Archive)、冷归档存储(Cold Archive)或者深度冷归档(Deep Cold Archive)作为不经常访问数据的存储方式。 ## 工作原理 数据以对象(Object)的形式存储在OSS的存储空间(Bucket )中。 如果要使用OSS存储数据,需要先创建Bucket,并指定Bucket的地域、访问权限、存储类型等属性。创建Bucket后,可以将数据以Object的形式上传到Bucket,并指定Object的文件名(Key)作为其唯一标识。 OSS以HTTP RESTful API的形式对外提供服务,访问不同地域需要不同的访问域名(Endpoint)。当请求访问OSS时,OSS通过使用**访问密钥(AccessKey ID和AccessKey Secret)对称加密**的方法来验证某个请求的发送者身份。 ## 基本概念 > 存储空间 存储空间是用户用于存储对象(Object)的容器,所有的对象都必须隶属于某个存储空间。存储空间具有各种配置属性,包括地域、访问权限、存储类型等。用户可以根据实际需求,创建不同类型的存储空间来存储不同的数据。 - 同一个存储空间的内部是扁平的,没有文件系统的目录等概念,所有的对象都直接隶属于其对应的存储空间。 - 每个用户可以拥有多个存储空间。 - 存储空间的名称在OSS范围内必须是全局唯一,存储空间创建成功后,名称将无法修改。 **说明** :全局唯一表示阿里云所有的用户创建的Bucket名称都不能相同。例如用户A创建了名称为example的Bucket,其他用户无法再次创建名称为example的Bucket。 - 存储空间内部的对象数目没有限制。 存储空间的命名规范如下: - 只能包括小写字母、数字和短划线(-)。 - 必须以小写字母或者数字开头和结尾。 - 长度必须在3~63字符之间。 > 对象 对象是OSS存储数据的基本单元,也被称为OSS的文件。和传统的文件系统不同,对象没有文件目录层级结构的关系。**对象由元数据(Object Meta)、用户数据(Data)和文件名(Key)组成**,并且由存储空间内部唯一的Key来标识。对象元数据是一组键值对,表示了对象的一些属性,例如文件类型、编码方式等信息,同时用户也可以在元数据中存储一些自定义的信息。 对象的生命周期是从上传成功到被删除为止。在整个生命周期内,除使用追加方式上传的Object可以通过继续追加上传写入数据外,使用其他方式上传的Object内容无法编辑,可以通过重复上传同名的对象来覆盖之前的对象。 对象的命名规范如下: - 使用UTF-8编码。 - 长度必须在1~1023字符之间。 - 不能以正斜线(/)或者反斜线(\)开头。 **说明** :对象名称需要区分大小写。 > ObjectKey 在各语言SDK中,ObjectKey、Key以及ObjectName是同一概念,均表示对Object执行相关操作时需要填写的Object名称。 例如向某一存储空间上传Object时,ObjectKey表示上传的Object所在存储空间的完整名称,即包含文件后缀在内的完整路径,如填写为`abc/efg/123.jpg`。 > Object类型 Object包含以下三种类型: - Normal:通过简单上传生成的Object。上传结束之后内容是固定的,只能读取,不能修改。如果Object内容发生了改变,只能重新上传同名的Object来覆盖之前的内容。简单上传适用于上传小于5 GB的单个文件、一次HTTP请求交互即可完成上传的场景。 - Multipart:通过分片上传生成的Object。上传结束之后内容是固定的,只能读取,不能修改。如果Object内容发生了改变,只能重新上传同名的Object来覆盖之前的内容。分片上传适用于大文件加速上传、网络环境较差、文件大小不确定的场景。 - Appendable:通过追加上传生成的Object。追加上传可在视频数据产生之后即时将数据上传至同一个Object。追加上传适用于视频监控、视频直播等领域生成的实时视频流场景。 注意:不支持在不同类型的Object之间相互转换。例如,Normal类型的Object无法转换为Multipart或者Appendable类型。 > 地域 Region表示OSS的数据中心所在物理位置。用户可以根据费用、请求来源等选择合适的地域创建Bucket。一般来说,距离用户更近的Region访问速度更快。 更多信息,请参见[OSS已经开通的Region](https://help.aliyun.com/zh/oss/regions-and-endpoints?spm=a2c4g.11186623.0.0.27c954b5jRMw3d#concept-zt4-cvy-5db)。 Region是在创建Bucket的时候指定的。Bucket创建成功后,Region将无法修改。该Bucket下所有的Object都存储在对应的数据中心,目前不支持Object级别的Region设置。 > 访问域名 Endpoint表示OSS对外服务的访问域名。OSS以HTTP RESTful API的形式对外提供服务,当访问不同的Region的时候,需要不同的域名。 通过内网和外网访问同一个Region所需要的Endpoint也是不同的。例如:杭州Region的外网Endpoint是oss-cn-hangzhou.aliyuncs.com,内网Endpoint是oss-cn-hangzhou-internal.aliyuncs.com。 > AccessKey(访问密钥) AccessKey简称AK,指的是访问身份验证中用到的AccessKey ID和AccessKey Secret。 OSS通过使用AccessKey ID和AccessKey Secret对称加密的方法来验证某个请求的发送者身份。 AccessKey ID用于标识用户;AccessKey Secret是用户用于加密签名字符串和OSS用来验证签名字符串的密钥,必须保密。 对于OSS来说,AccessKey的来源有: - Bucket的拥有者申请的AccessKey。 - 被Bucket的拥有者通过RAM授权给第三方请求者的AccessKey。 - 被Bucket的拥有者通过STS授权给第三方请求者的AccessKey。 > 原子性和强一致性 原子性:Object操作在OSS上具有原子性,操作要么成功要么失败,不存在中间状态的Object。当Object上传完成时,OSS即可保证读到的Object是完整的,OSS不会返回给用户一个部分上传成功的Object。 强一致性:Object操作在OSS同样具有强一致性,当用户收到了上传(PUT)成功的响应时,该上传的Object进入立即可读状态,并且Object的冗余数据已经写入成功。不存在上传的中间状态,即执行read-after-write,却无法读取到数据。对于删除操作,用户删除指定的Object成功之后,该Object立即不存在。 > 数据冗余机制 OSS使用基于纠删码的数据冗余存储机制,确保硬件失效时的数据持久性和可用性。 OSS Object操作具有强一致性,当用户收到了上传或复制成功的响应时,该上传的Object就已经立即可读,且数据已经冗余写入到多个设备中。 OSS会通过计算网络流量包的校验和,验证数据包在客户端和服务端之间传输中是否出错,保证数据完整传输。 OSS的冗余存储机制,可支持两个存储设施并发损坏时,仍维持数据不丢失。 - 当数据存入OSS后,OSS会检测和修复丢失的冗余,确保数据持久性和可用性。 - OSS会周期性地通过校验等方式验证数据的完整性,及时发现因硬件失效等原因造成的数据损坏。当检测到数据有部分损坏或丢失时,OSS会利用冗余的数据,进行重建并修复损坏数据。 > 术语表 | **英文** | **中文** | | ------------------------- | ------------------------------------------------------ | | Bucket | 存储空间 | | Object | 对象或者文件 | | Endpoint | OSS访问域名 | | Region | 地域或者数据中心 | | AccessKey | AccessKey ID和AccessKey Secret的统称,访问密钥 | | Put Object | 简单上传 | | Post Object | 表单上传 | | Multipart Upload | 分片上传 | | Append Object | 追加上传 | | Get Object | 简单下载 | | Callback | 回调 | | Object Meta | 文件元数据。用来描述文件信息,例如文件类型、编码方式等 | | Data | 文件数据 | | Key | 文件名 | | ACL (Access Control List) | 存储空间或者文件的权限 | ## 重要特性 版本控制:版本控制是针对存储空间(Bucket)级别的数据保护功能。开启版本控制后,针对数据的覆盖和删除操作将会以历史版本的形式保存下来。在错误覆盖或者删除文件(Object)后,能够将Bucket中存储的Object恢复到任意时刻的历史版本。 Bucket Policy:Bucket拥有者可通过Bucket Policy授权不同用户以何种权限访问指定的OSS资源。例如需要进行跨账号或对匿名用户授权访问或管理整个Bucket或Bucket内的部分资源,或者需要对同账号下的不同RAM用户授予访问或管理Bucket资源的不同权限,例如只读、读写或完全控制的权限等。 跨区域复制:跨区域复制(Cross-Region Replication)是跨不同OSS数据中心(地域)的Bucket自动、异步(近实时)复制Object,它会将Object的创建、更新和删除等操作从源存储空间复制到不同区域的目标存储空间。跨区域复制功能满足Bucket跨区域容灾或用户数据复制的需求。 数据加密: - 服务器端加密:上传文件时,OSS对收到的文件进行加密,再将得到的加密文件持久化保存;下载文件时,OSS自动将加密文件解密后返回给用户,并在返回的HTTP请求Header中,声明该文件进行了服务器端加密。 - 客户端加密:将文件上传到OSS之前在本地进行加密。 数据永久保存:除以下情况以外,OSS默认永久保存上传到Bucket的数据: - 通过OSS控制台、API、SDK、ossutil或者ossbrowser等工具手动删除数据。 - 通过生命周期规则在指定时间内自动删除数据。 - OSS停服后15天内未补足欠款。 ## 使用方式 OSS提供多种灵活的上传、下载和管理方式。 > 通过控制台管理OSS OSS提供了Web服务页面,您可以登录[OSS控制台](https://oss.console.aliyun.com/overview)管理您的OSS资源。 > 通过API或SDK管理OSS OSS提供RESTful API和各种语言的SDK开发包,方便您快速进行二次开发。更多信息,请参见[OSS API参考](https://help.aliyun.com/zh/oss/developer-reference/list-of-operations-by-function#reference-wrz-l2q-tdb)和[OSS SDK参考](https://help.aliyun.com/zh/oss/developer-reference/overview-21#concept-dcn-tp1-kfb)。 > 通过工具管理OSS OSS提供图形化管理工具ossbrowser、命令行管理工具ossutil、FTP管理工具ossftp等各种类型的管理工具。更多信息,请参见[OSS常用工具](https://help.aliyun.com/zh/oss/developer-reference/oss-tools#concept-owg-knn-vdb)。 > 通过云存储网关管理OSS OSS的存储空间内部是扁平的,没有文件系统的目录等概念,所有的对象都直接隶属于其对应的存储空间。如果您想要像使用本地文件夹和磁盘的方式来使用OSS存储服务,可以通过配置云存储网关来实现。更多信息,请参见[云存储网关产品详情页面](https://www.aliyun.com/product/hcs)。 ## OSS计费 对象存储OSS支持以下计费方式。 按量付费:所有计费项默认采用按量付费。按照各计费项的实际用量结算费用,先使用,后付费,适用于业务用量经常有变化的场景。更多信息,请参见[按量付费](https://help.aliyun.com/zh/oss/pay-as-you-go-1#concept-2247263)。 资源包:针对部分常用计费项支持专用的资源包。预先购买针对不同的计费项推出的优惠资源包,在费用结算时,优先从资源包抵扣用量,先购买,后抵扣,适用于业务用量相对稳定的场景。更多信息,请参见[资源包概述](https://help.aliyun.com/zh/oss/resource-plan/#concept-l43-j4h-tdb)。 预留空间:针对有地域属性Bucket产生的标准存储(本地冗余)容量费用以及ECS快照存储费用的预付费产品。预先购买预留空间,在费用结算时,优先从预留空间抵扣用量,先购买,后抵扣。更多信息,请参见[预留空间](https://help.aliyun.com/zh/oss/reserved-capacity#main-2309838)。 无地域属性预留空间:针对无地域属性Bucket产生的标准存储(本地冗余)容量费用的预付费产品。预先购买无地域属性的预留空间,在费用结算时,优先从无地域属性预留空间抵扣用量,先购买,后抵扣。更多信息,请参见[无地域属性预留空间](https://help.aliyun.com/zh/oss/anywhere-reserved-capacity#main-2309689)。 存储容量单位包SCU:针对存储费用支持SCU。SCU除了用于抵扣OSS的存储费用,还可用于抵扣多种云存储产品存储容量费用。更多信息,请参见[存储容量单位包SCU](https://help.aliyun.com/zh/oss/scu#concept-2005963)。
毛林
2026年11月15日 18:27
转发文档
收藏文档
上一篇
下一篇
评论(0)
登录
后可发表评论
还没有评论,来抢沙发~
手机扫码
复制链接
手机扫一扫转发分享
复制链接
Markdown文件
Word文档
PDF文档(打印)
分享
链接
类型
密码
更新密码
还没有评论,来抢沙发~