阿里云账号可以通过创建并授权用户角色的方式赋予其他云账号一定的资源权限,其他云账号扮演该角色,并为其名下的RAM用户授予AssumeRole权限之后,其他云账号或其子账号可以通过访问STS接口获取临时AK和Token函数,调用日志服务API接口。
背景信息
出于业务隔离或项目外包等需求,云账号A希望将部分日志服务业务授权给云账号B,由云账号B操作维护这部分业务。基本需求如下:
- 云账号B拥有向企业A的日志服务中写入数据和使用消费组的权限。
- 云账号B的指定RAM用户也拥有日志服务的写入和消费组权限。
- 云账号B可获取STS临时凭证,访问日志服务API接口,详情请参见STS。
赋权过程概述
- 云账号A创建RAM角色,并指定云账号B扮演该角色并赋予日志服务的指定权限。
- 云账号B创建RAM用户B1,并为其赋予
AliyunSTSAssumeRoleAccess
(调用STS AssumeRole接口)的系统策略。 - RAM账号B1调用STS AssumeRole接口访问日志服务API接口,操作日志服务资源。
步骤1:云账号A为云账号B创建RAM角色并授权
云账号A创建RAM角色,并指定云账号B扮演该角色并为角色赋予日志服务的指定权限。
可以通过RAM控制台创建RAM角色,请参见创建RAM用户及授权或通过RAM的API CreateRole创建RAM角色,请参见CreateRole,以下以控制台创建为例进行详细步骤说明。
步骤2:云账号B创建RAM用户B1并授权
云账号B创建RAM用户B1,并为其授予AliyunSTSAssumeRoleAccess
(调用STS AssumeRole接口)的系统策略。
步骤3:RAM账号B1获取STS临时凭证访问日志服务
示例代码
示例代码基于Java SDK,以云账号B通过STS向用户A的Project写入数据为例,详情请下载并参见示例代码。