《大话华为云OBS+IAM权限控制》连载 (十五):“IAM的OBS访问控制” 与 “OBS桶自身的访问控制” 有何异同
华为云OBS服务的资源包括 桶(Bucket)和 对象(Object),我们可以通过“IAM的OBS访问控制”和“OBS桶自身的访问控制”两种方式实现OBS资源的访问控制。
做一个简单类比,IAM的OBS访问控制是中央级管控,OBS桶自身的访问控制是地方级管控,分别对应于连载(一)中“客户申请使用某个S云服务资源的流程”的步骤2和步骤5。但无论是“中央”还是“地方”都需要使用统一的身份证系统(IAM用户管理体系),即OBS自身的权限控制也需要使用IAM账户ID和IAM用户ID。一个用户使用OBS服务的资源,必须要先后依次通过IAM控制关卡和OBS自身控制关卡,一处不过都无法使用OBS资源。
两种控制方式的相似点:
IAM的OBS访问控制 和 OBS桶的自身访问控制,都包括粗粒度和细粒度两种规则方式。IAM的粗粒度和细粒度权限控制见“IAM权限”连载所述,OBS桶的粗/细粒度权限控制如下图所示:
两种OBS访问控制方式的JSON格式定义都是由基本的 Statement 来构成,每个Statement都可包含 Effect、Action、Resource、Condition 这几个key,并且这些Key的含义也基本类似,如下图所示:
两种控制方式在细粒度授权方面存在以下显著的不同
IAM的OBS细粒度权限可直接授权给IAM用户组,而OBS桶的自身细粒度规则目标只能是一个或者多个IAM用户,对于多用户场景创建和维护的效率较低,如下图所示:
IAM的OBS细粒度访问控制权限可以包含60个Bucket+Object动作规则,而OBS桶自身的细粒度策略中,支持的Bucket+Object动作规则只有34个,如下图所示。这也就意味着IAM的OBS细粒度权限精细度更高
IAM的OBS细粒度权限还支持“列举所有桶”操作的权限控制,而这样的全局性操作控制在OBS桶的自身高级策略中是不支持的
OBS桶的自定义桶策略,设定的Bucket访问权限只能针对该桶自己,而一条IAM的OBS细粒度权限则可以同时适配多个目标OBS桶
OBS桶的自定义桶策略,只能控制IAM用户的OBS访问权限,而不能控制其他云服务对OBS资源的访问权限的。IAM的OBS细粒度权限则可以通过委托授权来控制其他云服务对于OBS资源的访问权限,可参见“白话理解被委托方是云服务的IAM委托”连载
—— 基于上述对比,优先建议使用IAM的OBS权限控制方式。
- 点赞
- 收藏
- 关注作者
评论(0)