RAM 的典型应用场景包括:企业子账号管理与分权、不同企业之间的资源操作与授权管理,和针对不可信客户端 app 的临时授权管理。
企业子账号管理与分权
企业 A 购买了多种云资源(如 ECS 实例/ RDS 实例/ SLB 实例/ OSS 存储桶/…),A 的员工需要操作这些云资源,比如有的负责购买,有的负责运维,还有的负责线上应用。由于每个员工的工作职责不一样,需要的权限也不一样。
[backcolor=transparent]需求说明:
- 出于安全或信任的考虑,A 不希望将云账号密钥直接透露给员工,而希望能给员工创建相应的用户账号。
- 用户账号只能在授权的前提下操作资源,不需要对用户账号进行独立的计量计费,所有开销都算在 A 的头上。
- A 随时可以撤销用户账号身上的权限,也可以随时删除其创建的用户账号。
不同企业之间的资源操作与授权管理
A 和 B 代表不同的企业。A 购买了多种云资源(如 ECS 实例/ RDS 实例/ SLB 实例/ OSS 存储桶/…)来开展业务。
[backcolor=transparent]需求说明:
- A 希望能专注于业务系统,而将云资源运维监控管理等任务委托或授权给企业 B。
- 企业 B 可以进一步将代运维任务分配给 B 的员工,B 可以精细控制其员工对 A 的云资源操作权限。
- 如果 A 和 B 的这种代运维合同终止,A 随时可以撤销对 B 的授权。
针对不可信客户端 app 的临时授权管理
企业 A 开发了一款移动 app,并购买了 OSS 服务。移动 app 需要上传数据到 OSS(或从 OSS 下载数据)。
[backcolor=transparent]需求说明:
- A 不希望所有 app 都通过 appServer 来进行数据中转,而希望让 app 能直连 OSS 上传/下载数据。
- 由于移动 app 运行在用户自己的终端设备上,这些设备并不受 A 的控制。出于安全考虑,A 不能将访问密钥保存到移动 app 中。
- A 希望将安全风险控制到最小,比如,每个移动 app 直连 OSS 时都必须使用最小权限的访问令牌,而且访问时效也要很短(比如 30 分钟)。