RAM支持使用OAuth 2.0协议进行用户认证和应用授权。本文介绍阿里云OAuth 2.0服务的基本概念、应用场景和OAuth范围。
基本概念
概念 | 说明 |
用户 | 用户需要登录到阿里云并授权应用访问阿里云资源。用户可以是阿里云账号(主账号)、RAM用户和RAM角色。 说明 2024年09月10日之前已创建的OAuth应用不支持RAM角色,请提交工单申请。 |
阿里云OAuth 2.0服务 | 阿里云OAuth 2.0服务对用户进行认证,并接受用户对应用的授权,生成代表用户身份的令牌并返回给被授权的应用。 |
OAuth应用 | 使用OAuth应用获取用户授权,并获取代表用户身份的令牌,从而可以访问阿里云。 阿里云OAuth 2.0服务支持以下几种类型的应用:
按照应用的归属,可以将应用分为以下几种:
|
OAuth范围 | OAuth 2.0服务通过OAuth范围来限定应用扮演用户登录阿里云后可以访问的范围。支持的范围如下:
|
令牌 | OAuth 2.0服务可以给应用下发代表登录用户的令牌。
|
阿里云API | 应用通过调用API可以访问相应资源。 |
应用场景
OAuth范围
阿里云RAM产品提供openid、aliuid、profile三个OAuth范围,获得用户授权可获得下表所示的信息。
参数名称 | 定义 | 示例 | 需要的OAuth范围 |
exp | 令牌过期时间戳。 | 1517539523 | openid |
sub | 唯一代表登录用户的字符串,但并不包含阿里云UID、用户名等信息。 说明 当登录用户为RAM角色时,sub将根据角色扮演者 | 123456789012**** | openid |
aud | 令牌接收者,OAuth应用ID。 | 4567890123456**** | openid |
iss | 令牌颁发者。取值为 | https://oauth.aliyun.com | openid |
iat | 令牌颁发时间戳。 | 1517533200 | openid |
aid | 登录用户所属的阿里云账号(主账号)ID。 | 177242285274**** | aliuid |
uid | 登录用户的ID。取值:
| 20124982101502**** | aliuid |
type | 登录用户类型。取值:
| user | profile |
login_name | 阿里云账号(主账号)的登录名称。 说明 阿里云账号(主账号)请求时才会返回该参数。 | Alice | profile |
upn | RAM用户的登录名称。 说明 RAM用户请求时才会返回该参数。 | Bob@examplecompany.onaliyun.com | profile |
name | 登录用户名称。取值:
说明 RAM用户和RAM角色请求时才会返回该参数。 | Bob | profile |