ABAC概述和配置流程
ABAC概述
基于属性的访问控制(ABAC)是一种授权策略,该策略基于用户属性来定义权限。您可以使用IAM身份中心或外部身份提供商等不同身份源的用户属性,在IAM身份中心管理用户对华为云资源的访问权限。用户属性也可以称之为标签,使用用户属性作为标签可以帮助您简化在华为云中创建细粒度权限的过程,并确保用户只能获得具有匹配标签的华为云资源相关权限,实现更精细的权限管理。
例如,您可以将两个不同用户User_A和User_B关联相同的权限集,然后基于用户的显示名属性来进行访问控制。当User_A和User_B登录用户门户访问此权限集定义的资源时,IAM身份中心会将他们的显示名与资源的标签值进行匹配,只有当他们的显示名与资源上的添加的标签值匹配时,User_A和User_B才能访问该资源。如果User_A后续不再需要访问此权限集下的某些资源,您只需修改这些资源的标签即可使User_A失去访问权限,而无需更新任何权限集配置。
基于属性的访问控制还有助于减少您需要在IAM身份中心中创建和管理的权限集数量,因为与相同权限集关联的用户现在可以根据其用户属性拥有唯一权限。您可以在权限集中使用这些用户属性,以实现对华为云资源基于用户属性的访问控制,并在规模上简化权限管理。
使用ABAC的优势
- ABAC需要的权限集更少:由于您不必为不同的用户创建不同的权限集,因此可以减少权限集数量,这将降低权限管理的复杂性。
- 使用ABAC,团队可以快速变化和成长:在创建资源时为其添加适当的标签,系统会根据用户属性自动授予新建资源的权限。
- 通过ABAC使用企业目录中的员工属性:您可以使用IAM身份中心配置的任何身份源的现有员工属性在华为云中做出访问控制决策。
ABAC配置流程
如下表格包括准备华为云资源和配置IAM身份中心以进行ABAC访问控制所需的操作,使用ABAC需完成此表格中的各项操作。
步骤 |
说明 |
参考文档 |
---|---|---|
为资源添加标签 |
要在IAM身份中心中实施ABAC,您首先要为需要实施ABAC的资源添加标签。资源标签的值要与用户属性设置一致,这样才能在权限策略中匹配成功,从而使访问控制策略生效。 例如您需要使用用户的用户名属性进行访问控制,用户的用户名为“User1”,那么您给资源添加的标签值也需为“User1”。 |
|
配置身份源 |
IAM身份中心当前支持两种身份源:IAM身份中心和外部身份提供商。两种身份源的用户属性均支持实施ABAC,您可以在IAM身份中心切换两种身份源。 |
|
在IAM身份中心启用并配置ABAC |
|
|
为ABAC创建权限策略 |
在权限集中创建自定义身份策略,并使用访问控制属性创建ABAC相关规则,用于控制用户只能访问带有匹配标签的资源。您在上一步中添加的用户属性用作访问控制决策的标签,您可以使用“PrincipalTag/key”条件键引用权限策略中的访问控制属性。 |
|
账号关联用户/组和权限集 |
将相关账号和IAM身份中心用户与上一步创建的权限集关联,这样用户登录用户门户访问关联账号下的资源时,只能访问基于用户属性匹配标签的资源。 |
|
用户登录并访问资源 |
完成以上步骤后,关联相关账号和权限集的IAM身份中心用户登录用户门户,将根据匹配的用户属性获得相应资源的访问权限。 |