本文为您介绍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发生泄露时如何处理?。