阿里云访问控制中的RAM用户与角色管理相关概念理解
阿里云的访问控制系统中关于“RAM用户与角色”
官方文档:阿里云“访问控制”官方文档
起因
以前在做阿里云授权时,用过RAM授权,但是当时比较仓促,未理解其各个操作的含义,虽然操作没问题,但是不知其所以然(操作半天,授权这个授权那个的,晕晕乎乎的)。导致这些天再次操作时还是比较迷糊~ 今天就专门抽点时间梳理一下基本概念与操作的含义。
访问控制
访问控制(RAM)是阿里云提供的管理用户身份与资源访问权限的服务。
RAM允许在一个阿里云账号下创建并管理多个身份
,并允许给单个身份或一组身份分配不同的权限,从而实现不同用户拥有不同资源访问权限的目的
用户管理(RAM子账号)
RAM用户是一种
实体身份
类型,有确定的身份ID和身份凭证,拥有独立的
登录密码或访问密钥。RAM用户必须在获得授权后,才能登录控制台或使用API访问阿里云账号下的资源。
- 使用RAM可以按需为用户分配最小权限,避免多用户共享阿里云账号密码或访问密钥,从而降低企业的安全风险。
- 与主账号一样,RAM可以创建AccessKey,同主账号一样可长期使用。
- RAM账户创建初始无任何权限,需要授权才能有相应功能,具体授权过程可查看文档。
- RAM账户与主账号使用基本一致,但主账号可以随时删除RAM账户而不影响其他账号。
角色管理(RAM角色)
RAM角色(RAM role)与RAM用户一样,都是RAM身份类型的一种。RAM角色是一种
虚拟用户
,没有确定的身份认证密钥,需要被一个受信的实体
用户扮演
才能正常使用。
- RAM角色创建初始无任何权限,需要授权才能访问资源。
- 角色扮演,就相当于在一个账户中新加了一个身份。例如一个人可以是学生身份,也可以是医生身份。扮演后身份之间的权限可能会重复授权或拒绝,这里就涉及到了
权限判定
。
扮演角色的方式有:
- 通过控制台扮演角色:
控制台切换身份
是在控制台中实体用户从当前登录身份切换到RAM角色身份的方法。 - 通过调用API扮演角色:一个实体用户通过调用
AssumeRole
可以获得角色令牌,使用角色令牌可以访问云服务API。
RAM角色时的权限策略判定流程
当子账号与多个角色同时生效时,权限重叠,就需要执行权限判定。
权限判定按照最小单元判定流程
。这里通俗的描述一下权限判定策略,可能会有点不准确,但是比较好理解
- 只要命中拒绝语句,那直接拒绝(显式拒绝)
- 无显示拒绝,且有命中允许语句时,允许
- 否则拒绝(隐式拒绝)
名词解释
- 身份(Identity):访问控制(RAM)中有三种身份:RAM用户、用户组和RAM角色。其中RAM用户和用户组是RAM的一种实体身份类型,RAM角色是一种虚拟用户身份。
- 受信的实体:角色的可信实体是指可以扮演角色的实体用户身份。创建角色时必须指定可信实体,角色只能被受信的实体扮演。可信实体可以是受信的阿里云账号、受信的阿里云服务或身份提供商。
- 扮演角色:扮演角色是实体用户获取角色身份的安全令牌的方法。一个实体用户调用STS API AssumeRole可以获得角色的安全令牌,使用安全令牌可以访问云服务API。
- 角色令牌:角色令牌是角色身份的一种临时访问密钥。角色身份没有确定的访问密钥,当一个实体用户要使用角色时,必须通过扮演角色来获取对应的角色令牌,然后使用角色令牌来调用阿里云服务API。
最后更新于 2021-11-02 11:27:09 并被添加「」标签,已有 1288 位童鞋阅读过。
本站使用「署名 4.0 国际」创作共享协议,可自由转载、引用,但需署名作者且注明文章出处
此处评论已关闭