阿里云STS简介
需求場景
管理員用戶在后臺上傳視頻文件,文件比較大,需要直接上傳到OSS上面。
出于安全考慮,不能直接把一個RAM用戶的key和secret寫死在管理后臺的前端代碼里面,所以需要使用阿里云的STS獲取一個臨時的身份,用來上傳文件,文件傳完之后身份過期。
概念介紹
這個過程,會涉及到阿里云的兩個云服務:
STS
訪問控制
STS:阿里云臨時安全令牌(Security Token Service,STS)是阿里云提供的一種臨時訪問權限管理服務。
訪問控制:阿里云的訪問控制服務,其實就是提供了”用戶-角色-權限“這樣的一套用戶權限體系,用來控制對于阿里云各類云資源的訪問,比如OSS等。其中有幾個關鍵概念:
可信實體:可信實體,可以簡單理解為一個用戶,這個用戶可以在“阿里云控制臺->訪問控制->人員管理->用戶”里面去進行創建和編輯。
RAM角色:角色可以理解為是一組權限的集合。
扮演角色:一個用戶可以扮演一個或者多個角色,扮演哪個角色,就擁有了哪個角色賦予的權限。
ARN:是一個字符串,用來在代碼中唯一標識一個角色。
實現邏輯
上述業務場景的實現,本質上就是:
就是我們使用某一個用戶(可信實體)的身份,來向阿里云的STS服務,請求一套臨時的訪問令牌,讓這個令牌的持有者,可以臨時扮演指定的一個角色
前端獲得這個臨時令牌之后,以其調用OSS提供的接口,來進行OSS的文件操作。
簡單來說,分成兩個步驟:
在阿里云的訪問控制后臺,創建好用戶和RAM角色
業務服務器實現一個獲取STS令牌的接口,供前端調用。
前端使用STS訪問令牌,訪問OSS提供的上傳文件接口。
從業務服務器的角度,需要做的工作包括:
創建授權策略
創建RAM角色
創建用戶
實現提供STS訪問令牌的接口
跨域設置
上述業務場景的實現,本質上,
就是我們使用某一個用戶(可信實體)的身份,來向阿里云的STS服務,請求一套臨時的訪問令牌,讓這個令牌的持有者,可以臨時扮演指定的一個角色
前端獲得這個臨時令牌之后,以其調用OSS提供的接口,來進行OSS的文件操作。
前端調用
對于前端調用者而言,在獲取到令牌之后,主要問題就是怎樣來上傳一個文件,詳見下面的鏈接。
推薦使用Browser.js的方式,有三個主要的接口可供前端使用:
普通上傳
分片上傳
斷點續傳
參考資料
關于STS的一些基本概念:https://help.aliyun.com/document_detail/28756.html?spm=a2c4g.11174283.6.787.4a4d5662tWHP35
前端怎樣上傳文件:https://help.aliyun.com/document_detail/112718.html?spm=a2c4g.11174359.6.1552.3da85241mGWBs8
總結
- 上一篇: 蒜蓉粉丝蒸虾(蒜蓉粉丝蒸虾怎么做好吃 )
- 下一篇: 云南瑞丽疫情最新情况 云南瑞丽疫情严重吗