本文档为您介绍使用临时访问令牌STS(Security Token Service,它是RAM的一个扩展授权服务)给临时用户授权的方法。

前提条件

进行操作前,请确保您已经注册了阿里云账号。如还未注册,请先完成账号注册

账号注册成功后,请使用该账号登录RAM控制台

背景信息

有时存在一些用户(人或应用程序),并不经常访问您的云资源,只是偶尔需要访问一次,称这些用户为临时用户。您可以通过STS来为这些用户(子账号)颁发访问令牌。颁发令牌时,您可以根据需要来定义令牌的权限和自动过期时间。

使用STS访问令牌,给临时用户授权的好处是让授权更加可控。您不必为临时用户创建一个RAM用户账号及密钥,因为RAM用户密钥都是长期有效的,但临时用户并不需要长期的资源访问。具体使用场景可参见针对移动设备应用的临时授权跨云账号的资源授权

创建可信实体为阿里云账号的RAM角色

  1. 在左侧导航栏,单击RAM角色管理
  2. 单击新建RAM角色,选择可信实体类型为阿里云账号,单击下一步
  3. 输入角色名称备注
  4. 选择云账号当前云账号其他云账号
    说明 若选择其他云账号,需要填写其他云账号的ID。
  5. 单击完成

临时访问授权

在使用STS来授权访问前,需要先对上文创建RAM角色第三步中的受信云账号的子账号进行扮演角色的授权。若任意子账号都可以扮演这些角色,会带来不可预估的风险,因此有扮演对应角色需求的子账号需要被赋予相应的配置权限,具体操作方式如下。

  1. 创建自定义策略
  2. 为RAM用户授权
  3. 使用RAM角色

创建自定义策略

  1. 在左侧导航栏的权限管理菜单下,单击权限策略管理
  2. 单击新建权限策略
  3. 填写策略名称备注
  4. 配置模式选择脚本配置
  5. 策略内容脚本编辑区域输入如下脚本内容。
    {
    "Version": "1",
    "Statement": [
    {
       "Effect": "Allow",
       "Action": "sts:AssumeRole",
       "Resource": "acs:ram::${aliyunID}:role/${roleName}"
    }
    ]
    }
    说明 Resource的具体内容,可以从RAM角色管理 > 基本信息页面的ARN中获取。
    获取Resource信息
    • ${aliyunID}:表示创建角色的用户ID。
    • ${roleName}:表示角色名称的小写。
  6. 单击确认
注意 自定义策略创建成功后,您还需要在用户管理页面,对子账号授权上文中已经创建的扮演角色的权限,详情请参见下文的为RAM用户授权

为RAM用户授权

  1. 在左侧导航栏的人员管理菜单下,单击用户
  2. 用户登录名称/显示名称列表下,找到目标RAM用户。
  3. 单击添加权限,被授权主体会自动填入。
  4. 在左侧权限策略名称列表下,单击需要授予RAM用户的权限策略。
    说明 在右侧区域框,选择某条策略并单击×,可撤销该策略。
  5. 单击确定
  6. 单击完成

使用RAM角色

为了安全起见,阿里云不允许受信云账号以自己的身份扮演角色,如果一个实体用户想扮演某个RAM角色,该实体用户必须先以自己身份登录,然后将自己从实体身份切换到RAM角色身份。

子账号登录控制台后,可以切换到刚刚被授予扮演的角色,行使角色的权限,步骤如下。

  1. 将鼠标悬停在右上角头像的位置,单击切换身份
  2. 角色切换页面,输入相应企业别名/默认域名以及角色名
  3. 单击切换
    说明 切换成功后,用户将以RAM角色身份登录控制台,控制台右上角头像位置将显示角色身份(即当前身份)和登录身份,此时用户只能执行该角色身份被授权的所有操作。