本文為您介紹RAM用戶如何通過控制臺和API扮演可信實體為阿里云賬號的RAM角色。
前提條件
扮演RAM角色前,您需要創建RAM用戶并授權。
創建RAM用戶。
具體操作,請參見創建RAM用戶。
為RAM用戶授予角色扮演的權限。
允許該RAM用戶扮演所有RAM角色:為RAM用戶添加系統策略
AliyunSTSAssumeRoleAccess
。允許該RAM用戶扮演指定RAM角色:為RAM用戶添加自定義策略。更多信息,請參見能否指定RAM用戶具體可以扮演哪個RAM角色?。
具體操作,請參見為RAM用戶授權。
通過控制臺扮演RAM角色
RAM用戶或角色SSO登錄后,可以通過切換身份的方式扮演RAM角色。
使用RAM用戶登錄RAM控制臺。
將鼠標懸停在右上角頭像的位置,單擊切換身份。
在角色切換頁面,輸入RAM角色信息。
單擊提交。
切換成功后,RAM用戶將以RAM角色身份登錄控制臺,此時RAM用戶只能執行該RAM角色身份被授權的所有操作。
在控制臺右上角頭像位置將會顯示用戶的登錄身份(即登錄時使用的身份,可能是RAM用戶,也可能是RAM角色)和當前身份(即切換角色后的身份)。
在不同情況下,用戶登錄身份和當前身份的取值如下表所示:
登錄方式
登錄身份
當前身份
RAM用戶
顯示格式為<當前登錄的RAM用戶名稱>。
顯示格式為<RoleName>/<RoleSessionName>。
RoleName:當前切換的角色名稱。
RoleSessionName:當前登錄的RAM用戶名稱,同登錄身份。
角色SSO
RAM角色第一次登錄(指通過角色SSO直接登錄)后,只顯示當前身份,不顯示登錄身份。
RAM角色登錄(指通過角色SSO直接登錄)后再次切換身份后,登錄身份顯示角色SSO的身份信息,顯示格式為<RoleName>/<RoleSessionName>。
RoleName:角色SSO登錄時的角色名稱。
RoleSessionName:角色SSO登錄時的RoleSessionName。
例如:外部IdP中的用戶tom@example.local通過RAM角色test-saml-role1登錄到控制臺,然后再次使用角色alice-testrole切換身份,切換后顯示登錄身份為test-saml-role1/tom@example.local。
顯示格式為<RoleName>/<RoleSessionName>。
RoleName:當前切換的角色名稱。
RoleSessionName:角色SSO登錄時的RoleSessionName。
例如:外部IdP中的用戶tom@example.local通過RAM角色test-saml-role1登錄到控制臺,這時當前身份為test-saml-role1/tom@example.local,然后再次使用角色alice-testrole切換身份,此次當前身份為alice-testrole/tom@example.local,其中RoleSessionName保持不變。
角色登錄會話有效期將以角色最大會話時間與登錄會話的過期時間中設置的較小值為準。更多信息,請參見設置RAM角色最大會話時間、管理RAM用戶安全設置。
通過調用API扮演RAM角色
有權限的RAM用戶可以使用其訪問密鑰(AccessKey)調用AssumeRole - 獲取扮演角色的臨時身份憑證接口,以獲取某個RAM角色的臨時安全令牌(STS Token),從而使用STS Token訪問阿里云。
如果您通過扮演角色獲取的STS Token發生泄露,您可以回收所有已經頒發的STS Token。具體操作,請參見STS Token發生泄露時如何處理?。