397
外匯
訪問OSS__訪問與控製_開發人員指南_對象存儲 OSS-阿裏雲
OSS訪問的URL
OSS是基於HTTP API的對象存儲,您在進行所有的操作的時候都需要指定訪問的OSS資源,這個資源可以是Bucket,也可以是Object。在訪問的時候,是以URL的形式來表示OSS的資源的。OSS的URL構成如下:
<Schema>://<Bucket>.<Endpoint>/<Object> 三級域名訪問方式
Schema:值為HTTP或者為HTTPS
Bucket:用戶的OSS存儲空間
Endpoint:用戶的Bucket所在數據中心的訪問域名
Object:用戶上傳在OSS上的文件
注意:
- 這裏的Endpoint需要和Bucket所在的數據中心(Region)一致。也就是說:如果Bucket創建在杭州,就需要使用杭州的Endpoint,不能使用其他區域的Endpoint。
- ECS訪問OSS可以使用同區域OSS的內網Endpoint。Region和對應Endpoint的列表可以參考 訪問域名。
假如用戶使用HTTPS請求杭州的OSS,Bucket名字叫oss-sample, Object名字叫mytest/oss-test-object,那麼用戶訪問的三級域名為:
https://oss-sample.oss-cn-hangzhou.aliyuncs.com/mytest/oss-test-object
用戶可以直接將Object的URL鏈接放入HTML中使用,如下所示:
<img src="https://oss-example.oss-cn-hangzhou.aliyuncs.com/aliyun-logo.png" />
OSS訪問的安全性
對OSS的HTTP請求可以根據是否攜帶身份驗證信息分為兩種請求。一種是帶身份驗證的請求,一種是不帶身份驗證的匿名請求。帶身份驗證的請求表示的是如下兩種情況:
- 請求頭部中帶Authorization,格式為OSS + AccessKeyId + 簽名字符串。
- 請求的URL中帶OSS AccessKeyId和Signature字段。
OSS訪問驗證流程
匿名請求訪問流程
- 用戶的請求被發送到OSS的HTTP服務器上。
- OSS根據URL解析出Bucket和Object。
- OSS檢查Object是否設置了ACL。
- 如果沒有設置ACL,那麼繼續 4。
- 如果設置了ACL,則判斷Object的ACL是否允許匿名用戶訪問。
- 允許則跳到 5。
- 不允許則拒絕請求,請求結束。
- OSS判斷Bucket的ACL是否允許匿名用戶訪問。
- 允許則繼續 5。
- 不允許則返回,請求結束。
- 權限驗證通過,返回Object的內容給用戶。
帶身份驗證請求訪問流程
- 用戶的請求被發送到OSS的HTTP服務器上。
- OSS根據URL解析出Bucket和Object。
- OSS根據請求的OSS的AccessKeyId獲取請求者的相關身份信息,進行身份鑒權。
- 如果未獲取成功,則返回,請求結束。
- 如果獲取成功,但請求者不被允許訪問此資源,則返回,請求結束。
- 如果獲取成功,但OSS端根據請求的HTTP參數,計算的簽名和請求發送的簽名字符串不匹配,則返回,請求結束。
- 如果身份鑒權成功,那麼繼續 4.
- OSS檢查Object是否設置了ACL。
- 如果Object沒有設置ACL,那麼繼續 5。
- 如果Object設置了ACL,OSS判斷Object的ACL是否允許匿名用戶訪問。
- 允許則跳到 6。
- 不允許則拒絕請求,請求結束。
- OSS判斷Bucket的ACL是否允許匿名用戶訪問。
- 允許則繼續 6。
- 不允許則返回,請求結束。
- 權限驗證通過,返回Object的內容給用戶。
帶身份驗證訪問OSS的三種方法
- 使用控製台訪問OSS:控製台中對用戶隱藏了身份驗證的細節,使用控製台訪問OSS的用戶無需關注細節。
- 使用SDK訪問OSS:OSS提供了多種開發語言的SDK,SDK中實現了簽名算法,隻需要將AK信息作為參數輸入即可。
- 根據API訪問OSS:如果您想用自己喜歡的語言來封裝調用RESTful API接口,您需要實現簽名算法來計算簽名。具體的簽名算法可以參考API手冊中的 在Header中包含簽名 和 在URL中包含簽名。
關於AccessKey相關的解釋及更詳細的身份驗證的操作請參見 訪問控製。
最後更新:2016-11-23 16:04:09
上一篇:
訪問域名__訪問與控製_開發人員指南_對象存儲 OSS-阿裏雲
下一篇:
訪問域名和數據中心__開發人員指南_對象存儲 OSS-阿裏雲
查看監控數據__站點監控_用戶指南_雲監控-阿裏雲
雲資源授權__安全管理_快速入門_數據管理-阿裏雲
CopyObject__關於Object操作_API 參考_對象存儲 OSS-阿裏雲
配置說明__產品簡介_負載均衡-阿裏雲
修改API分組__API分組相關接口_API_API 網關-阿裏雲
全係Skylake 阿裏雲華北5地十月開服
DeleteTrail__實例相關接口_API參考_操作審計-阿裏雲
重建集群實例__SDK接口說明_Python版SDK_批量計算-阿裏雲
2.3 特色功能__第二章 基本概念_使用手冊_分析型數據庫-阿裏雲
公共響應頭__API-Reference_日誌服務-阿裏雲
相關內容
常見錯誤說明__附錄_大數據計算服務-阿裏雲
發送短信接口__API使用手冊_短信服務-阿裏雲
接口文檔__Android_安全組件教程_移動安全-阿裏雲
運營商錯誤碼(聯通)__常見問題_短信服務-阿裏雲
設置短信模板__使用手冊_短信服務-阿裏雲
OSS 權限問題及排查__常見錯誤及排除_最佳實踐_對象存儲 OSS-阿裏雲
消息通知__操作指南_批量計算-阿裏雲
設備端快速接入(MQTT)__快速開始_阿裏雲物聯網套件-阿裏雲
查詢API調用流量數據__API管理相關接口_API_API 網關-阿裏雲
使用STS訪問__JavaScript-SDK_SDK 參考_對象存儲 OSS-阿裏雲