本文介绍如何创建可信实体为阿里云账号的RAM角色及授权。该RAM角色主要用于解决跨账号访问和临时授权问题。

背景信息

角色和用户都是RAM中使用的身份。与RAM用户相比,RAM角色是一种虚拟用户,没有确定的登录密码或访问密钥。RAM角色需要被一个受信的实体用户(阿里云账号、RAM用户和云服务)扮演,扮演成功后实体用户将获得RAM角色的安全令牌,使用这个安全令牌就能以角色身份访问被授权的资源。更多信息,请参见RAM角色概览

步骤一:创建RAM角色

  1. 登录RAM控制台
  2. 在左侧导航栏中,选择身份管理 > 角色
  3. 角色页面,单击创建角色
  4. 选择类型配置向导中,选择可信实体类型为阿里云账号,然后单击下一步
  5. 配置角色配置向导中,配置如下内容,然后单击完成
    参数 说明
    角色名称 输入角色名称,例如aliyunlogreadrole。
    备注 输入备注信息。
    选择信任的云账号 选择阿里云账号。
    • 当前云账号:当您允许当前阿里云账号下的RAM用户扮演该RAM角色时,您可以选择当前云账号
    • 其他云账号:当您允许其他阿里云账号下的RAM用户扮演该RAM角色时,您可以选择其他云账号,然后输入其他阿里云账号ID。主要针对跨阿里云账号的资源授权访问场景。
  6. 创建完成配置向导中,单击关闭

步骤二:为RAM角色授权

创建RAM角色后,您所指定的阿里云账号将扮演该RAM角色操作日志服务,但该RAM角色无任何权限。您需要为该RAM角色授予系统策略或自定义策略。其中,访问控制提供如下两种日志服务的系统策略。
  • AliyunLogFullAccess:管理日志服务的权限。
  • AliyunLogReadOnlyAccess:只读访问日志服务的权限。

当系统策略无法满足您的需求,您可以通过创建自定义策略实现精细化权限管理。具体操作,请参见创建自定义授权策略,权限策略示例请参见RAM自定义授权场景日志服务RAM授权策略

本文以为RAM角色授予AliyunLogReadOnlyAccess权限为例。

  1. 登录RAM控制台
  2. 在左侧导航栏,选择身份管理 > 角色
  3. 找到目标RAM角色,单击添加权限
  4. 添加权限页面,选中目标权限(例如AliyunLogReadOnlyAccess权限),然后单击确定
  5. 确认授权结果,单击完成

步骤三:为受信云账号下的RAM用户授权

受信云账号必须授予其名下的RAM用户调用STS服务AssumeRole接口的权限(AliyunSTSAssumeRoleAccess权限)。授权完成后,该RAM用户才能代表受信云账号扮演步骤一:创建RAM角色中创建的RAM角色。

  1. 登录RAM控制台
  2. 在左侧导航栏,选择身份管理 > 用户
  3. 找到目标用户,单击添加权限
  4. 添加权限页面,选中系统策略下的AliyunSTSAssumeRoleAccess,然后单击确定
  5. 确认授权结果,单击完成

步骤四:获取RAM角色的临时安全令牌

当RAM用户被授予AssumeRole权限后,通过调用STS的AssumeRole接口获取您在步骤一:创建RAM角色中创建的RAM角色的临时安全令牌。

说明
  • 关于AssumeRole API的调用方法,请参见Java示例
  • 使用STS SDK拿到AccessKey ID、AccessKey Secret、SecurityToken之后,通过使用日志服务的SDK访问日志服务,请参见概述