角色是基于子賬号的次元上進行調用,是以需要客戶預先準備好一個子賬号,具體流程如下
一、建立子賬号

如上圖,主賬号登陸控制台,建立一個子賬号 “xiaoqiang”
二、建立角色
由于 STS 令牌通路是基于角色方式實作的,是以需要建立一個角色,如果隻是登陸控制台的話,不需要用到 STS token ,隻用角色登陸即可,文章最後有備注。
1、登陸主賬号後,到訪 RAM 控制台,角色管理,點選建立角色
2、如下圖進行操作即可,建立一個測試角色(role)
三、了解角色的基本屬性
如上圖檢視角色基礎資訊
1、是你建立的角色名稱(開發調用,和控制台登陸都會用到)
2、ARN 是角色的身份ID,在開發調用時會用到。
3、可以給角色綁定一個政策,如果不綁定政策,現在就是一個空角色,什麼權限也沒有。(注意,隻能通過綁定政策方式給角色授權,角色本身無法直接修改權限)
四、為角色建立一個單獨政策
如上圖方法建立一個自定義政策,我這裡是給的 OSS 管理權限,客戶如果要定義不同的場景權限,需要自己去學習下文檔自行編寫,有些參考例子可以自己看下
教程五、将權限政策和角色進行綁定
如上圖,将之前建立的權限政策 zhangsan_policy 和角色 testzhangsan 綁定在一起。這樣角色就具備的通路 OSS 的相關操作權限,剩下的就是讓其他的子賬号來扮演角色,對應的子賬号就有了角色對應的權限。類似面向對象的 “繼承” 概念一樣。
六、子賬号扮演角色
如上圖,給子賬号授權一個 “AliyunSTSAssumeRoleAccess” 的政策後,zhang san_policy 就能扮演角色 testzhangsan 了,也就能具備角色對應的 OSS 通路權限了。
後續
如果客戶要在開發中調用,可以通過 子賬号 AccesskeyID 和 Access secretly 、ARN、RoleName 組合去生成 STS token 通路 OSS,具體的生成方法可以用 ossutil 自己去模拟下。
如果客戶要登陸控制台,需要在阿裡雲控制台上通過切換角色的方式登陸。