本文为您介绍RAM角色的定义、分类、应用场景、基本概念、使用流程和使用限制。
什么是RAM角色
RAM角色是一种虚拟用户,可以被授予一组权限策略。与RAM用户不同,RAM角色没有永久身份凭证(登录密码或访问密钥),需要被一个可信实体扮演。扮演成功后,可信实体将获得RAM角色的临时身份凭证,即安全令牌(STS Token),使用该安全令牌就能以RAM角色身份访问被授权的资源。
RAM角色类型
根据不同的可信实体,RAM角色分为以下三类:
可信实体为阿里云账号的RAM角色:允许RAM用户扮演的角色。扮演角色的RAM用户可以属于自己的阿里云账号,也可以属于其他阿里云账号。该类角色主要用于解决跨账号访问和临时授权问题。
可信实体为阿里云服务的RAM角色:允许云服务扮演的角色。分为普通服务角色和服务关联角色两种。该类角色主要用于解决跨服务访问问题。
可信实体为身份提供商的RAM角色:允许可信身份提供商下的用户所扮演的角色。该类角色主要用于实现与阿里云的单点登录(SSO)。
应用场景
临时授权访问
通常情况下,建议您通过服务端调用API,尽可能保证访问密钥不被泄露。但是有些上传文件的场景最好采用客户端直传的形式,避免服务端中转带来的多余开销。此时,可以由服务端下发临时安全令牌(STS Token),客户端通过临时安全令牌(STS Token)进行资源直传。
更多信息,请参见移动应用使用临时安全令牌访问阿里云。
跨账号访问
当您拥有多个阿里云账号,例如:账号A和账号B,希望实现账号A访问账号B的指定资源。此时,您可以在账号B下创建可信实体为账号A的RAM角色,并授权允许账号A下的某个RAM用户或RAM角色可以扮演该角色,然后通过该角色访问账号B的指定资源。
更多信息,请参见跨阿里云账号的资源授权。
跨服务访问
在某些场景下,一个云服务为了完成自身的某个功能,需要获取其他云服务的访问权限。例如:配置审计(Config)服务要读取您的云资源信息,以获取资源列表和资源配置变更历史,就需要获取ECS、RDS等产品的访问权限。此时,您可以创建可信实体为阿里云服务的RAM角色解决该问题。推荐您优先使用服务关联角色,对于不支持服务关联角色的云服务,请使用普通服务角色。
更多信息,请参见支持服务关联角色的云服务。
单点登录(角色SSO)
阿里云与企业进行角色SSO时,阿里云是服务提供商(SP),而企业自有的身份管理系统则是身份提供商(IdP)。通过角色SSO,企业可以在本地IdP中管理员工信息,无需进行阿里云和企业IdP间的用户同步,企业员工将使用指定的RAM角色登录阿里云。此时,您可以创建可信实体为身份提供商的RAM角色解决该问题。
更多信息,请参见SAML角色SSO概览和OIDC角色SSO概览。
基本概念
概念 | 说明 |
可信实体 | 角色的可信实体是指可以扮演角色的实体身份。创建角色时必须指定可信实体,角色只能被可信实体扮演。可信实体可以是阿里云账号、阿里云服务或身份提供商。 |
角色ARN | 角色ARN是角色的全局资源描述符,用来指定具体角色。ARN遵循阿里云ARN的命名规范,格式为 |
权限策略 | 权限策略是用语法结构描述的一组权限的集合,可以精确地描述被授权的资源集、操作集以及授权条件。权限策略是描述权限集的一种简单语言规范。一个RAM角色可以绑定一组权限策略,没有绑定权限策略的RAM角色可以存在,但不能访问资源。 |
扮演角色 | 扮演角色是实体用户获取角色安全令牌的方法。具体如下:
|
切换身份 | 切换身份是在控制台中实体用户从当前登录身份切换到角色身份的方法。一个实体用户登录到控制台之后,可以切换到被许可扮演的某一种角色身份,然后以角色身份操作云资源。当用户不需要使用角色身份时,可以从角色身份切换回原来的登录身份。 |
安全令牌 | 安全令牌(STS Token)是角色身份的一种临时访问密钥。角色身份没有确定的访问密钥,当一个实体用户要使用角色时,必须通过扮演角色来获取对应的角色令牌,然后使用角色令牌来调用阿里云服务API。 |
使用流程
使用限制
关于RAM角色的使用限制,请参见使用限制。