更新时间:2026-09-23 GMT+08:00

身份策略与资源策略的关系

本文为您介绍华为云身份策略与资源策略的关系。

身份策略

身份策略包含多个元素定义的权限,可以精确到具体操作、资源、条件等,详情请参见身份策略语法。使用基于身份策略的授权是一种更加灵活的授权方式,能够满足企业对权限最小化的安全管控要求。身份策略可以绑定到IAM用户、用户组、委托、信任委托上,这些策略可以让您指定主体可以执行哪些操作。例如,您可以将身份策略绑定到名为developer的IAM用户上,以允许他执行华为云上ECS的ecs:blockDevice:get操作。

资源策略

资源策略不同于身份策略,它可以绑定到华为云的某个资源上(需要该资源支持资源策略)。例如,信任委托就是一种支持资源策略的资源,绑定到它身上的信任策略就是一种资源策略,您可以在创建信任委托时编写信任策略以允许指定的主体能够切换到该信任委托。要查看支持资源策略的服务列表,请参考支持身份策略与信任委托的云服务列表中的“基于资源的策略”。

通过使用资源策略,您可以指定哪些主体有权访问该资源,以及它们可以对资源执行哪些操作。

身份策略与资源策略的区别

身份策略

如下图所示,Account A账号下创建了三个IAM User —— engineer、finance、operation,在该账号下存在三个资源Resource A、Resource B、Resource C。账号的管理员将身份策略绑定到engineer、finance、operation,可对这些特定的资源执行策略中的一些操作,例如engineer可以对Resource A执行List操作,但是不能对Resource B执行List操作。finance可以对Resource B执行Read操作,operation可以对Resource C执行List和Read操作。

图1 使用身份策略访问同账号资源

资源策略

如下图所示,Account A账号下创建了三个IAM User —— engineer、finance、operation,Account B账号下创建了三个资源Resource A、Resource B、Resource C。Account A的账号管理员将身份策略绑定到engineer、finance、operation,可对这些特定的资源执行策略中的一些操作,例如engineer可以对Resource A执行List操作,但是不能对Resource B执行List操作。finance可以对Resource B执行Read操作,operation可以对Resource C执行List和Read操作。Account B的账号管理员将资源策略绑定到Resource A、Resource B、Resource C,例如Resource A允许engineer List操作,Resource B允许engineer List和finance Read操作,Resource C允许operation Read操作。基于以上权限配置,Account A的engineer可以对Account B的Resource A执行List操作,但是无法对Resource B执行List操作;Account A的finance可以对Account B的Resource B执行Read操作,但是无法对Resource B执行List操作;Account A的operation可以对Account B的Resource C执行Read操作,但是无法对Resource C执行List操作。

图2 使用身份策略和资源策略访问跨账号资源

身份策略和资源策略都属于权限策略,并且将一起评估,访问本账号的资源一般只需要身份策略或资源策略允许即可对该资源执行相应的操作,例如资源策略中的OBS桶策略允许即可访问(但是IAM信任策略例外,信任策略也是一种资源策略,但是仍然需要身份策略和信任策略同时允许才能访问)。访问跨账号资源则需要身份策略和资源策略同时允许才可以对该资源执行相应的操作。详情请参见IAM策略评估逻辑