阿里云RAM有众多角色,用户,用户组,权限策略,RAM 虚拟角色等,使用也是让新手云里雾里,下面详细解析下
1:人员管理:包含用户组,用户 2个角色
用户:权限使用实体,一般有自己的acceid 跟accessKey;
用户组:用于定义权限,用户可以通过继承多个用户组的权限,组成自己的权限;
小结:用户组,跟用户就跟普通后台管理 的RABC权限管理类似,直接通过用户授权或者通过创建用户组,用户继承用户组权限都是可以的,正常情况只需要创建用户给予对应权限就可以使用了,不需要关联RAM虚拟角色;
2:权限策略
权限策略:简单的说就是多个接口权限的组合,类似于用户组的概念,只是用户组在策略上面,策略打包的是api组合,用户组打包的是策略组合,就是中间多了一层,这里策略的配置需要安装阿里云的规则,详细参考下面文档
阿里云RAM 文档
3:RAM虚拟角色
:这个应该是最多人懵逼的,也就是RoleArn 参数的主体,简单说这个角色是阿里云STS授权方式主体,一般用于前端交互,通过token 的时效性保证在前端代码泄露情况下主体也是安全的,这个主体是通过RoleArn 参数鉴权;(使用STS授权的用户必须要有STS所有权限,不然会直接提示没有RAM授权,巨坑!!!)
Q1:RAM虚拟角色跟用户,用户组有啥关联?
A:RAM 是一个虚拟角色,怎么说呢,也可以简单理解为用户组,用户通过 accessId 跟accessKey 配合RoleArn,用户可以获得虚拟用户拥有的权限,这个主要用在STS授权方式,用户需要使用虚拟角色必须要有STS所有权,不然会报下面的错误
Error message: You are not authorized to do this action. You should be authorized by RAM
Q2:RAM 角色权限跟用户权限到底哪个为准?
A:用户通过STS授权以RAM虚拟用户权限为准,但是要使用STS 用户必须有STS所有权,用户直接使用accid 跟accKey 则以用户所有的权限为准
其他问题,请访问下面官方文档
RAM STS 访问控制问题