雲計算

實現 STS 方式訪問 OSS

角色是基於子賬號的維度上進行調用,所以需要客戶預先準備好一個子賬號,具體流程如下

一、創建子賬號

image.png

如上圖,主賬號登陸控制檯,創建一個子賬號 “xiaoqiang”

二、創建角色

由於 STS 令牌訪問是基於角色方式實現的,所以需要創建一個角色,如果只是登陸控制檯的話,不需要用到 STS token ,只用角色登陸即可,文章最後有備註。
1、登陸主賬號後,到訪 RAM 控制檯,角色管理,點擊創建角色

image.png

2、如下圖進行操作即可,創建一個測試角色(role)

image.png

image.png

image.png

三、瞭解角色的基本屬性

image.png

image.png

如上圖查看角色基礎信息

1、是你創建的角色名稱(開發調用,和控制檯登陸都會用到)
2、ARN 是角色的身份ID,在開發調用時會用到。
3、可以給角色綁定一個策略,如果不綁定策略,現在就是一個空角色,什麼權限也沒有。(注意,只能通過綁定策略方式給角色授權,角色本身無法直接修改權限)

四、為角色創建一個單獨策略

image.png

image.png

如上圖方法創建一個自定義策略,我這裡是給的 OSS 管理權限,客戶如果要定義不同的場景權限,需要自己去學習下文檔自行編寫,有些參考例子可以自己看下 教程

五、將權限策略和角色進行綁定

image.png

image.png

image.png

如上圖,將之前創建的權限策略 zhangsan_policy 和角色 testzhangsan 綁定在一起。這樣角色就具備的訪問 OSS 的相關操作權限,剩下的就是讓其他的子賬號來扮演角色,對應的子賬號就有了角色對應的權限。類似面向對象的 “繼承” 概念一樣。

六、子賬號扮演角色

image.png

image.png

image.png

如上圖,給子賬號授權一個 “AliyunSTSAssumeRoleAccess” 的策略後,zhang san_policy 就能扮演角色 testzhangsan 了,也就能具備角色對應的 OSS 訪問權限了。

後續

如果客戶要在開發中調用,可以通過 子賬號 AccesskeyID 和 Access secretly 、ARN、RoleName 組合去生成 STS token 訪問 OSS,具體的生成方法可以用 ossutil 自己去模擬下。

如果客戶要登陸控制檯,需要在阿里雲控制檯上通過切換角色的方式登陸。

image.png

Leave a Reply

Your email address will not be published. Required fields are marked *