云采用框架-精细化权限控制
精细化权限控制
在安全合规要求日趋严格的情况下,企业需要采用精细化权限控制手段授予用户足够履行其职责的最小权限。企业利用这些细粒度授权方法可以精确设置访问控制的5 个要素:Who、What、How、Where、When。Who 表示谁可以访问云资源,What 表示可以访问哪些云资源,How 表示有权执行该资源的哪些操作,Where 表示允许用户从哪里访问,When 则表示允许访问的时间段。细粒度授权体现在以下三个方面:
- 细粒度资源:授权时可以指定特定的资源组甚至单个资源,而不是把租户内所有的资源都授权出去,这个可以通过企业项目、标签等方式来限定授权的资源范围。如果需要授权特定资源,可以先把这些资源归集到一个企业项目或者打上一个标签,然后按照企业项目或标签来设置权限。
- 细粒度操作:将云资源的读、写、列表等操作进一步细化,对其细化操作进行鉴权,并将这些细化操作变成可供用户配置的权限操作。以云主机为例,将其读操作细化为读取规格、读取标签、读取服务器详情、读取挂载的磁盘、读取网卡等细粒度操作,这些细粒度操作在用户配置权限的时候是可以自由选择的,这样就可以将权限控制到用户所需的最小操作集合。
- 细粒度属性:ABAC(Attribute-based Access Control)相比 RBAC(Role-Based Access Control)更加灵活和精细,您可以在权限设置的时候附加各种基于属性的条件,在权限判定的时候检查当前的访问请求是否满足这些属性所对应的条件,满足条件时才允许访问。这些属性通常包含五大类:一是身份属性,比如用户姓名、是否启用 MFA 、是否根用户等;二是网络属性,比如源IP地址、源VPC ID等;三是资源的属性,比如资源的标签、资源名称等;四是时间属性,比如访问时间、Token的签发时间等;五是环境属性,比如访问请求来自哪个账号,目标资源位于哪个账号等。您可以在这个链接查看华为云当前支持的全局级条件键和服务级条件键。通过 ABAC 可以更细粒度地设置访问控制的权限,例如运维人员张三只有启用了 MFA 认证后并且只能在晚上 12 点后、凌晨 4 点之前对指定的E CS 实例进行关机和重启操作。